thanh-kit 2.5.1 → 2.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +50 -61
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/{commands → command-archive}/ask.md +5 -5
- package/templates/{commands → command-archive}/ck-help.md +18 -2
- package/templates/command-archive/docs/init.md +38 -0
- package/templates/command-archive/docs/summarize.md +22 -0
- package/templates/command-archive/docs/update.md +76 -0
- package/templates/command-archive/journal.md +18 -0
- package/templates/{commands → command-archive}/kanban.md +5 -7
- package/templates/{commands → command-archive}/plan/archive.md +2 -2
- package/templates/command-archive/plan/red-team.md +200 -0
- package/templates/command-archive/plan/validate.md +188 -0
- package/templates/command-archive/preview.md +283 -0
- package/templates/command-archive/review/codebase/parallel.md +122 -0
- package/templates/{commands → command-archive}/test/ui.md +3 -3
- package/templates/{commands → command-archive}/use-mcp.md +6 -2
- package/templates/command-archive/worktree.md +109 -0
- package/templates/{workflows → rules}/development-rules.md +12 -53
- package/templates/rules/orchestration-protocol.md +43 -0
- package/templates/{workflows → rules}/primary-workflow.md +16 -4
- package/templates/rules/team-coordination-rules.md +90 -0
- package/templates/schemas/ck-config.schema.json +381 -0
- package/templates/commands/README.md +0 -251
- package/templates/commands/bootstrap/auto/fast.md +0 -111
- package/templates/commands/bootstrap/auto/parallel.md +0 -66
- package/templates/commands/bootstrap/auto.md +0 -115
- package/templates/commands/bootstrap.md +0 -137
- package/templates/commands/brainstorm.md +0 -74
- package/templates/commands/build.md +0 -39
- package/templates/commands/checkpoint.md +0 -156
- package/templates/commands/code/auto.md +0 -170
- package/templates/commands/code/no-test.md +0 -158
- package/templates/commands/code/parallel.md +0 -55
- package/templates/commands/code-simplifier.md +0 -71
- package/templates/commands/code.md +0 -176
- package/templates/commands/compact.md +0 -57
- package/templates/commands/content/cro.md +0 -43
- package/templates/commands/content/enhance.md +0 -14
- package/templates/commands/content/fast.md +0 -13
- package/templates/commands/content/good.md +0 -16
- package/templates/commands/context.md +0 -48
- package/templates/commands/cook/auto/fast.md +0 -26
- package/templates/commands/cook/auto/parallel.md +0 -49
- package/templates/commands/cook/auto.md +0 -15
- package/templates/commands/cook/fast.md +0 -47
- package/templates/commands/cook/hard.md +0 -80
- package/templates/commands/cook/parallel.md +0 -90
- package/templates/commands/cook.md +0 -105
- package/templates/commands/create-feature.md +0 -48
- package/templates/commands/db-migrate.md +0 -52
- package/templates/commands/debug.md +0 -13
- package/templates/commands/design/3d.md +0 -83
- package/templates/commands/design/describe.md +0 -23
- package/templates/commands/design/fast.md +0 -31
- package/templates/commands/design/good.md +0 -35
- package/templates/commands/design/screenshot.md +0 -34
- package/templates/commands/design/video.md +0 -34
- package/templates/commands/docs/init.md +0 -39
- package/templates/commands/docs/summarize.md +0 -31
- package/templates/commands/docs/update.md +0 -57
- package/templates/commands/feature.md +0 -62
- package/templates/commands/fix/ci.md +0 -17
- package/templates/commands/fix/fast.md +0 -19
- package/templates/commands/fix/hard.md +0 -39
- package/templates/commands/fix/logs.md +0 -26
- package/templates/commands/fix/parallel.md +0 -54
- package/templates/commands/fix/test.md +0 -20
- package/templates/commands/fix/types.md +0 -9
- package/templates/commands/fix/ui.md +0 -48
- package/templates/commands/fix-issue.md +0 -177
- package/templates/commands/fix.md +0 -43
- package/templates/commands/generate-dto.md +0 -67
- package/templates/commands/git/cm.md +0 -5
- package/templates/commands/git/cp.md +0 -4
- package/templates/commands/git/merge.md +0 -40
- package/templates/commands/git/pr.md +0 -48
- package/templates/commands/integrate/polar.md +0 -28
- package/templates/commands/integrate/sepay.md +0 -28
- package/templates/commands/investigate.md +0 -324
- package/templates/commands/journal.md +0 -7
- package/templates/commands/lint.md +0 -47
- package/templates/commands/migration.md +0 -111
- package/templates/commands/performance.md +0 -110
- package/templates/commands/plan/ci.md +0 -33
- package/templates/commands/plan/cro.md +0 -69
- package/templates/commands/plan/fast.md +0 -86
- package/templates/commands/plan/hard.md +0 -103
- package/templates/commands/plan/parallel.md +0 -152
- package/templates/commands/plan/preview.md +0 -40
- package/templates/commands/plan/two.md +0 -52
- package/templates/commands/plan/validate.md +0 -132
- package/templates/commands/plan.md +0 -36
- package/templates/commands/pr.md +0 -49
- package/templates/commands/preview.md +0 -87
- package/templates/commands/release-notes.md +0 -144
- package/templates/commands/review/post-task.md +0 -157
- package/templates/commands/review-changes.md +0 -46
- package/templates/commands/review.md +0 -56
- package/templates/commands/scout/ext.md +0 -35
- package/templates/commands/scout.md +0 -283
- package/templates/commands/security.md +0 -119
- package/templates/commands/skill/add.md +0 -36
- package/templates/commands/skill/create.md +0 -29
- package/templates/commands/skill/fix-logs.md +0 -22
- package/templates/commands/skill/optimize/auto.md +0 -25
- package/templates/commands/skill/optimize.md +0 -34
- package/templates/commands/skill/plan.md +0 -45
- package/templates/commands/worktree.md +0 -126
- package/templates/memory/session-log.md +0 -186
- package/templates/router/README.md +0 -294
- package/templates/router/agents-guide.md +0 -38
- package/templates/router/commands-guide.md +0 -122
- package/templates/router/decision-flow.md +0 -92
- package/templates/router/skills-guide.md +0 -127
- package/templates/router/workflows-guide.md +0 -68
- package/templates/workflows/README.md +0 -241
- package/templates/workflows/orchestration-protocol.md +0 -16
- /package/templates/{commands → command-archive}/coding-level.md +0 -0
- /package/templates/{commands → command-archive}/review/codebase.md +0 -0
- /package/templates/{commands → command-archive}/test.md +0 -0
- /package/templates/{commands → command-archive}/watzup.md +0 -0
- /package/templates/{workflows → rules}/documentation-management.md +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Orchestration Protocol
|
|
2
|
+
|
|
3
|
+
## Delegation Context (MANDATORY)
|
|
4
|
+
|
|
5
|
+
When spawning subagents via Task tool, **ALWAYS** include in prompt:
|
|
6
|
+
|
|
7
|
+
1. **Work Context Path**: The git root of the PRIMARY files being worked on
|
|
8
|
+
2. **Reports Path**: `{work_context}/plans/reports/` for that project
|
|
9
|
+
3. **Plans Path**: `{work_context}/plans/` for that project
|
|
10
|
+
|
|
11
|
+
**Example:**
|
|
12
|
+
```
|
|
13
|
+
Task prompt: "Fix parser bug.
|
|
14
|
+
Work context: /path/to/project-b
|
|
15
|
+
Reports: /path/to/project-b/plans/reports/
|
|
16
|
+
Plans: /path/to/project-b/plans/"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**Rule:** If CWD differs from work context (editing files in different project), use the **work context paths**, not CWD paths.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
#### Sequential Chaining
|
|
24
|
+
Chain subagents when tasks have dependencies or require outputs from previous steps:
|
|
25
|
+
- **Planning → Implementation → Simplification → Testing → Review**: Use for feature development (tests verify simplified code)
|
|
26
|
+
- **Research → Design → Code → Documentation**: Use for new system components
|
|
27
|
+
- Each agent completes fully before the next begins
|
|
28
|
+
- Pass context and outputs between agents in the chain
|
|
29
|
+
|
|
30
|
+
#### Parallel Execution
|
|
31
|
+
Spawn multiple subagents simultaneously for independent tasks:
|
|
32
|
+
- **Code + Tests + Docs**: When implementing separate, non-conflicting components
|
|
33
|
+
- **Multiple Feature Branches**: Different agents working on isolated features
|
|
34
|
+
- **Cross-platform Development**: iOS and Android specific implementations
|
|
35
|
+
- **Careful Coordination**: Ensure no file conflicts or shared resource contention
|
|
36
|
+
- **Merge Strategy**: Plan integration points before parallel execution begins
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Agent Teams (Optional)
|
|
41
|
+
|
|
42
|
+
For multi-session parallel collaboration, activate the `/team` skill.
|
|
43
|
+
Not part of the default orchestration workflow. See `.claude/skills/team/SKILL.md` for templates, decision criteria, and spawn instructions.
|
|
@@ -14,17 +14,18 @@
|
|
|
14
14
|
- **[IMPORTANT]** After creating or modifying code file, run compile command/script to check for any compile errors.
|
|
15
15
|
|
|
16
16
|
#### 2. Testing
|
|
17
|
-
- Delegate to `tester` agent to run tests
|
|
17
|
+
- Delegate to `tester` agent to run tests on the **simplified code**
|
|
18
18
|
- Write comprehensive unit tests
|
|
19
19
|
- Ensure high code coverage
|
|
20
20
|
- Test error scenarios
|
|
21
21
|
- Validate performance requirements
|
|
22
|
-
- Tests
|
|
22
|
+
- Tests verify the FINAL code that will be reviewed and merged
|
|
23
|
+
- **DO NOT** ignore failing tests just to pass the build.
|
|
23
24
|
- **IMPORTANT:** make sure you don't use fake data, mocks, cheats, tricks, temporary solutions, just to pass the build or github actions.
|
|
24
25
|
- **IMPORTANT:** Always fix failing tests follow the recommendations and delegate to `tester` agent to run tests again, only finish your session when all tests pass.
|
|
25
26
|
|
|
26
27
|
#### 3. Code Quality
|
|
27
|
-
- After
|
|
28
|
+
- After testing passes, delegate to `code-reviewer` agent to review clean, tested code.
|
|
28
29
|
- Follow coding standards and conventions
|
|
29
30
|
- Write self-documenting code
|
|
30
31
|
- Add meaningful comments for complex logic
|
|
@@ -42,4 +43,15 @@
|
|
|
42
43
|
- When a user report bugs or issues on the server or a CI/CD pipeline, delegate to `debugger` agent to run tests and analyze the summary report.
|
|
43
44
|
- Read the summary report from `debugger` agent and implement the fix.
|
|
44
45
|
- Delegate to `tester` agent to run tests and analyze the summary report.
|
|
45
|
-
- If the `tester` agent reports failed tests, fix them follow the recommendations and repeat from the **Step
|
|
46
|
+
- If the `tester` agent reports failed tests, fix them follow the recommendations and repeat from the **Step 3**.
|
|
47
|
+
|
|
48
|
+
#### 6. Visual Explanations
|
|
49
|
+
When explaining complex code, protocols, or architecture:
|
|
50
|
+
- **When to use:** User asks "explain", "how does X work", "visualize", or topic has 3+ interacting components
|
|
51
|
+
- Use `/preview --explain <topic>` to generate visual explanation with ASCII + Mermaid
|
|
52
|
+
- Use `/preview --diagram <topic>` for architecture and data flow diagrams
|
|
53
|
+
- Use `/preview --slides <topic>` for step-by-step walkthroughs
|
|
54
|
+
- Use `/preview --ascii <topic>` for terminal-friendly output only
|
|
55
|
+
- **Plan context:** Visuals save to plan folder from `## Plan Context` hook injection; if none, uses `plans/visuals/`
|
|
56
|
+
- Auto-opens in browser via markdown-novel-viewer with Mermaid rendering
|
|
57
|
+
- See `development-rules.md` → "Visual Aids" section for additional guidance
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Team Coordination Rules
|
|
2
|
+
|
|
3
|
+
> These rules only apply when operating as a teammate within an Agent Team.
|
|
4
|
+
> They have no effect on standard sessions or subagent workflows.
|
|
5
|
+
|
|
6
|
+
Rules for agents operating as teammates within an Agent Team.
|
|
7
|
+
|
|
8
|
+
## File Ownership (CRITICAL)
|
|
9
|
+
|
|
10
|
+
- Each teammate MUST own distinct files — no overlapping edits
|
|
11
|
+
- Define ownership via glob patterns in task descriptions: `File ownership: src/api/*, src/models/*`
|
|
12
|
+
- Lead resolves ownership conflicts by restructuring tasks or handling shared files directly
|
|
13
|
+
- Tester owns test files only; reads implementation files but never edits them
|
|
14
|
+
- If ownership violation detected: STOP and report to lead immediately
|
|
15
|
+
|
|
16
|
+
## Git Safety
|
|
17
|
+
|
|
18
|
+
- Prefer git worktrees for implementation teams — each dev in own worktree eliminates conflicts
|
|
19
|
+
- Never force-push from a teammate session
|
|
20
|
+
- Commit frequently with descriptive messages
|
|
21
|
+
- Pull before push to catch merge conflicts early
|
|
22
|
+
- If working in a git worktree, commit/push to the worktree branch — not main or dev
|
|
23
|
+
|
|
24
|
+
## Communication Protocol
|
|
25
|
+
|
|
26
|
+
- Use `SendMessage(type: "message")` for peer DMs — always specify recipient by name
|
|
27
|
+
- Use `SendMessage(type: "broadcast")` ONLY for critical blocking issues affecting entire team
|
|
28
|
+
- Mark tasks completed via `TaskUpdate` BEFORE sending completion message to lead
|
|
29
|
+
- Include actionable findings in messages, not just "I'm done"
|
|
30
|
+
- Never send structured JSON status messages — use plain text
|
|
31
|
+
|
|
32
|
+
## CK Stack Conventions
|
|
33
|
+
|
|
34
|
+
### Report Output
|
|
35
|
+
- Save reports to `{CK_REPORTS_PATH}` (injected via hook, fallback: `plans/reports/`)
|
|
36
|
+
- Naming: `{type}-{date}-{slug}.md` where type = your role (researcher, reviewer, debugger)
|
|
37
|
+
- Sacrifice grammar for concision. List unresolved questions at end.
|
|
38
|
+
|
|
39
|
+
### Commit Messages
|
|
40
|
+
- Use conventional commits: `feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`
|
|
41
|
+
- No AI references in commit messages
|
|
42
|
+
- Keep commits focused on actual code changes
|
|
43
|
+
|
|
44
|
+
### Docs Sync (Implementation Teams Only)
|
|
45
|
+
- After completing implementation tasks, lead MUST evaluate docs impact
|
|
46
|
+
- State explicitly: `Docs impact: [none|minor|major]`
|
|
47
|
+
- If impact: update `docs/` directory or note in completion message
|
|
48
|
+
|
|
49
|
+
## Task Claiming
|
|
50
|
+
|
|
51
|
+
- Claim lowest-ID unblocked task first (earlier tasks set up context for later ones)
|
|
52
|
+
- Check `TaskList` after completing each task for newly unblocked work
|
|
53
|
+
- Set task to `in_progress` before starting work
|
|
54
|
+
- If all tasks blocked, notify lead and offer to help unblock
|
|
55
|
+
|
|
56
|
+
## Plan Approval Flow
|
|
57
|
+
|
|
58
|
+
When `plan_mode_required` is set:
|
|
59
|
+
1. Research and plan your approach (read-only — no file edits)
|
|
60
|
+
2. Send plan via `ExitPlanMode` — this triggers approval request to lead
|
|
61
|
+
3. Wait for lead's `plan_approval_response`
|
|
62
|
+
4. If rejected: revise based on feedback, resubmit
|
|
63
|
+
5. If approved: proceed with implementation
|
|
64
|
+
|
|
65
|
+
## Conflict Resolution
|
|
66
|
+
|
|
67
|
+
- If two teammates need the same file: escalate to lead immediately
|
|
68
|
+
- If a teammate's plan is rejected twice: lead takes over that task
|
|
69
|
+
- If findings conflict between reviewers: lead synthesizes and documents disagreement
|
|
70
|
+
- If blocked by another teammate's incomplete work: message them directly first, escalate to lead if unresponsive
|
|
71
|
+
|
|
72
|
+
## Shutdown Protocol
|
|
73
|
+
|
|
74
|
+
- Approve shutdown requests unless mid-critical-operation
|
|
75
|
+
- Always mark current task as completed before approving shutdown
|
|
76
|
+
- If rejecting shutdown, explain why concisely
|
|
77
|
+
- Extract `requestId` from shutdown request JSON and pass to `shutdown_response`
|
|
78
|
+
|
|
79
|
+
## Idle State (Normal Behavior)
|
|
80
|
+
|
|
81
|
+
- Going idle after sending a message is NORMAL — not an error
|
|
82
|
+
- Idle means waiting for input, not disconnected
|
|
83
|
+
- Sending a message to an idle teammate wakes them up
|
|
84
|
+
- Do not treat idle notifications as completion signals — check task status instead
|
|
85
|
+
|
|
86
|
+
## Discovery
|
|
87
|
+
|
|
88
|
+
- Read team config at `~/.claude/teams/{team-name}/config.json` to discover teammates
|
|
89
|
+
- Always refer to teammates by NAME (not agent ID)
|
|
90
|
+
- Names are used for: `recipient` in SendMessage, task `owner` in TaskUpdate
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://claudekit.cc/schemas/ck-config.schema.json",
|
|
4
|
+
"title": "ClaudeKit Configuration",
|
|
5
|
+
"description": "Configuration schema for ClaudeKit Engineer .ck.json files",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "JSON Schema reference for editor autocompletion"
|
|
11
|
+
},
|
|
12
|
+
"codingLevel": {
|
|
13
|
+
"type": "integer",
|
|
14
|
+
"minimum": -1,
|
|
15
|
+
"maximum": 3,
|
|
16
|
+
"default": -1,
|
|
17
|
+
"description": "User coding experience level: -1=auto, 0=beginner, 1=intermediate, 2=advanced, 3=expert"
|
|
18
|
+
},
|
|
19
|
+
"privacyBlock": {
|
|
20
|
+
"type": "boolean",
|
|
21
|
+
"default": true,
|
|
22
|
+
"description": "Enable privacy block hook to protect sensitive files (.env, credentials, etc.)"
|
|
23
|
+
},
|
|
24
|
+
"docs": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"description": "Documentation settings",
|
|
27
|
+
"properties": {
|
|
28
|
+
"maxLoc": {
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"minimum": 100,
|
|
31
|
+
"maximum": 5000,
|
|
32
|
+
"default": 800,
|
|
33
|
+
"description": "Maximum lines of code per documentation file"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"additionalProperties": false
|
|
37
|
+
},
|
|
38
|
+
"plan": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "Plan naming and validation settings",
|
|
41
|
+
"properties": {
|
|
42
|
+
"namingFormat": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"default": "{date}-{issue}-{slug}",
|
|
45
|
+
"description": "Format for plan directory names. Variables: {date}, {issue}, {slug}"
|
|
46
|
+
},
|
|
47
|
+
"dateFormat": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"default": "YYMMDD-HHmm",
|
|
50
|
+
"description": "Date format for plan names (moment.js format)"
|
|
51
|
+
},
|
|
52
|
+
"issuePrefix": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"default": "GH-",
|
|
55
|
+
"description": "Prefix for issue references (e.g., GH-, JIRA-)"
|
|
56
|
+
},
|
|
57
|
+
"reportsDir": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"default": "reports",
|
|
60
|
+
"description": "Subdirectory name for reports within plans"
|
|
61
|
+
},
|
|
62
|
+
"resolution": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"description": "Plan resolution settings",
|
|
65
|
+
"properties": {
|
|
66
|
+
"order": {
|
|
67
|
+
"type": "array",
|
|
68
|
+
"items": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"enum": [
|
|
71
|
+
"session",
|
|
72
|
+
"branch",
|
|
73
|
+
"directory"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"default": [
|
|
77
|
+
"session",
|
|
78
|
+
"branch"
|
|
79
|
+
],
|
|
80
|
+
"description": "Order of resolution strategies for plan context"
|
|
81
|
+
},
|
|
82
|
+
"branchPattern": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"default": "(?:feat|fix|chore|refactor|docs)/(?:[^/]+/)?(.+)",
|
|
85
|
+
"description": "Regex pattern to extract plan slug from branch name"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"additionalProperties": false
|
|
89
|
+
},
|
|
90
|
+
"validation": {
|
|
91
|
+
"type": "object",
|
|
92
|
+
"description": "Plan validation settings",
|
|
93
|
+
"properties": {
|
|
94
|
+
"mode": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"enum": [
|
|
97
|
+
"prompt",
|
|
98
|
+
"auto",
|
|
99
|
+
"strict",
|
|
100
|
+
"none"
|
|
101
|
+
],
|
|
102
|
+
"default": "prompt",
|
|
103
|
+
"description": "Validation mode: prompt=ask questions, auto=auto-validate, strict=require all, none=skip"
|
|
104
|
+
},
|
|
105
|
+
"minQuestions": {
|
|
106
|
+
"type": "integer",
|
|
107
|
+
"minimum": 0,
|
|
108
|
+
"maximum": 20,
|
|
109
|
+
"default": 3,
|
|
110
|
+
"description": "Minimum validation questions to ask"
|
|
111
|
+
},
|
|
112
|
+
"maxQuestions": {
|
|
113
|
+
"type": "integer",
|
|
114
|
+
"minimum": 1,
|
|
115
|
+
"maximum": 20,
|
|
116
|
+
"default": 8,
|
|
117
|
+
"description": "Maximum validation questions to ask"
|
|
118
|
+
},
|
|
119
|
+
"focusAreas": {
|
|
120
|
+
"type": "array",
|
|
121
|
+
"items": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"enum": [
|
|
124
|
+
"assumptions",
|
|
125
|
+
"risks",
|
|
126
|
+
"tradeoffs",
|
|
127
|
+
"architecture",
|
|
128
|
+
"security",
|
|
129
|
+
"performance",
|
|
130
|
+
"testing",
|
|
131
|
+
"dependencies"
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"default": [
|
|
135
|
+
"assumptions",
|
|
136
|
+
"risks",
|
|
137
|
+
"tradeoffs",
|
|
138
|
+
"architecture"
|
|
139
|
+
],
|
|
140
|
+
"description": "Focus areas for validation questions"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"additionalProperties": false
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"additionalProperties": false
|
|
147
|
+
},
|
|
148
|
+
"paths": {
|
|
149
|
+
"type": "object",
|
|
150
|
+
"description": "Directory paths configuration",
|
|
151
|
+
"properties": {
|
|
152
|
+
"docs": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"default": "docs",
|
|
155
|
+
"description": "Path to documentation directory"
|
|
156
|
+
},
|
|
157
|
+
"plans": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"default": "plans",
|
|
160
|
+
"description": "Path to plans directory"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"additionalProperties": false
|
|
164
|
+
},
|
|
165
|
+
"locale": {
|
|
166
|
+
"type": "object",
|
|
167
|
+
"description": "Language and locale settings",
|
|
168
|
+
"properties": {
|
|
169
|
+
"thinkingLanguage": {
|
|
170
|
+
"type": [
|
|
171
|
+
"string",
|
|
172
|
+
"null"
|
|
173
|
+
],
|
|
174
|
+
"default": null,
|
|
175
|
+
"description": "Language for Claude's thinking (null=English)"
|
|
176
|
+
},
|
|
177
|
+
"responseLanguage": {
|
|
178
|
+
"type": [
|
|
179
|
+
"string",
|
|
180
|
+
"null"
|
|
181
|
+
],
|
|
182
|
+
"default": null,
|
|
183
|
+
"description": "Language for Claude's responses (null=match user)"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"additionalProperties": false
|
|
187
|
+
},
|
|
188
|
+
"trust": {
|
|
189
|
+
"type": "object",
|
|
190
|
+
"description": "Trust mode settings for auto-approval",
|
|
191
|
+
"properties": {
|
|
192
|
+
"passphrase": {
|
|
193
|
+
"type": [
|
|
194
|
+
"string",
|
|
195
|
+
"null"
|
|
196
|
+
],
|
|
197
|
+
"default": null,
|
|
198
|
+
"description": "Passphrase to enable trust mode (null=disabled)"
|
|
199
|
+
},
|
|
200
|
+
"enabled": {
|
|
201
|
+
"type": "boolean",
|
|
202
|
+
"default": false,
|
|
203
|
+
"description": "Whether trust mode is currently enabled"
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"additionalProperties": false
|
|
207
|
+
},
|
|
208
|
+
"project": {
|
|
209
|
+
"type": "object",
|
|
210
|
+
"description": "Project type detection settings",
|
|
211
|
+
"properties": {
|
|
212
|
+
"type": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"enum": [
|
|
215
|
+
"auto",
|
|
216
|
+
"library",
|
|
217
|
+
"application",
|
|
218
|
+
"monorepo",
|
|
219
|
+
"cli",
|
|
220
|
+
"api",
|
|
221
|
+
"web",
|
|
222
|
+
"mobile"
|
|
223
|
+
],
|
|
224
|
+
"default": "auto",
|
|
225
|
+
"description": "Project type (auto=detect from package.json)"
|
|
226
|
+
},
|
|
227
|
+
"packageManager": {
|
|
228
|
+
"type": "string",
|
|
229
|
+
"enum": [
|
|
230
|
+
"auto",
|
|
231
|
+
"npm",
|
|
232
|
+
"yarn",
|
|
233
|
+
"pnpm",
|
|
234
|
+
"bun"
|
|
235
|
+
],
|
|
236
|
+
"default": "auto",
|
|
237
|
+
"description": "Package manager (auto=detect from lockfile)"
|
|
238
|
+
},
|
|
239
|
+
"framework": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"enum": [
|
|
242
|
+
"auto",
|
|
243
|
+
"react",
|
|
244
|
+
"vue",
|
|
245
|
+
"angular",
|
|
246
|
+
"svelte",
|
|
247
|
+
"nextjs",
|
|
248
|
+
"nuxt",
|
|
249
|
+
"express",
|
|
250
|
+
"nestjs",
|
|
251
|
+
"fastify",
|
|
252
|
+
"none"
|
|
253
|
+
],
|
|
254
|
+
"default": "auto",
|
|
255
|
+
"description": "Framework (auto=detect from dependencies)"
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"additionalProperties": false
|
|
259
|
+
},
|
|
260
|
+
"gemini": {
|
|
261
|
+
"type": "object",
|
|
262
|
+
"description": "Gemini CLI configuration",
|
|
263
|
+
"properties": {
|
|
264
|
+
"model": {
|
|
265
|
+
"type": "string",
|
|
266
|
+
"enum": [
|
|
267
|
+
"gemini-2.5-flash",
|
|
268
|
+
"gemini-2.5-pro",
|
|
269
|
+
"gemini-3-pro-preview",
|
|
270
|
+
"gemini-3-flash-preview"
|
|
271
|
+
],
|
|
272
|
+
"default": "gemini-3-flash-preview",
|
|
273
|
+
"description": "Gemini model to use for CLI commands"
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
"additionalProperties": false
|
|
277
|
+
},
|
|
278
|
+
"skills": {
|
|
279
|
+
"type": "object",
|
|
280
|
+
"description": "Per-skill configuration",
|
|
281
|
+
"properties": {
|
|
282
|
+
"research": {
|
|
283
|
+
"type": "object",
|
|
284
|
+
"properties": {
|
|
285
|
+
"useGemini": {
|
|
286
|
+
"type": "boolean",
|
|
287
|
+
"default": true,
|
|
288
|
+
"description": "Use Gemini CLI for research (false=use WebSearch)"
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"additionalProperties": true
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"additionalProperties": {
|
|
295
|
+
"type": "object",
|
|
296
|
+
"description": "Custom skill configuration"
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"assertions": {
|
|
300
|
+
"type": "array",
|
|
301
|
+
"items": {
|
|
302
|
+
"type": "object",
|
|
303
|
+
"properties": {
|
|
304
|
+
"pattern": {
|
|
305
|
+
"type": "string",
|
|
306
|
+
"description": "Glob pattern or regex for files to match"
|
|
307
|
+
},
|
|
308
|
+
"rule": {
|
|
309
|
+
"type": "string",
|
|
310
|
+
"description": "Assertion rule to enforce"
|
|
311
|
+
},
|
|
312
|
+
"message": {
|
|
313
|
+
"type": "string",
|
|
314
|
+
"description": "Error message when assertion fails"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
"default": [],
|
|
319
|
+
"description": "Code assertions and rules to enforce"
|
|
320
|
+
},
|
|
321
|
+
"statusline": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"enum": ["full", "compact", "minimal", "none"],
|
|
324
|
+
"default": "full",
|
|
325
|
+
"description": "Statusline display mode: full=all features, compact=2-3 lines, minimal=single text line, none=disabled"
|
|
326
|
+
},
|
|
327
|
+
"hooks": {
|
|
328
|
+
"type": "object",
|
|
329
|
+
"description": "Toggle individual hooks on/off. Default: all enabled. Set a hook to `false` to disable; only explicit `false` disables (undefined/null/missing keys default to enabled).",
|
|
330
|
+
"properties": {
|
|
331
|
+
"session-init": {
|
|
332
|
+
"type": "boolean",
|
|
333
|
+
"default": true,
|
|
334
|
+
"description": "SessionStart hook - project detection and env setup"
|
|
335
|
+
},
|
|
336
|
+
"subagent-init": {
|
|
337
|
+
"type": "boolean",
|
|
338
|
+
"default": true,
|
|
339
|
+
"description": "SubagentStart hook - injects context to subagents"
|
|
340
|
+
},
|
|
341
|
+
"descriptive-name": {
|
|
342
|
+
"type": "boolean",
|
|
343
|
+
"default": true,
|
|
344
|
+
"description": "PreToolUse hook - descriptive name for scripts"
|
|
345
|
+
},
|
|
346
|
+
"dev-rules-reminder": {
|
|
347
|
+
"type": "boolean",
|
|
348
|
+
"default": true,
|
|
349
|
+
"description": "UserPromptSubmit hook - injects dev rules context"
|
|
350
|
+
},
|
|
351
|
+
"usage-context-awareness": {
|
|
352
|
+
"type": "boolean",
|
|
353
|
+
"default": true,
|
|
354
|
+
"description": "UserPromptSubmit/PostToolUse hook - usage limits fetching and injection"
|
|
355
|
+
},
|
|
356
|
+
"context-tracking": {
|
|
357
|
+
"type": "boolean",
|
|
358
|
+
"default": true,
|
|
359
|
+
"description": "Context window tracking injection (% used, token counts) in dev-rules-reminder"
|
|
360
|
+
},
|
|
361
|
+
"scout-block": {
|
|
362
|
+
"type": "boolean",
|
|
363
|
+
"default": true,
|
|
364
|
+
"description": "PreToolUse hook - blocks heavy directories"
|
|
365
|
+
},
|
|
366
|
+
"privacy-block": {
|
|
367
|
+
"type": "boolean",
|
|
368
|
+
"default": true,
|
|
369
|
+
"description": "PreToolUse hook - blocks sensitive files"
|
|
370
|
+
},
|
|
371
|
+
"post-edit-simplify-reminder": {
|
|
372
|
+
"type": "boolean",
|
|
373
|
+
"default": true,
|
|
374
|
+
"description": "PostToolUse hook - simplify reminder after edits"
|
|
375
|
+
}
|
|
376
|
+
},
|
|
377
|
+
"additionalProperties": false
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"additionalProperties": true
|
|
381
|
+
}
|