@namch/agent-assistant 1.3.0 → 1.3.2

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 (142) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +3 -4
  3. package/agents/backend-engineer.md +3 -3
  4. package/agents/brainstormer.md +3 -3
  5. package/agents/business-analyst.md +3 -3
  6. package/agents/database-architect.md +3 -3
  7. package/agents/debugger.md +2 -2
  8. package/agents/designer.md +2 -2
  9. package/agents/devops-engineer.md +2 -2
  10. package/agents/docs-manager.md +23 -15
  11. package/agents/frontend-engineer.md +3 -3
  12. package/agents/game-engineer.md +3 -3
  13. package/agents/mobile-engineer.md +4 -4
  14. package/agents/performance-engineer.md +3 -3
  15. package/agents/planner.md +4 -4
  16. package/agents/project-manager.md +3 -3
  17. package/agents/researcher.md +3 -3
  18. package/agents/reviewer.md +3 -3
  19. package/agents/scouter.md +3 -3
  20. package/agents/security-engineer.md +3 -3
  21. package/agents/tech-lead.md +3 -3
  22. package/agents/tester.md +2 -2
  23. package/code-assistants/codex-assistant/CODEX.md +1 -2
  24. package/commands/ask/hard.md +1 -1
  25. package/commands/brainstorm/hard.md +1 -1
  26. package/commands/code/hard.md +1 -1
  27. package/commands/code.md +2 -7
  28. package/commands/cook/hard.md +1 -1
  29. package/commands/cook.md +1 -6
  30. package/commands/debug/hard.md +1 -1
  31. package/commands/debug.md +1 -6
  32. package/commands/design/hard.md +1 -1
  33. package/commands/design.md +1 -6
  34. package/commands/docs/audit.md +554 -78
  35. package/commands/docs/business.md +392 -76
  36. package/commands/docs/core.md +573 -74
  37. package/commands/docs.md +62 -61
  38. package/commands/fix/hard.md +1 -1
  39. package/commands/fix.md +1 -6
  40. package/commands/plan/hard.md +1 -1
  41. package/commands/plan.md +1 -6
  42. package/commands/report/fast.md +2 -2
  43. package/commands/report/hard.md +1 -1
  44. package/commands/report.md +2 -7
  45. package/commands/review/hard.md +1 -1
  46. package/commands/test/hard.md +1 -1
  47. package/commands/test.md +1 -6
  48. package/documents/HSOL-ASSESSMENT.md +6 -6
  49. package/documents/SMART-SKILL-ORCHESTRATION-BLUEPRINT.md +1 -1
  50. package/documents/business/business-features/00-index.md +101 -0
  51. package/documents/business/business-features/01-feature-inventory.md +341 -0
  52. package/documents/business/business-features/02-prioritization-moscow.md +148 -0
  53. package/documents/business/business-features/03-feature-specifications.md +511 -0
  54. package/documents/business/business-features/04-dependencies-and-release-sequencing.md +313 -0
  55. package/documents/business/business-features/05-success-metrics.md +290 -0
  56. package/documents/business/business-glossary/00-index.md +89 -0
  57. package/documents/business/business-glossary/01-canonical-terms.md +428 -0
  58. package/documents/business/business-glossary/02-synonyms-and-deprecated-terms.md +180 -0
  59. package/documents/business/business-glossary/03-domain-entities-and-events.md +395 -0
  60. package/documents/business/business-glossary/04-api-term-mapping.md +173 -0
  61. package/documents/business/business-prd/00-index.md +107 -0
  62. package/documents/business/business-prd/01-executive-summary.md +131 -0
  63. package/documents/business/business-prd/02-problem-goals-and-scope.md +204 -0
  64. package/documents/business/business-prd/03-stakeholders-and-requirements.md +210 -0
  65. package/documents/business/business-prd/04-acceptance-risks-assumptions.md +246 -0
  66. package/documents/business/business-workflows/00-index.md +107 -0
  67. package/documents/business/business-workflows/01-actor-map.md +303 -0
  68. package/documents/business/business-workflows/02-workflow-catalog.md +252 -0
  69. package/documents/business/business-workflows/03-detailed-workflows.md +641 -0
  70. package/documents/business/business-workflows/04-decision-rules-and-exceptions.md +216 -0
  71. package/documents/business/business-workflows/05-sla-and-handoffs.md +253 -0
  72. package/documents/knowledge-architecture/00-index.md +159 -0
  73. package/documents/knowledge-architecture/01-system-overview.md +240 -0
  74. package/documents/knowledge-architecture/02-components.md +419 -0
  75. package/documents/knowledge-architecture/03-data-flow.md +368 -0
  76. package/documents/knowledge-architecture/04-design-patterns.md +497 -0
  77. package/documents/knowledge-architecture/05-decisions.md +410 -0
  78. package/documents/knowledge-domain/00-index.md +251 -0
  79. package/documents/knowledge-domain/01-entities.md +582 -0
  80. package/documents/knowledge-domain/02-database-schema.md +138 -0
  81. package/documents/knowledge-domain/03-api-contracts.md +477 -0
  82. package/documents/knowledge-domain/04-business-rules.md +554 -0
  83. package/documents/knowledge-overview/00-index.md +107 -0
  84. package/documents/knowledge-overview/01-project-identity.md +162 -0
  85. package/documents/knowledge-overview/02-tech-stack.md +119 -0
  86. package/documents/knowledge-overview/03-features.md +232 -0
  87. package/documents/knowledge-overview/04-getting-started.md +394 -0
  88. package/documents/knowledge-source-base/00-index.md +107 -0
  89. package/documents/knowledge-source-base/01-directory-structure.md +312 -0
  90. package/documents/knowledge-source-base/02-entry-points.md +346 -0
  91. package/documents/knowledge-source-base/03-key-modules.md +581 -0
  92. package/documents/knowledge-source-base/04-configuration.md +467 -0
  93. package/documents/knowledge-standards/00-index.md +129 -0
  94. package/documents/knowledge-standards/01-code-style.md +161 -0
  95. package/documents/knowledge-standards/02-conventions.md +254 -0
  96. package/documents/knowledge-standards/03-git-workflow.md +228 -0
  97. package/documents/knowledge-standards/04-testing-standards.md +175 -0
  98. package/matrix-skills/_index.yaml +1 -1
  99. package/package.json +1 -1
  100. package/rules/AGENTS.md +1 -1
  101. package/rules/REFERENCE.md +18 -14
  102. package/rules/SKILLS.md +1 -1
  103. package/rules/TEAMS.md +1 -2
  104. package/skills/docs-audit/README.md +10 -8
  105. package/skills/docs-audit/SKILL.md +45 -41
  106. package/skills/docs-audit/references/scoring-framework.md +5 -5
  107. package/skills/docs-core/README.md +19 -14
  108. package/skills/docs-core/SKILL.md +189 -117
  109. package/skills/planning/references/codebase-understanding.md +5 -5
  110. package/code-assistants/codex-assistant/skills/agent-assistant-code-focus/SKILL.md +0 -18
  111. package/code-assistants/codex-assistant/skills/agent-assistant-code-focus/agents/openai.yaml +0 -4
  112. package/code-assistants/codex-assistant/skills/agent-assistant-cook-focus/SKILL.md +0 -18
  113. package/code-assistants/codex-assistant/skills/agent-assistant-cook-focus/agents/openai.yaml +0 -4
  114. package/code-assistants/codex-assistant/skills/agent-assistant-debug-focus/SKILL.md +0 -18
  115. package/code-assistants/codex-assistant/skills/agent-assistant-debug-focus/agents/openai.yaml +0 -4
  116. package/code-assistants/codex-assistant/skills/agent-assistant-design-focus/SKILL.md +0 -18
  117. package/code-assistants/codex-assistant/skills/agent-assistant-design-focus/agents/openai.yaml +0 -4
  118. package/code-assistants/codex-assistant/skills/agent-assistant-fix-focus/SKILL.md +0 -18
  119. package/code-assistants/codex-assistant/skills/agent-assistant-fix-focus/agents/openai.yaml +0 -4
  120. package/code-assistants/codex-assistant/skills/agent-assistant-plan-focus/SKILL.md +0 -18
  121. package/code-assistants/codex-assistant/skills/agent-assistant-plan-focus/agents/openai.yaml +0 -4
  122. package/code-assistants/codex-assistant/skills/agent-assistant-report-focus/SKILL.md +0 -18
  123. package/code-assistants/codex-assistant/skills/agent-assistant-report-focus/agents/openai.yaml +0 -4
  124. package/code-assistants/codex-assistant/skills/agent-assistant-test-focus/SKILL.md +0 -18
  125. package/code-assistants/codex-assistant/skills/agent-assistant-test-focus/agents/openai.yaml +0 -4
  126. package/commands/code/focus.md +0 -297
  127. package/commands/cook/focus.md +0 -209
  128. package/commands/debug/focus.md +0 -103
  129. package/commands/design/focus.md +0 -229
  130. package/commands/fix/focus.md +0 -145
  131. package/commands/plan/focus.md +0 -140
  132. package/commands/report/focus.md +0 -107
  133. package/commands/test/focus.md +0 -123
  134. package/documents/business/business-features.md +0 -894
  135. package/documents/business/business-glossary.md +0 -554
  136. package/documents/business/business-prd.md +0 -400
  137. package/documents/business/business-workflows.md +0 -713
  138. package/documents/knowledge-architecture.md +0 -621
  139. package/documents/knowledge-domain.md +0 -602
  140. package/documents/knowledge-overview.md +0 -316
  141. package/documents/knowledge-source-base.md +0 -581
  142. package/documents/knowledge-standards.md +0 -632
@@ -0,0 +1,161 @@
1
+ # Agent Assistant — Code Style Standards
2
+
3
+ > **Purpose**: Formatting rules and naming conventions for every content type in the project, derived from observed patterns and tool configuration
4
+ > **Parent**: [00-index.md](./00-index.md)
5
+ > **Last Updated**: 2026-03-26
6
+ > **Generated By**: docs-core skill
7
+
8
+ ---
9
+
10
+ ## Formatter Status
11
+
12
+ Agent Assistant has **no project-wide code formatter**. There is no Prettier configuration (`.prettierrc`, `.prettierrc.json`, or `prettier` in `package.json`). There is no editorconfig (`.editorconfig`). Formatting consistency is maintained by convention, not tooling.
13
+
14
+ **Web sub-project exception**: The `web/` directory uses ESLint ^9.39.1 with `typescript-eslint` and React plugins, which enforces some code quality rules but is not a formatter.
15
+
16
+ ---
17
+
18
+ ## Naming Conventions by Content Type
19
+
20
+ ### Markdown — Agent Files (`agents/*.md`)
21
+
22
+ | Element | Convention | Example |
23
+ |---------|-----------|---------|
24
+ | File name | kebab-case | `backend-engineer.md`, `docs-manager.md` |
25
+ | YAML `name` field | kebab-case (matches filename without extension) | `name: backend-engineer` |
26
+ | YAML `description` | Sentence case with role title | `"Principal Backend Architect — server-side logic, API design"` |
27
+ | YAML `profile` | `domain:category` format | `"backend:execution"`, `"research:exploration"` |
28
+ | YAML `handoffs` | Array of kebab-case agent names | `[tester, database-architect, performance-engineer]` |
29
+ | YAML `version` | Quoted semver string | `"1.0"` |
30
+ | YAML `category` | Lowercase single word | `execution`, `validation`, `research`, `support`, `meta` |
31
+ | Section headers | `## ` with emoji prefix | `## ⚡ Skills`, `## 🎯 Expert Mindset` |
32
+ | Agent ID format | `agent:kebab-case-name` | `agent:backend-engineer` |
33
+
34
+ ### Markdown — Command Files (`commands/*.md`)
35
+
36
+ | Element | Convention | Example |
37
+ |---------|-----------|---------|
38
+ | File name | kebab-case | `cook.md`, `brainstorm.md` |
39
+ | YAML `description` | Sentence with emoji prefix | `"🍳 Cook Router — Route to feature implementation workflows"` |
40
+ | YAML `version` | Quoted semver string | `"1.0"` |
41
+ | YAML `category` | Lowercase word | `engineering`, `quality`, `planning`, `documentation` |
42
+ | YAML `execution-mode` | Lowercase keyword | `router`, `execute` |
43
+ | Variant files | kebab-case in subdirectories | `commands/cook/fast.md`, `commands/cook/hard.md` |
44
+
45
+ ### Markdown — Rule Files (`rules/*.md`)
46
+
47
+ | Element | Convention | Example |
48
+ |---------|-----------|---------|
49
+ | File name | UPPER_CASE | `CORE.md`, `PHASES.md`, `AGENTS.md` |
50
+ | Primary header | `# ` without emoji | `# CORE RULES` |
51
+ | Sections | `## ` with optional emoji | `## ⚡ Tiered Execution` |
52
+
53
+ ### Markdown — Document Files (`documents/**/*.md`)
54
+
55
+ | Element | Convention | Example |
56
+ |---------|-----------|---------|
57
+ | Directory name | kebab-case | `knowledge-overview/`, `knowledge-standards/` |
58
+ | File name | Numbered prefix + kebab-case | `00-index.md`, `01-project-identity.md` |
59
+ | Index file | Always `00-index.md` | `documents/knowledge-overview/00-index.md` |
60
+ | Header block | Standardized metadata block with Purpose, Parent, Last Updated, Generated By | See sub-file header template |
61
+
62
+ ### Markdown — Platform Entry Files (root)
63
+
64
+ | Element | Convention | Example |
65
+ |---------|-----------|---------|
66
+ | File name | UPPER_CASE | `CLAUDE.md`, `COPILOT.md`, `CURSOR.md`, `CODEX.md`, `GEMINI.md` |
67
+
68
+ ### YAML — Matrix Skill Files (`matrix-skills/*.yaml`)
69
+
70
+ | Element | Convention | Example |
71
+ |---------|-----------|---------|
72
+ | File name | kebab-case | `backend.yaml`, `ai-ml.yaml`, `frontend.yaml` |
73
+ | Special files | Underscore prefix | `_index.yaml`, `_dynamic.yaml` |
74
+ | Skill keys | kebab-case | `express-rest-api`, `graphql-schema-design` |
75
+
76
+ ### JavaScript — CLI (`cli/*.js`)
77
+
78
+ | Element | Convention | Example |
79
+ |---------|-----------|---------|
80
+ | File name | camelCase | `install.js` |
81
+ | Module system | CommonJS (`require`/`module.exports`) | `const fs = require('node:fs')` |
82
+ | Node built-in imports | `node:` prefix protocol | `require('node:fs')`, `require('node:path')` |
83
+ | Functions | camelCase | `ensureDir()`, `copyWithReplace()`, `copyFileWithReplace()` |
84
+ | Constants | camelCase (local scoped) | `const installPath = ...` |
85
+ | Global constants | UPPER_SNAKE_CASE | `const PLATFORMS = { ... }` |
86
+ | File header | JSDoc-style comment block | `/** Agent Assistant CLI Installer */` |
87
+ | Shebang | Present in entry point | `#!/usr/bin/env node` |
88
+
89
+ ### TypeScript/TSX — Web (`web/src/**/*.{ts,tsx}`)
90
+
91
+ | Element | Convention | Example |
92
+ |---------|-----------|---------|
93
+ | Component files | PascalCase `.tsx` | `App.tsx` |
94
+ | Entry point | camelCase `.tsx` | `main.tsx` |
95
+ | Module system | ES Modules (`import`/`export`) | `import App from './App'` |
96
+ | Components | PascalCase function names | `function App()` |
97
+ | CSS classes | Tailwind utility classes | `className="flex items-center"` |
98
+
99
+ ---
100
+
101
+ ## Indentation and Whitespace
102
+
103
+ No enforced standard. Observed patterns:
104
+
105
+ | Context | Observed | Notes |
106
+ |---------|----------|-------|
107
+ | Markdown files | 2-space or no indentation (flat structure) | No enforcement |
108
+ | YAML frontmatter | 2-space indentation | YAML standard |
109
+ | JavaScript (CLI) | 2 or 4-space (inconsistent) | No Prettier, no editorconfig |
110
+ | TypeScript (web) | Follows ESLint defaults | ESLint does not enforce indent by default |
111
+ | JSON (package.json) | 2-space indentation | npm default |
112
+
113
+ ---
114
+
115
+ ## Line Endings and Encoding
116
+
117
+ No `.editorconfig` or `.gitattributes` to enforce line endings or charset. The project relies on OS and editor defaults.
118
+
119
+ ---
120
+
121
+ ## Linting Tools
122
+
123
+ | Scope | Tool | Config File | Enforcement |
124
+ |-------|------|-------------|-------------|
125
+ | CLI JavaScript | `node --check` | None (built-in syntax check) | `npm run lint` — validates syntax only, no style rules |
126
+ | Web TypeScript/TSX | ESLint ^9.39.1 + typescript-eslint | `web/eslint.config.js` | Flat config format, includes react-hooks and react-refresh plugins |
127
+ | Markdown | markdownlint (suggested) | None | `npm run lint:md` echoes a suggestion to run `npx markdownlint` manually |
128
+ | YAML | None | — | No YAML linter configured |
129
+
130
+ ---
131
+
132
+ ## ESLint Configuration (Web Only)
133
+
134
+ The web sub-project uses ESLint 9 flat config format:
135
+
136
+ - **Parser**: typescript-eslint
137
+ - **Extends**: `js.configs.recommended`, `tseslint.configs.recommended`
138
+ - **Plugins**: `eslint-plugin-react-hooks` (flat recommended), `eslint-plugin-react-refresh` (Vite config)
139
+ - **Target**: `**/*.{ts,tsx}` files
140
+ - **Ignores**: `dist/`
141
+ - **ECMAScript version**: 2020
142
+ - **Globals**: browser
143
+
144
+ ---
145
+
146
+ ## Evidence Sources
147
+
148
+ | Source | Path |
149
+ |--------|------|
150
+ | Package manifest (scripts, no Prettier) | [../../package.json](../../package.json) |
151
+ | Web ESLint flat config | [../../web/eslint.config.js](../../web/eslint.config.js) |
152
+ | Agent file — frontmatter + naming | [../../agents/backend-engineer.md](../../agents/backend-engineer.md) |
153
+ | Command file — frontmatter + naming | [../../commands/cook.md](../../commands/cook.md) |
154
+ | Rule file — naming pattern | [../../rules/CORE.md](../../rules/CORE.md) |
155
+ | CLI entry point — JS conventions | [../../cli/install.js](../../cli/install.js) |
156
+ | Web component — TSX conventions | [../../web/src/App.tsx](../../web/src/App.tsx) |
157
+ | Web entry — TSX conventions | [../../web/src/main.tsx](../../web/src/main.tsx) |
158
+ | Matrix skill file — YAML naming | [../../matrix-skills/backend.yaml](../../matrix-skills/backend.yaml) |
159
+ | Special matrix files | [../../matrix-skills/_index.yaml](../../matrix-skills/_index.yaml), [../../matrix-skills/_dynamic.yaml](../../matrix-skills/_dynamic.yaml) |
160
+ | Platform entry files | [../../CLAUDE.md](../../CLAUDE.md), [../../COPILOT.md](../../COPILOT.md), [../../CURSOR.md](../../CURSOR.md) |
161
+ | Document index example | [../knowledge-overview/00-index.md](../knowledge-overview/00-index.md) |
@@ -0,0 +1,254 @@
1
+ # Agent Assistant — Conventions
2
+
3
+ > **Purpose**: File/directory organization patterns, YAML frontmatter conventions, import patterns, module structure, comment standards, and document numbering conventions
4
+ > **Parent**: [00-index.md](./00-index.md)
5
+ > **Last Updated**: 2026-03-26
6
+ > **Generated By**: docs-core skill
7
+
8
+ ---
9
+
10
+ ## Directory Organization
11
+
12
+ ### Root-Level Structure
13
+
14
+ ```
15
+ agent-assistant/
16
+ ├── agents/ # 21 specialist agent definitions
17
+ │ └── teams/ # 17 team configurations (3 roles each)
18
+ ├── cli/ # CLI installer (CommonJS JavaScript)
19
+ ├── code-assistants/ # Platform-specific assistant configs
20
+ │ ├── antigravity-assistant/
21
+ │ ├── claude-assistant/
22
+ │ ├── codex-assistant/
23
+ │ ├── copilot-assistant/
24
+ │ └── cursor-assistant/
25
+ ├── commands/ # 14 command routers + variant subdirs
26
+ │ ├── cook.md # Router file
27
+ │ └── cook/ # Variant subdirectory
28
+ │ ├── fast.md
29
+ │ ├── hard.md
30
+ │ └── team.md
31
+ ├── documents/ # Project knowledge base
32
+ │ ├── knowledge-overview/
33
+ │ ├── knowledge-architecture/
34
+ │ ├── knowledge-domain/
35
+ │ ├── knowledge-source-base/
36
+ │ └── knowledge-standards/
37
+ ├── matrix-skills/ # 19 domain YAML registries + index
38
+ ├── rules/ # 7 governance rule files
39
+ ├── skills/ # 1,430+ skill module directories
40
+ ├── web/ # Marketing website (React 19 + Vite)
41
+ ├── CLAUDE.md # Platform entry files (UPPER_CASE)
42
+ ├── COPILOT.md
43
+ ├── CURSOR.md
44
+ ├── CODEX.md
45
+ ├── GEMINI.md
46
+ ├── AGENT.md
47
+ ├── AGENT-TEMPLATE.md
48
+ └── package.json
49
+ ```
50
+
51
+ ### Pattern Rules
52
+
53
+ | Pattern | Where | Rule |
54
+ |---------|-------|------|
55
+ | kebab-case directories | `agents/teams/`, `commands/*/`, `skills/*/`, `documents/*/`, `code-assistants/*/` | All multi-word directory names use hyphens |
56
+ | kebab-case `.md` files | `agents/`, `commands/` | Agent and command files match their directory convention |
57
+ | UPPER_CASE `.md` files | Root level, `rules/` | Reserved for platform entries (`CLAUDE.md`) and governance rules (`CORE.md`) |
58
+ | Numbered prefix files | `documents/*/` | All knowledge base files begin with `NN-` (00, 01, 02...) |
59
+ | Underscore prefix | `matrix-skills/` only | Reserved for meta-files: `_index.yaml`, `_dynamic.yaml` |
60
+ | Fixed role names | `agents/teams/*/` | Team directories always contain `techlead.md`, `executor.md`, `reviewer.md` |
61
+
62
+ ---
63
+
64
+ ## Document Numbering Convention
65
+
66
+ All files within `documents/` knowledge folders follow a numbered prefix scheme:
67
+
68
+ | Prefix | Purpose | Required |
69
+ |--------|---------|----------|
70
+ | `00-` | Index file — TOC, summary, cross-references | Yes (every knowledge folder) |
71
+ | `01-` through `NN-` | Content files in logical reading order | As needed |
72
+
73
+ - Numbering is zero-padded to two digits: `00`, `01`, `02`, ... `99`
74
+ - The `00-index.md` file is always the entry point for any knowledge folder
75
+ - Sub-files reference `./00-index.md` as their Parent in the header block
76
+ - File names after the prefix use kebab-case: `01-project-identity.md`, `03-git-workflow.md`
77
+
78
+ ---
79
+
80
+ ## YAML Frontmatter Conventions
81
+
82
+ ### Agent Frontmatter Schema
83
+
84
+ Every agent file in `agents/*.md` begins with YAML frontmatter:
85
+
86
+ ```yaml
87
+ ---
88
+ name: backend-engineer # kebab-case, matches filename
89
+ description: "Principal Backend Architect — server-side logic, API design, scalable systems"
90
+ profile: "backend:execution" # domain:category format
91
+ handoffs: [tester, database-architect, performance-engineer, devops-engineer]
92
+ version: "1.0" # quoted semver
93
+ category: execution # one of: meta, execution, validation, research, support
94
+ ---
95
+ ```
96
+
97
+ **Field rules**:
98
+ - `name` — Must be kebab-case, must match the filename without `.md` extension
99
+ - `description` — Sentence case, includes role title and brief scope
100
+ - `profile` — Format is `domain:category` where domain maps to a matrix-skills file
101
+ - `handoffs` — Array of other agent names (kebab-case) this agent can delegate to
102
+ - `version` — Always a quoted string, semver format
103
+ - `category` — Enum: `meta`, `execution`, `validation`, `research`, `support`
104
+
105
+ ### Command Frontmatter Schema
106
+
107
+ Every command file in `commands/*.md` begins with YAML frontmatter:
108
+
109
+ ```yaml
110
+ ---
111
+ description: "🍳 Cook Router — Route to feature implementation workflows"
112
+ version: "1.0" # quoted semver
113
+ category: engineering # varies: engineering, quality, planning, documentation, etc.
114
+ execution-mode: router # "router" for main commands, "execute" for variants
115
+ ---
116
+ ```
117
+
118
+ **Field rules**:
119
+ - `description` — Begins with an emoji, followed by command name and summary
120
+ - `version` — Always a quoted string
121
+ - `category` — Lowercase, describes the command's domain
122
+ - `execution-mode` — Either `router` (dispatches to variants) or `execute` (runs directly)
123
+
124
+ ### Team Role Files
125
+
126
+ Team role files in `agents/teams/*/` do not use YAML frontmatter. They use Markdown structure directly with an attribute table.
127
+
128
+ ---
129
+
130
+ ## Import and Module Patterns
131
+
132
+ ### CLI — CommonJS (`cli/*.js`)
133
+
134
+ ```javascript
135
+ const fs = require('node:fs');
136
+ const path = require('node:path');
137
+ const os = require('node:os');
138
+ const readline = require('node:readline');
139
+ ```
140
+
141
+ **Rules**:
142
+ - All Node.js built-in imports use the `node:` prefix protocol
143
+ - No external dependencies (zero production dependencies)
144
+ - No `import`/`export` syntax — strictly CommonJS `require`/`module.exports`
145
+ - Functions are defined with `function` declarations or `const fn = () => {}` arrow syntax
146
+
147
+ ### Web — ES Modules (`web/src/**/*.{ts,tsx}`)
148
+
149
+ ```typescript
150
+ import App from './App'
151
+ import './index.css'
152
+ ```
153
+
154
+ **Rules**:
155
+ - Standard ES module `import`/`export` syntax
156
+ - React components use default exports
157
+ - CSS imported as side-effect imports
158
+ - Third-party imports before local imports (enforced by ESLint import ordering)
159
+
160
+ ---
161
+
162
+ ## Module Structure Patterns
163
+
164
+ ### CLI Entry Point (`cli/install.js`)
165
+
166
+ ```
167
+ #!/usr/bin/env node
168
+ /**
169
+ * JSDoc header block
170
+ */
171
+
172
+ // 1. Built-in imports (node: protocol)
173
+ // 2. Constants and configuration
174
+ // 3. Utility functions
175
+ // 4. Core business logic functions
176
+ // 5. CLI argument parsing and execution
177
+ ```
178
+
179
+ - Shebang line at top for direct execution via `npx` or `npm bin`
180
+ - Single-file architecture — all CLI logic in one `install.js` file
181
+ - No class-based patterns — functional approach throughout
182
+ - Functions are not exported (test file notes this as a blocker for unit testing)
183
+
184
+ ### Web Components (`web/src/*.tsx`)
185
+
186
+ ```
187
+ // 1. React and third-party imports
188
+ // 2. Local component imports
189
+ // 3. Style imports
190
+ // 4. Component function (PascalCase)
191
+ // 5. Default export
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Comment Standards
197
+
198
+ ### JavaScript (CLI)
199
+
200
+ - File-level: JSDoc block comment (`/** ... */`)
201
+ - Inline: `//` single-line comments for explanations
202
+ - No enforced JSDoc on functions (no JSDoc linting configured)
203
+
204
+ ### TypeScript (Web)
205
+
206
+ - Minimal comments observed
207
+ - ESLint does not enforce comment rules
208
+
209
+ ### Markdown (Agents, Commands, Rules)
210
+
211
+ - HTML comments used for cognitive anchors: `<!-- 🔒 COGNITIVE ANCHOR — ... -->`
212
+ - Blockquotes (`>`) used for binding directives and core directives
213
+ - YAML code blocks used for structured configuration display
214
+ - Emoji used in section headers for visual scanning
215
+
216
+ ### YAML (Matrix Skills)
217
+
218
+ - `#` comments for section separators and notes
219
+ - Inline comments rare
220
+
221
+ ---
222
+
223
+ ## Configuration File Conventions
224
+
225
+ | File | Format | Location | Purpose |
226
+ |------|--------|----------|---------|
227
+ | `package.json` | JSON | Root | npm manifest, scripts, dependencies |
228
+ | `.releaserc.json` | JSON | Root | semantic-release plugin configuration |
229
+ | `.gitignore` | Text | Root | Git exclusion patterns |
230
+ | `eslint.config.js` | ESM JavaScript | `web/` | ESLint 9 flat config |
231
+ | `tsconfig.json` | JSON | `web/` | TypeScript compiler options |
232
+ | `tsconfig.app.json` | JSON | `web/` | App-specific TS config (extends base) |
233
+ | `vite.config.ts` | TypeScript | `web/` | Vite build configuration |
234
+ | `tailwind.config.*` | Config | `web/` | Tailwind CSS v4 configuration |
235
+ | `_index.yaml` | YAML | `matrix-skills/` | Skill registry master index |
236
+ | `_dynamic.yaml` | YAML | `matrix-skills/` | Dynamic skill resolution rules |
237
+
238
+ ---
239
+
240
+ ## Evidence Sources
241
+
242
+ | Source | Path |
243
+ |--------|------|
244
+ | Agent frontmatter example | [../../agents/backend-engineer.md](../../agents/backend-engineer.md) |
245
+ | Command frontmatter example | [../../commands/cook.md](../../commands/cook.md) |
246
+ | CLI module structure | [../../cli/install.js](../../cli/install.js) |
247
+ | Web ESLint config (import patterns) | [../../web/eslint.config.js](../../web/eslint.config.js) |
248
+ | Web component example | [../../web/src/App.tsx](../../web/src/App.tsx) |
249
+ | Web entry point | [../../web/src/main.tsx](../../web/src/main.tsx) |
250
+ | Matrix skills index | [../../matrix-skills/_index.yaml](../../matrix-skills/_index.yaml) |
251
+ | Document index pattern | [../knowledge-overview/00-index.md](../knowledge-overview/00-index.md) |
252
+ | Document sub-file pattern | [../knowledge-overview/01-project-identity.md](../knowledge-overview/01-project-identity.md) |
253
+ | Package manifest | [../../package.json](../../package.json) |
254
+ | Test example (import patterns) | [../../cli/install.test.js.example](../../cli/install.test.js.example) |
@@ -0,0 +1,228 @@
1
+ # Agent Assistant — Git Workflow
2
+
3
+ > **Purpose**: Commit message format, semantic-release pipeline, branch naming, Husky hooks, and end-to-end release process
4
+ > **Parent**: [00-index.md](./00-index.md)
5
+ > **Last Updated**: 2026-03-26
6
+ > **Generated By**: docs-core skill
7
+
8
+ ---
9
+
10
+ ## Commit Message Format
11
+
12
+ Agent Assistant uses **Conventional Commits** as defined by the `conventionalcommits` preset in semantic-release. The format is:
13
+
14
+ ```
15
+ <type>(<scope>): <description>
16
+
17
+ [optional body]
18
+
19
+ [optional footer(s)]
20
+ ```
21
+
22
+ ### Commit Types and Release Impact
23
+
24
+ Configured in `.releaserc.json` via `@semantic-release/commit-analyzer`:
25
+
26
+ | Type | Release | Appears in Changelog | Section |
27
+ |------|---------|---------------------|---------|
28
+ | `feat` | **minor** | Yes | Features |
29
+ | `fix` | **patch** | Yes | Bug Fixes |
30
+ | `perf` | **patch** | Yes | Performance |
31
+ | `refactor` | **patch** | Yes | Refactoring |
32
+ | `docs` (scope: `README`) | **patch** | Yes | Documentation |
33
+ | `docs` (other scopes) | no release | Yes | Documentation |
34
+ | `chore` | no release | Hidden | — |
35
+ | `style` | no release | Hidden | — |
36
+ | `test` | no release | Hidden | — |
37
+ | `ci` | no release | Hidden (not in preset config) | — |
38
+ | `build` | no release | Hidden (not in preset config) | — |
39
+
40
+ ### Breaking Changes
41
+
42
+ Any commit with `breaking: true` (via `BREAKING CHANGE:` footer or `!` after type) triggers a **major** release regardless of commit type.
43
+
44
+ ### Commit Message Examples
45
+
46
+ ```
47
+ feat: add codex platform support to CLI installer
48
+
49
+ fix(cli): resolve path resolution on Windows for install command
50
+
51
+ perf: reduce file copy operations with batch processing
52
+
53
+ refactor: extract platform config into constants object
54
+
55
+ docs(README): update installation instructions for v1.3
56
+
57
+ chore: update devDependencies to latest versions
58
+
59
+ feat!: restructure agent YAML schema
60
+ BREAKING CHANGE: agent frontmatter now requires 'profile' field
61
+ ```
62
+
63
+ ### Scope Conventions (observed)
64
+
65
+ Scopes are optional. When used, they follow these observed patterns:
66
+
67
+ | Scope | Used For |
68
+ |-------|----------|
69
+ | `cli` | Changes to `cli/install.js` |
70
+ | `README` | README documentation changes (triggers patch release) |
71
+ | `web` | Changes to `web/` directory |
72
+ | `agents` | Agent definition changes |
73
+ | `commands` | Command file changes |
74
+ | `rules` | Rule file changes |
75
+ | `skills` | Skill module changes |
76
+ | `release` | Auto-generated release commits |
77
+
78
+ ---
79
+
80
+ ## Branch Strategy
81
+
82
+ ### Release Branch
83
+
84
+ Configured in `.releaserc.json`:
85
+
86
+ ```json
87
+ {
88
+ "branches": ["main"]
89
+ }
90
+ ```
91
+
92
+ - **`main`** is the sole release branch (config also accepts `master` as a fallback pattern)
93
+ - Releases are triggered by pushes to `main`
94
+ - No pre-release branches configured (`beta`, `alpha`, `next` — none)
95
+ - No maintenance branches configured
96
+
97
+ ### Branch Naming
98
+
99
+ No branch naming convention is enforced via tooling. No branch protection rules are visible in the repository configuration files. There is no `commitlint` or branch-name-lint installed.
100
+
101
+ ---
102
+
103
+ ## Semantic-Release Pipeline
104
+
105
+ The release pipeline is fully automated via `semantic-release` ^22.0.12 with the following plugin chain, executed in order:
106
+
107
+ ### Plugin Execution Order
108
+
109
+ | Step | Plugin | Action |
110
+ |------|--------|--------|
111
+ | 1 | `@semantic-release/commit-analyzer` | Analyzes commits since last release, determines version bump (major/minor/patch/none) |
112
+ | 2 | `@semantic-release/release-notes-generator` | Generates changelog content from commits using `conventionalcommits` preset |
113
+ | 3 | `@semantic-release/changelog` | Writes generated notes to `CHANGELOG.md` |
114
+ | 4 | `@semantic-release/npm` | Publishes package to npm registry (scoped public: `@namch/agent-assistant`) |
115
+ | 5 | `@semantic-release/git` | Commits updated `CHANGELOG.md` and `package.json`, creates git tag |
116
+ | 6 | `@semantic-release/github` | Creates GitHub Release with notes |
117
+
118
+ ### Release Commit Format
119
+
120
+ The `@semantic-release/git` plugin generates an auto-commit with this template:
121
+
122
+ ```
123
+ chore(release): ${nextRelease.version} [skip ci]
124
+
125
+ ${nextRelease.notes}
126
+ ```
127
+
128
+ The `[skip ci]` tag prevents infinite CI loops (relevant when CI/CD is eventually added).
129
+
130
+ ### Assets Committed by Release
131
+
132
+ ```json
133
+ {
134
+ "assets": ["CHANGELOG.md", "package.json"]
135
+ }
136
+ ```
137
+
138
+ Only `CHANGELOG.md` (updated content) and `package.json` (bumped version) are committed automatically.
139
+
140
+ ---
141
+
142
+ ## End-to-End Release Process
143
+
144
+ ```
145
+ 1. Developer commits to `main` using conventional commit format
146
+ 2. Run: npx semantic-release (or npm run semantic-release)
147
+ 3. commit-analyzer reads commits since last git tag
148
+ 4. Determines version bump (or skips if no releasable commits)
149
+ 5. release-notes-generator creates changelog entry
150
+ 6. changelog plugin writes to CHANGELOG.md
151
+ 7. npm plugin publishes @namch/agent-assistant@{new-version} to npm
152
+ 8. git plugin commits CHANGELOG.md + package.json, creates tag v{new-version}
153
+ 9. github plugin creates GitHub Release with notes
154
+ ```
155
+
156
+ There is no CI/CD pipeline to automate this. The `npx semantic-release` command must be run manually or via a future CI setup. The `npm run semantic-release` script is available as a convenience.
157
+
158
+ ---
159
+
160
+ ## Husky Git Hooks
161
+
162
+ Husky ^8.0.3 is installed as a dev dependency. The `prepare` script runs `husky install || true` on `npm install`.
163
+
164
+ ### Hook Directory
165
+
166
+ The `.husky/` directory exists at the project root. The `|| true` fallback in the prepare script ensures installation does not fail in environments where `.git/` is absent (e.g., npm package consumers).
167
+
168
+ ### Configured Hooks
169
+
170
+ Based on the `.husky/` directory listing, a pre-commit hook file exists (the directory contained a single `_` file at the time of inspection — this is the Husky internal directory marker). Specific hook scripts would be located at `.husky/pre-commit`, `.husky/commit-msg`, etc.
171
+
172
+ **What is NOT configured via hooks**:
173
+ - No `commitlint` — commit messages are not validated at commit time
174
+ - No `lint-staged` — no automatic linting of staged files
175
+ - No pre-push hooks observed
176
+
177
+ ---
178
+
179
+ ## PR and Merge Guidelines
180
+
181
+ No PR template (`.github/pull_request_template.md`) exists. No branch protection rules are configured in repository files. No merge strategy is enforced via configuration.
182
+
183
+ **Observed practice**: Direct commits to `main` are the apparent workflow, given the absence of CI/CD, branch protection, and PR templates.
184
+
185
+ ---
186
+
187
+ ## Git Ignore Patterns
188
+
189
+ The `.gitignore` excludes:
190
+
191
+ | Category | Patterns |
192
+ |----------|----------|
193
+ | Build outputs | `out`, `dist`, `*.vsix`, `.vscode-test` |
194
+ | Dependencies | `node_modules` |
195
+ | OS files | `.DS_Store`, `Thumbs.db` |
196
+ | Environment | `.env`, `.env.*` (but not `.env.example`) |
197
+ | Generated reports | `reports/` |
198
+ | Logs | `*.log`, `npm-debug.log*` |
199
+ | Coverage | `coverage/`, `.nyc_output/` |
200
+
201
+ ---
202
+
203
+ ## npm Publishing Configuration
204
+
205
+ ```json
206
+ {
207
+ "publishConfig": {
208
+ "access": "public"
209
+ }
210
+ }
211
+ ```
212
+
213
+ - Package is scoped (`@namch/agent-assistant`) and published with public access
214
+ - The `files` field in `package.json` explicitly lists included paths: `cli/`, `agents/`, `commands/`, `rules/`, `matrix-skills/`, `skills/`, `documents/`, `code-assistants/`, `LICENSE`, `README.md`, `CHANGELOG.md`
215
+ - The `web/` directory is excluded from the npm package
216
+
217
+ ---
218
+
219
+ ## Evidence Sources
220
+
221
+ | Source | Path |
222
+ |--------|------|
223
+ | Release configuration | [../../.releaserc.json](../../.releaserc.json) |
224
+ | Package manifest (scripts, hooks, publish config) | [../../package.json](../../package.json) |
225
+ | Changelog | [../../CHANGELOG.md](../../CHANGELOG.md) |
226
+ | Git ignore | [../../.gitignore](../../.gitignore) |
227
+ | Husky directory | `../../.husky/` |
228
+ | Dev dependencies (semantic-release ecosystem) | [../../package.json](../../package.json) — `devDependencies` section |