easy-claude-help
easy-claude-help
[Utilities] Configuration guide for the easy-claude framework — explain available settings, guide user/AI through configuring .claude/.ck.json.
When to Use
- User asks "how do I configure Claude?", "how do I disable workflow confirmations?", "how do I turn off hooks?"
- User wants to know what settings are available in easy-claude
- User says "configure workflow mode", "set power user mode", "disable workflow detection"
- AI needs to help user update their
.claude/.ck.jsonconfiguration
Quick Reference
Config File Location
~/.claude/.ck.json ← global (applies to all projects)
.claude/.ck.json ← project (shared, committed to git)
.claude/.ck.local.json ← personal override (gitignored, per-developer)
Each layer overrides the previous via deep merge — you only need to set values you want to override. Use .ck.local.json for personal preferences that shouldn't be committed (e.g., your own codingLevel or workflow.confirmationMode).
Key Settings
1. Workflow Confirmation Mode
Controls whether workflow detection requires user confirmation before activating.
Location: .claude/.ck.json → workflow.confirmationMode
| Value | Behavior |
|---|---|
"always" |
(default) Always asks via AskUserQuestion before activating any workflow. Collaborative mode — best for most users. |
"never" |
Auto-executes detected workflow without asking. Use quick: prefix behavior globally. Best for power users who trust the detection. |
"off" |
Disables workflow detection entirely. Plain Claude behavior — no catalog injection, no confirmation gate, no overhead. |
Example — disable confirmation gate:
{
"workflow": {
"confirmationMode": "never"
}
}
Example — full opt-out (plain Claude):
{
"workflow": {
"confirmationMode": "off"
}
}
Tip: Even in
"always"mode, you can prefix any prompt withquick:to skip confirmation for that prompt only (e.g.,quick: review the auth code).
2. Coding Level
Controls the response style and verbosity level. Affects how Claude explains things.
Location: .claude/.ck.json → codingLevel
| Value | Style |
|---|---|
-1 |
(default) Disabled — no style injection |
0 |
ELI5 — explain like I'm 5 |
1 |
Junior developer |
2 |
Mid-level developer |
3 |
Senior developer |
4 |
Tech lead |
5 |
Expert/God mode — minimal explanation |
Example:
{
"codingLevel": 4
}
3. Language Settings
Configure Claude's thinking and response language.
Location: .claude/.ck.json → locale
{
"locale": {
"thinkingLanguage": "en",
"responseLanguage": "fr"
}
}
4. Assertions
Custom instructions injected into every session as reminders.
Location: .claude/.ck.json → assertions
{
"assertions": ["Always use TypeScript strict mode", "Prefer functional components over class components"]
}
5. Plan & Naming
Control plan file naming format and date pattern.
Location: .claude/.ck.json → plan
{
"plan": {
"namingFormat": "{date}-{issue}-{slug}",
"dateFormat": "YYMMDD-HHmm",
"issuePrefix": "GH-"
}
}
6. Paths
Override where plans and docs are stored.
Location: .claude/.ck.json → paths
{
"paths": {
"docs": "docs",
"plans": "plans"
}
}
7. Reference Docs Staleness
Controls how old reference docs can be before the staleness gate activates.
Location: .claude/.ck.json → referenceDocs.staleDays
| Value | Behavior |
|---|---|
60 |
(default) Warn after 60 days, block prompts until scanned or dismissed |
1-365 |
Custom threshold in days |
Example — relax to 90 days:
{
"referenceDocs": {
"staleDays": 90
}
}
How it works:
- On session start, checks
<!-- Last scanned: YYYY-MM-DD -->in each reference doc - If any doc is older than
staleDays, shows a warning listing stale docs - On next prompt, blocks until you run
/scan-all,/scan-*, or typeskip scan skip scandismisses the gate for 24 hours
Tip: Run
/scan-allto refresh all 10 reference docs at once.
Quick Configuration Examples
Power User Setup (minimal overhead)
{
"workflow": {
"confirmationMode": "never"
},
"codingLevel": 5
}
Opt-out Setup (plain Claude)
{
"workflow": {
"confirmationMode": "off"
}
}
Team Setup (collaborative, Vietnamese responses)
{
"workflow": {
"confirmationMode": "always"
},
"codingLevel": 3,
"locale": {
"responseLanguage": "vi"
}
}
How to Apply Config
Default: always use .claude/.ck.local.json (personal, gitignored) unless the user explicitly says "update project config", "update shared config", or "update .ck.json".
AI Config Update Protocol
- Default →
.claude/.ck.local.json(personal override, not committed to git)- Read current local config:
Read .claude/.ck.local.json - If file doesn't exist, create it with only the desired settings
- If file exists, merge the new settings (preserve existing keys)
- Read current local config:
- Only if user explicitly requests →
.claude/.ck.json(shared, committed to git)- Use when user says "update project config", "share with team", "commit this setting"
- Confirm to user what was changed and which file was updated
Config changes take effect on the next prompt (no restart needed).
.ck.local.jsonoverrides.ck.jsonvia deep merge — safe for personal preferences without affecting teammates.
Schema Validation
.ck.json files are validated on load. Invalid values (wrong types, out-of-range numbers, unknown keys) emit stderr warnings but never block — config loading uses graceful degradation.
What gets checked:
confirmationModemust be one of"always","never","off"codingLevelmust be a number between -1 and 5assertionsmust be an array of strings- Unknown top-level keys produce warnings (catches typos like
workfow)
CLI validation command:
node .claude/hooks/lib/ck-config-schema.cjs .claude/.ck.json
Workflow Settings (Advanced)
The workflow catalog itself lives in .claude/workflows.json. You can:
- Set
settings.enabled: falseto disable workflow injection entirely - Change
settings.overridePrefix(default"quick:") for the per-prompt skip prefix
Note: Prefer
.ck.json → workflow.confirmationModeover editingworkflows.jsondirectly, as.ck.jsonsupports global+local cascading.
Code Review Graph (Structural Code Intelligence)
Optional feature that builds a knowledge graph of your codebase for graph-blast-radius analysis and smarter code reviews.
Setup: pip install tree-sitter tree-sitter-language-pack networkx then /graph-build
Skills:
| Skill | Purpose |
|---|---|
/graph-build |
Build or update the knowledge graph |
/graph-blast-radius |
Analyze impact of current changes |
/graph-export |
Export graph to JSON |
/graph-connect-api |
Detect frontend→backend API connections |
/graph-query |
Query code relationships (callers, imports, tests) |
/graph-export-mermaid |
Export single-file graph as Mermaid diagram |
Auto-features (when graph is built):
- Session start: shows graph status
- Review skills: auto-inject blast radius analysis
- File edits: auto-update graph in background
Frontend→Backend API detection: Auto-configured by /project-config when both frontend and backend are detected. Or manually add graphConnectors to docs/project-config.json.
Docs: .claude/docs/code-graph-mechanism.md for detailed architecture.