kyro-ai 3.2.0

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.
Files changed (140) hide show
  1. package/.claude-plugin/README.md +29 -0
  2. package/.claude-plugin/marketplace.json +52 -0
  3. package/.claude-plugin/plugin.json +40 -0
  4. package/.claude-plugin/settings.json +16 -0
  5. package/LICENSE +201 -0
  6. package/README.md +331 -0
  7. package/WORKFLOW.yaml +36 -0
  8. package/agents/orchestrator.md +393 -0
  9. package/commands/forge.md +55 -0
  10. package/commands/status.md +92 -0
  11. package/commands/wrap-up.md +85 -0
  12. package/config.json +17 -0
  13. package/contexts/init.md +64 -0
  14. package/contexts/review.md +89 -0
  15. package/contexts/sprint.md +90 -0
  16. package/dist/cli/adapters/codex.d.ts +3 -0
  17. package/dist/cli/adapters/codex.d.ts.map +1 -0
  18. package/dist/cli/adapters/codex.js +55 -0
  19. package/dist/cli/adapters/codex.js.map +1 -0
  20. package/dist/cli/adapters/command-skills.d.ts +5 -0
  21. package/dist/cli/adapters/command-skills.d.ts.map +1 -0
  22. package/dist/cli/adapters/command-skills.js +41 -0
  23. package/dist/cli/adapters/command-skills.js.map +1 -0
  24. package/dist/cli/adapters/opencode.d.ts +5 -0
  25. package/dist/cli/adapters/opencode.d.ts.map +1 -0
  26. package/dist/cli/adapters/opencode.js +41 -0
  27. package/dist/cli/adapters/opencode.js.map +1 -0
  28. package/dist/cli/adapters/registry-types.d.ts +13 -0
  29. package/dist/cli/adapters/registry-types.d.ts.map +1 -0
  30. package/dist/cli/adapters/registry-types.js +3 -0
  31. package/dist/cli/adapters/registry-types.js.map +1 -0
  32. package/dist/cli/adapters/registry.d.ts +7 -0
  33. package/dist/cli/adapters/registry.d.ts.map +1 -0
  34. package/dist/cli/adapters/registry.js +46 -0
  35. package/dist/cli/adapters/registry.js.map +1 -0
  36. package/dist/cli/app.d.ts +2 -0
  37. package/dist/cli/app.d.ts.map +1 -0
  38. package/dist/cli/app.js +46 -0
  39. package/dist/cli/app.js.map +1 -0
  40. package/dist/cli/commands/doctor.d.ts +2 -0
  41. package/dist/cli/commands/doctor.d.ts.map +1 -0
  42. package/dist/cli/commands/doctor.js +133 -0
  43. package/dist/cli/commands/doctor.js.map +1 -0
  44. package/dist/cli/commands/install.d.ts +4 -0
  45. package/dist/cli/commands/install.d.ts.map +1 -0
  46. package/dist/cli/commands/install.js +42 -0
  47. package/dist/cli/commands/install.js.map +1 -0
  48. package/dist/cli/commands/tui.d.ts +2 -0
  49. package/dist/cli/commands/tui.d.ts.map +1 -0
  50. package/dist/cli/commands/tui.js +35 -0
  51. package/dist/cli/commands/tui.js.map +1 -0
  52. package/dist/cli/commands/uninstall.d.ts +3 -0
  53. package/dist/cli/commands/uninstall.d.ts.map +1 -0
  54. package/dist/cli/commands/uninstall.js +33 -0
  55. package/dist/cli/commands/uninstall.js.map +1 -0
  56. package/dist/cli/constants.d.ts +23 -0
  57. package/dist/cli/constants.d.ts.map +1 -0
  58. package/dist/cli/constants.js +27 -0
  59. package/dist/cli/constants.js.map +1 -0
  60. package/dist/cli/fs.d.ts +12 -0
  61. package/dist/cli/fs.d.ts.map +1 -0
  62. package/dist/cli/fs.js +133 -0
  63. package/dist/cli/fs.js.map +1 -0
  64. package/dist/cli/help.d.ts +4 -0
  65. package/dist/cli/help.d.ts.map +1 -0
  66. package/dist/cli/help.js +28 -0
  67. package/dist/cli/help.js.map +1 -0
  68. package/dist/cli/install-plan.d.ts +3 -0
  69. package/dist/cli/install-plan.d.ts.map +1 -0
  70. package/dist/cli/install-plan.js +93 -0
  71. package/dist/cli/install-plan.js.map +1 -0
  72. package/dist/cli/options.d.ts +8 -0
  73. package/dist/cli/options.d.ts.map +1 -0
  74. package/dist/cli/options.js +99 -0
  75. package/dist/cli/options.js.map +1 -0
  76. package/dist/cli/state.d.ts +4 -0
  77. package/dist/cli/state.d.ts.map +1 -0
  78. package/dist/cli/state.js +13 -0
  79. package/dist/cli/state.js.map +1 -0
  80. package/dist/cli/types.d.ts +50 -0
  81. package/dist/cli/types.d.ts.map +1 -0
  82. package/dist/cli/types.js +3 -0
  83. package/dist/cli/types.js.map +1 -0
  84. package/dist/cli.d.ts +3 -0
  85. package/dist/cli.d.ts.map +1 -0
  86. package/dist/cli.js +10 -0
  87. package/dist/cli.js.map +1 -0
  88. package/dist/index.d.ts +10 -0
  89. package/dist/index.d.ts.map +1 -0
  90. package/dist/index.js +12 -0
  91. package/dist/index.js.map +1 -0
  92. package/docs/HOW-TO-USE-CODEX.md +82 -0
  93. package/docs/HOW-TO-USE-OPENCODE.md +93 -0
  94. package/docs/agent-adapters.md +152 -0
  95. package/docs/agents-reference.md +153 -0
  96. package/docs/architecture.md +159 -0
  97. package/docs/architecture.mmd +21 -0
  98. package/docs/cli.md +87 -0
  99. package/docs/commands-reference.md +138 -0
  100. package/docs/context-management.md +92 -0
  101. package/docs/getting-started.md +165 -0
  102. package/docs/harness-migration.md +95 -0
  103. package/docs/programmatic-usage.md +109 -0
  104. package/docs/rules-guide.md +216 -0
  105. package/package.json +78 -0
  106. package/rules/context-persistence.md +54 -0
  107. package/rules/estimation.md +56 -0
  108. package/rules/learning-rules.md +66 -0
  109. package/rules/quality-gates.md +65 -0
  110. package/rules/sprint-discipline.md +49 -0
  111. package/scripts/check-markdown-links.mjs +97 -0
  112. package/scripts/check-versions.mjs +46 -0
  113. package/scripts/make-cli-executable.mjs +12 -0
  114. package/settings.example.json +27 -0
  115. package/skills/qa-review/SKILL.md +660 -0
  116. package/skills/qa-review/manifest.json +41 -0
  117. package/skills/sprint-forge/SKILL.md +260 -0
  118. package/skills/sprint-forge/assets/README.md +31 -0
  119. package/skills/sprint-forge/assets/helpers/analysis-guide.md +207 -0
  120. package/skills/sprint-forge/assets/helpers/analyzer.md +83 -0
  121. package/skills/sprint-forge/assets/helpers/debt-tracker.md +122 -0
  122. package/skills/sprint-forge/assets/helpers/handoff.md +103 -0
  123. package/skills/sprint-forge/assets/helpers/learner.md +69 -0
  124. package/skills/sprint-forge/assets/helpers/metrics.md +81 -0
  125. package/skills/sprint-forge/assets/helpers/reentry-generator.md +121 -0
  126. package/skills/sprint-forge/assets/helpers/reviewer.md +71 -0
  127. package/skills/sprint-forge/assets/helpers/sprint-generator.md +145 -0
  128. package/skills/sprint-forge/assets/modes/INIT.md +204 -0
  129. package/skills/sprint-forge/assets/modes/SPRINT.md +253 -0
  130. package/skills/sprint-forge/assets/modes/STATUS.md +145 -0
  131. package/skills/sprint-forge/assets/templates/PROJECT-README.md +107 -0
  132. package/skills/sprint-forge/assets/templates/REENTRY-PROMPTS.md +132 -0
  133. package/skills/sprint-forge/assets/templates/ROADMAP.md +126 -0
  134. package/skills/sprint-forge/assets/templates/SPRINT.md +189 -0
  135. package/skills/sprint-forge/manifest.json +165 -0
  136. package/templates/split-claude-md/AGENTS.md +96 -0
  137. package/templates/split-claude-md/CLAUDE.md +67 -0
  138. package/templates/split-claude-md/COMMANDS.md +37 -0
  139. package/templates/split-claude-md/LEARNED.md +39 -0
  140. package/templates/split-claude-md/SOUL.md +107 -0
@@ -0,0 +1,165 @@
1
+ {
2
+ "$schema": "https://synapsync.dev/schemas/cognitive-manifest.json",
3
+ "name": "sprint-forge",
4
+ "type": "skill",
5
+ "version": "2.1.0",
6
+ "description": "Adaptive sprint workflow with one orchestrator agent, built-in checkpoints, and slash commands — analysis, roadmap, iterative sprints, debt tracking, context persistence, and per-project learning",
7
+ "author": {
8
+ "name": "SynapSync",
9
+ "url": "https://github.com/SynapSync",
10
+ "email": "hello@synapsync.dev"
11
+ },
12
+ "license": "Apache-2.0",
13
+ "category": "workflow",
14
+ "tags": [
15
+ "workflow",
16
+ "sprint",
17
+ "planning",
18
+ "execution",
19
+ "debt-tracking",
20
+ "roadmap",
21
+ "iterative",
22
+ "adaptive",
23
+ "context-persistence",
24
+ "reentry"
25
+ ],
26
+ "providers": [
27
+ "claude",
28
+ "openai",
29
+ "cursor",
30
+ "windsurf",
31
+ "copilot",
32
+ "gemini",
33
+ "codex"
34
+ ],
35
+ "file": "SKILL.md",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/SynapSync/kyro-ai"
39
+ },
40
+ "homepage": "https://github.com/SynapSync/kyro-ai",
41
+ "assets": {
42
+ "modes": 3,
43
+ "helpers": 4,
44
+ "templates": 4
45
+ },
46
+ "changelog": [
47
+ {
48
+ "version": "2.1.0",
49
+ "date": "2026-03-23",
50
+ "changes": [
51
+ "Replace {project-name} with {scope} in Configuration Resolution and default output_dir paths — {scope} is a kebab-case work topic (e.g., oauth-implementation, ui-redesign), not the repo name",
52
+ "Update INIT Step 2 config table: Project Name → Scope with clarification that repo is already {cwd}",
53
+ "Update architecture, getting-started, and WORKFLOW.yaml to reflect {scope} convention"
54
+ ]
55
+ },
56
+ {
57
+ "version": "2.0.0",
58
+ "date": "2026-03-08",
59
+ "changes": [
60
+ "Evolve from standalone skill to full workflow with one orchestrator agent, built-in checkpoints, slash commands (/kyro:forge, /kyro:status, /kyro:wrap-up), and per-project learning via persistent rules"
61
+ ]
62
+ },
63
+ {
64
+ "version": "1.10.0",
65
+ "date": "2026-03-07",
66
+ "changes": [
67
+ "Add checkpoint-per-phase persistence rule to SPRINT EXECUTE workflow — sprint file is written to disk after each phase completes, balancing crash safety with execution fluidity"
68
+ ]
69
+ },
70
+ {
71
+ "version": "1.9.0",
72
+ "date": "2026-03-06",
73
+ "changes": [
74
+ "Add YAML frontmatter properties to all templates (SPRINT, ROADMAP, PROJECT-README, REENTRY-PROMPTS) and finding file format",
75
+ "Add `agents` field to frontmatter — tracks AI model or agent names (e.g., gpt-5, codex, cursor, opencode) that created or modified the document",
76
+ "Update INIT and SPRINT modes with frontmatter generation instructions and close-time frontmatter updates"
77
+ ]
78
+ },
79
+ {
80
+ "version": "1.8.0",
81
+ "date": "2026-03-03",
82
+ "changes": [
83
+ "Remove obsidian integration from kyro — syncing to vault is now a separate, explicit user step"
84
+ ]
85
+ },
86
+ {
87
+ "version": "1.7.0",
88
+ "date": "2026-03-03",
89
+ "changes": [
90
+ "Remove AGENTS.md branded block dependency for output_kyro_dir resolution",
91
+ "INIT now asks user once and stores output_kyro_dir in README.md and RE-ENTRY-PROMPTS.md",
92
+ "SPRINT Step 0 now extracts output_kyro_dir from re-entry prompt paths as primary source",
93
+ "REENTRY-PROMPTS template now includes explicit output_kyro_dir section at the top",
94
+ "Simplified Configuration Resolution in SKILL.md to 3 clear rules"
95
+ ]
96
+ },
97
+ {
98
+ "version": "1.6.0",
99
+ "date": "2026-02-21",
100
+ "changes": [
101
+ "Updated Integration table with explicit obsidian skill invocation and MCP guardrail"
102
+ ]
103
+ },
104
+ {
105
+ "version": "1.5.0",
106
+ "date": "2026-02-21",
107
+ "changes": [
108
+ "Remove changelog from frontmatter, remove Version History section, add Asset Loading (Mode-Gated) table"
109
+ ]
110
+ },
111
+ {
112
+ "version": "1.4.0",
113
+ "date": "2026-02-19",
114
+ "changes": [
115
+ "Branded AGENTS.md block support — output_kyro_dir config persisted in synapsync-skills Configuration table",
116
+ "New output_kyro_dir config key remembered across sessions via AGENTS.md (supplements auto-discovery and re-entry prompts)"
117
+ ]
118
+ },
119
+ {
120
+ "version": "1.3.0",
121
+ "date": "2026-02-18",
122
+ "changes": [
123
+ "Replaced staging pattern with interactive path resolution — ask once before first write",
124
+ "Option 1: {cwd}/.agents/kyro/scopes/{project-name}/ (default)",
125
+ "Option 2: {user-root}/kyro/{project-name}/ (custom)",
126
+ "Removed post-production delivery steps from INIT and SPRINT modes",
127
+ "Added Step 0 to SPRINT and STATUS for locating {output_kyro_dir} in future sessions"
128
+ ]
129
+ },
130
+ {
131
+ "version": "1.2.0",
132
+ "date": "2026-02-17",
133
+ "changes": [
134
+ "Migrated to deterministic staging pattern (.agents/staging/kyro/)",
135
+ "Renamed {output_base} to {output_kyro_dir} for consistency across all skills",
136
+ "Added post-production delivery step to INIT and SPRINT modes"
137
+ ]
138
+ },
139
+ {
140
+ "version": "1.1.0",
141
+ "date": "2026-02-16",
142
+ "changes": [
143
+ "Add [>] carry-over task state for tasks that pass to the next sprint",
144
+ "Add execution metadata (date, executor) to sprint header",
145
+ "Add 'Converted to Phase' as disposition action for recommendations",
146
+ "Add Findings Consolidation phase as recommended sprint closing pattern",
147
+ "Add Evidence field to task format for inline documentation",
148
+ "Add 'New Technical Debt Detected' as fourth retro subsection"
149
+ ]
150
+ },
151
+ {
152
+ "version": "1.0.0",
153
+ "date": "2026-02-16",
154
+ "changes": [
155
+ "Initial release — 3 modes (INIT, SPRINT, STATUS)",
156
+ "Adaptive roadmap with sprint-by-sprint generation",
157
+ "Formal debt tracking with inheritance",
158
+ "Re-entry prompts for context persistence across sessions",
159
+ "Language-agnostic: works for any project type, language, or framework"
160
+ ]
161
+ }
162
+ ],
163
+ "createdAt": "2026-02-16T00:00:00Z",
164
+ "updatedAt": "2026-03-08T00:00:00Z"
165
+ }
@@ -0,0 +1,96 @@
1
+ # AGENTS.md — Kyro AI Rules
2
+
3
+ ## Sprint Discipline
4
+
5
+ ### One Sprint at a Time
6
+
7
+ - Never start a new sprint while one is in progress.
8
+ - Each sprint must reach a terminal state (completed, abandoned, or blocked) before the next begins.
9
+ - If the current sprint is blocked, document the blocker and pause — do not silently start new work.
10
+
11
+ ### Retrospective Required
12
+
13
+ - Every completed sprint MUST end with a retrospective (the retrospective phase of forge).
14
+ - The retro captures: what worked, what did not, estimation accuracy, and concrete improvements.
15
+ - Learnings from the retro are written to `LEARNED.md` and to `.agents/kyro/scopes/rules.md` for per-project reuse.
16
+ - Skipping the retro is a workflow violation.
17
+
18
+ ### Debt is Inherited
19
+
20
+ - Technical debt items from previous sprints carry forward automatically.
21
+ - Debt items are never silently dropped. They can only be:
22
+ - **Resolved** — fixed and verified in a sprint task.
23
+ - **Deferred** — explicitly moved to a future sprint with justification.
24
+ - **Accepted** — acknowledged as permanent with documented rationale.
25
+ - Debt aged beyond 3 sprints is flagged as critical.
26
+
27
+ ## Quality Gates
28
+
29
+ Every sprint phase transition requires a quality gate:
30
+
31
+ 1. **Analysis gate** — Analysis phase findings reviewed and approved before planning.
32
+ 2. **Plan gate** — Sprint plan reviewed and approved before implementation.
33
+ 3. **Implementation gate** — Each task passes lint, type-check, and tests before marking complete.
34
+ 4. **Review gate** — Review step validates task output against acceptance criteria.
35
+ 5. **Commit gate** — All quality checks pass before final commit.
36
+
37
+ Rules:
38
+ - Never skip a gate. If a gate fails, fix the issue before proceeding.
39
+ - Gate approvals require explicit user confirmation.
40
+ - If tests or lint are not configured, note it as a warning but do not block.
41
+
42
+ ## Re-entry Prompt
43
+
44
+ When a session ends or context is compacted:
45
+
46
+ 1. Save the current sprint state as a checkpoint.
47
+ 2. Write a re-entry prompt to `.agents/kyro/scopes/{project}/reentry.md` that contains:
48
+ - Current sprint ID and phase.
49
+ - Last completed task.
50
+ - Next task and its context.
51
+ - Any blockers or open questions.
52
+ 3. On session start, load the re-entry prompt to restore context.
53
+
54
+ ## Orchestrator Protocols
55
+
56
+ ### Analysis Protocol
57
+
58
+ Use for: initial codebase analysis, architecture mapping, risk identification.
59
+
60
+ - Read-only during this phase. Must not modify any files.
61
+ - Runs automatically during the Analyze phase of `/kyro:forge`.
62
+ - Can be invoked manually for ad-hoc exploration.
63
+
64
+ ### Review Checklist
65
+
66
+ Use for: task validation, quality checklist enforcement.
67
+
68
+ - Runs after each task completion.
69
+ - Checks: correctness, test coverage, lint compliance, acceptance criteria.
70
+ - Classifies findings as BLOCKER, WARNING, or SUGGESTION.
71
+ - BLOCKERs must be resolved before task is marked done.
72
+
73
+ ### Debug Protocol
74
+
75
+ Use for: root cause analysis when a task fails or tests break.
76
+
77
+ - Invoked automatically on repeated failures.
78
+ - Must produce a root cause report before suggesting a fix.
79
+ - Fixes are proposed, not applied — user approves before changes.
80
+
81
+ ### Full Cycle Coordination
82
+
83
+ The orchestrator manages the Analyze -> Plan -> Implement -> Review -> Commit lifecycle.
84
+
85
+ - Runs analysis, review, and debug protocols as needed.
86
+ - Enforces gate transitions and checkpoint saves.
87
+ - Handles parallel task suggestions when worktrees are available.
88
+
89
+ ## General Rules
90
+
91
+ - Always read the project's `CLAUDE.md` before starting work.
92
+ - Respect the project's existing code style and conventions.
93
+ - When uncertain about scope, ask the user rather than guessing.
94
+ - Prefer small, focused commits over large monolithic changes.
95
+ - Never force-push to main/master without explicit user approval.
96
+ - Log all agent delegations for traceability.
@@ -0,0 +1,67 @@
1
+ # Project — CLAUDE.md
2
+
3
+ ## Workflow
4
+
5
+ This project uses **Kyro** for structured sprint execution.
6
+
7
+ - Workflow: `kyro-ai` (installed via Claude Code adapter, generic markdown setup, or local path)
8
+ - Sprint output: `.agents/kyro/scopes/{project}/`
9
+ - Learned rules: `.agents/kyro/scopes/rules.md`
10
+
11
+ ## Agent Rules
12
+
13
+ See [AGENTS.md](./AGENTS.md) for:
14
+ - Sprint discipline and quality gate requirements
15
+ - Orchestrator protocols (analysis, review, debug)
16
+ - Re-entry prompt conventions
17
+
18
+ ## Learned Rules
19
+
20
+ See [LEARNED.md](./LEARNED.md) for project-specific learnings auto-populated from sprint retros.
21
+
22
+ ## Commands
23
+
24
+ See [COMMANDS.md](./COMMANDS.md) for the full slash-command reference.
25
+
26
+ ## Project Conventions
27
+
28
+ ### Language & Framework
29
+
30
+ - Language: <!-- e.g., TypeScript 5.x -->
31
+ - Framework: <!-- e.g., Next.js 14 -->
32
+ - Package manager: <!-- e.g., pnpm -->
33
+
34
+ ### Build & Test
35
+
36
+ ```bash
37
+ # Install dependencies
38
+ # npm install
39
+
40
+ # Run dev server
41
+ # npm run dev
42
+
43
+ # Type-check
44
+ # npm run typecheck
45
+
46
+ # Build
47
+ # npm run build
48
+
49
+ # Tests/lint
50
+ # Add project-specific commands here when available.
51
+ ```
52
+
53
+ ### Code Style
54
+
55
+ - <!-- Add project-specific code style rules here -->
56
+
57
+ ### Directory Layout
58
+
59
+ ```
60
+ src/
61
+ <!-- Describe your project's directory layout here -->
62
+ ```
63
+
64
+ ### Important Notes
65
+
66
+ - <!-- Add critical project-specific notes here -->
67
+ - <!-- e.g., "Never modify the migrations/ directory manually" -->
@@ -0,0 +1,37 @@
1
+ # COMMANDS.md — Kyro Command Reference
2
+
3
+ ## /kyro:forge
4
+
5
+ Full sprint cycle: Analyze -> Plan -> Implement -> Review -> Commit.
6
+
7
+ ```
8
+ /kyro:forge <project path or description>
9
+ ```
10
+
11
+ Delegates to the orchestrator agent, which coordinates analysis, review,
12
+ and debug protocols through validation gates. Each gate requires explicit
13
+ user approval before proceeding to the next phase.
14
+
15
+ ## /kyro:status
16
+
17
+ Project progress and technical debt summary.
18
+
19
+ ```
20
+ /kyro:status # Full project status
21
+ /kyro:status velocity # Velocity chart (last 5 sprints)
22
+ /kyro:status debt # Debt heatmap by file/module
23
+ ```
24
+
25
+ Shows completion rates, estimation accuracy, and highlights areas with
26
+ accumulated technical debt.
27
+
28
+ ---
29
+
30
+ ## Project-Specific Overrides
31
+
32
+ Add custom command behavior or aliases below. These take precedence
33
+ over the defaults above.
34
+
35
+ <!-- Example: -->
36
+ <!-- /kyro:forge always runs with --parallel when on a feature branch -->
37
+ <!-- /kyro:forge max tasks = 5 for this project (smaller scope) -->
@@ -0,0 +1,39 @@
1
+ # LEARNED.md — Project-Specific Learnings
2
+
3
+ This file is auto-populated by kyro-ai during sprint retrospectives.
4
+ Do not edit manually unless correcting an error. New entries are appended
5
+ by the learner helper after each sprint retrospective.
6
+
7
+ Format: each entry includes the sprint ID, date, and a concise rule.
8
+
9
+ ---
10
+
11
+ ## Estimation
12
+
13
+ <!-- Learnings about task estimation accuracy for this project -->
14
+ <!-- Example: -->
15
+ <!-- - [S-003 / 2025-01-15] Release validation consistently takes 2x estimated time due to environment setup. -->
16
+
17
+ ## Quality
18
+
19
+ <!-- Learnings about code quality, testing, and review patterns -->
20
+ <!-- Example: -->
21
+ <!-- - [S-005 / 2025-02-01] Integration tests for the payment module must run against the staging API, not mocks. -->
22
+
23
+ ## Architecture
24
+
25
+ <!-- Learnings about codebase structure, dependencies, and design decisions -->
26
+ <!-- Example: -->
27
+ <!-- - [S-002 / 2025-01-10] The auth module is tightly coupled to the user module; changes to one often require changes to the other. -->
28
+
29
+ ## Testing
30
+
31
+ <!-- Learnings about test strategies, flaky tests, and coverage gaps -->
32
+ <!-- Example: -->
33
+ <!-- - [S-004 / 2025-01-20] E2E tests for the dashboard timeout on CI if run in parallel; use --runInBand. -->
34
+
35
+ ## Process
36
+
37
+ <!-- Learnings about workflow, tooling, and team conventions -->
38
+ <!-- Example: -->
39
+ <!-- - [S-006 / 2025-02-10] PR reviews are faster when the description includes a screenshot for UI changes. -->
@@ -0,0 +1,107 @@
1
+ # SOUL.md — Personal Communication Style
2
+
3
+ This file defines your personal preferences for how AI agents communicate and write code. It is loaded alongside CLAUDE.md to personalize the agent's behavior.
4
+
5
+ Place this file in your project root or `~/.claude/` for global preferences.
6
+
7
+ ---
8
+
9
+ ## Tone
10
+
11
+ <!-- Uncomment and customize the style that matches your preference -->
12
+
13
+ <!-- Formal: professional, structured, complete sentences -->
14
+ <!-- tone: formal -->
15
+
16
+ <!-- Casual: conversational, contractions, direct -->
17
+ <!-- tone: casual -->
18
+
19
+ <!-- Terse: minimal words, maximum signal, no filler -->
20
+ <!-- tone: terse -->
21
+
22
+ tone: casual
23
+
24
+ ---
25
+
26
+ ## Verbosity
27
+
28
+ <!-- How much detail you want in responses -->
29
+
30
+ <!-- minimal: just the answer, no explanation unless asked -->
31
+ <!-- standard: answer + brief context -->
32
+ <!-- detailed: answer + full reasoning + alternatives -->
33
+
34
+ verbosity: minimal
35
+
36
+ ---
37
+
38
+ ## Language
39
+
40
+ <!-- Primary language for communication -->
41
+ <!-- The agent will respond in this language unless you write in another -->
42
+
43
+ language: en
44
+
45
+ ---
46
+
47
+ ## Code Style
48
+
49
+ <!-- Your code style preferences — the agent will follow these when writing code -->
50
+
51
+ ```yaml
52
+ indentation: 2 spaces
53
+ semicolons: false # JS/TS: omit semicolons
54
+ quotes: single # JS/TS: single quotes
55
+ trailing_commas: true # ES5 trailing commas
56
+ naming:
57
+ variables: camelCase
58
+ functions: camelCase
59
+ classes: PascalCase
60
+ constants: UPPER_SNAKE_CASE
61
+ files: kebab-case
62
+ max_line_length: 100
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Response Format
68
+
69
+ <!-- How you prefer responses to be structured -->
70
+
71
+ ```yaml
72
+ use_headers: true # Use markdown headers for structure
73
+ use_bullet_points: true # Prefer bullets over paragraphs
74
+ code_blocks: fenced # Always use fenced code blocks with language
75
+ show_file_paths: true # Show file paths before code changes
76
+ ```
77
+
78
+ ---
79
+
80
+ ## Domain Expertise
81
+
82
+ <!-- What you can be assumed to know — the agent won't over-explain these topics -->
83
+
84
+ ```yaml
85
+ assume_knowledge_of:
86
+ - git (advanced)
87
+ - typescript
88
+ - node.js ecosystem
89
+ - terminal / CLI usage
90
+ # Add your areas of expertise here
91
+ ```
92
+
93
+ ---
94
+
95
+ ## Anti-Patterns
96
+
97
+ <!-- Things you explicitly don't want the agent to do -->
98
+
99
+ ```yaml
100
+ never:
101
+ - Add emojis to code or responses
102
+ - Add comments that explain what code does (only why)
103
+ - Create README files unless asked
104
+ - Use verbose error messages for internal code
105
+ - Add type annotations that TypeScript can infer
106
+ # Add your pet peeves here
107
+ ```