@ripla/godd-mcp 0.1.2-beta-20260312091403

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 (180) hide show
  1. package/README.md +412 -0
  2. package/dist/godd.cjs +465 -0
  3. package/dist/godd.js +34845 -0
  4. package/dist/index.js +224 -0
  5. package/notes-api/.env.example +29 -0
  6. package/notes-api/README.md +65 -0
  7. package/notes-api/alembic/README +1 -0
  8. package/notes-api/alembic/env.py +62 -0
  9. package/notes-api/alembic/script.py.mako +28 -0
  10. package/notes-api/alembic/versions/001_initial_notes_tables.py +71 -0
  11. package/notes-api/alembic.ini +149 -0
  12. package/notes-api/app/__init__.py +1 -0
  13. package/notes-api/app/config.py +90 -0
  14. package/notes-api/app/database.py +31 -0
  15. package/notes-api/app/main.py +55 -0
  16. package/notes-api/app/models/__init__.py +17 -0
  17. package/notes-api/app/models/audit.py +38 -0
  18. package/notes-api/app/models/base.py +38 -0
  19. package/notes-api/app/models/session.py +32 -0
  20. package/notes-api/app/models/setting.py +16 -0
  21. package/notes-api/app/models/user.py +38 -0
  22. package/notes-api/app/routers/__init__.py +1 -0
  23. package/notes-api/app/routers/auth.py +205 -0
  24. package/notes-api/app/routers/files.py +76 -0
  25. package/notes-api/app/routers/pr.py +92 -0
  26. package/notes-api/app/routers/settings.py +44 -0
  27. package/notes-api/app/routers/tree.py +22 -0
  28. package/notes-api/app/routers/users.py +145 -0
  29. package/notes-api/app/schemas/__init__.py +1 -0
  30. package/notes-api/app/schemas/auth.py +45 -0
  31. package/notes-api/app/schemas/user.py +41 -0
  32. package/notes-api/app/security.py +94 -0
  33. package/notes-api/app/services/__init__.py +1 -0
  34. package/notes-api/app/services/audit.py +25 -0
  35. package/notes-api/app/services/business_date.py +38 -0
  36. package/notes-api/app/services/github.py +140 -0
  37. package/notes-api/app/services/github_pr.py +120 -0
  38. package/notes-api/app/services/pr_chain.py +225 -0
  39. package/notes-api/app/startup.py +66 -0
  40. package/notes-api/docker/Dockerfile +14 -0
  41. package/notes-api/docker/Dockerfile.test +14 -0
  42. package/notes-api/pyproject.toml +53 -0
  43. package/notes-api/tests/conftest.py +21 -0
  44. package/notes-api/tests/test_business_date.py +32 -0
  45. package/notes-api/tests/test_health.py +11 -0
  46. package/notes-api/uv.lock +1012 -0
  47. package/notes-app/README.md +30 -0
  48. package/notes-app/docker/Dockerfile.prod +12 -0
  49. package/notes-app/docker/Dockerfile.test +12 -0
  50. package/notes-app/eslint.config.js +23 -0
  51. package/notes-app/index.html +12 -0
  52. package/notes-app/nginx.conf +23 -0
  53. package/notes-app/package.json +37 -0
  54. package/notes-app/pnpm-lock.yaml +3124 -0
  55. package/notes-app/src/App.tsx +13 -0
  56. package/notes-app/src/main.tsx +13 -0
  57. package/notes-app/src/pages/LoginPage.test.tsx +15 -0
  58. package/notes-app/src/pages/LoginPage.tsx +10 -0
  59. package/notes-app/src/pages/MainPage.tsx +14 -0
  60. package/notes-app/src/styles/globals.css +1 -0
  61. package/notes-app/src/vite-env.d.ts +1 -0
  62. package/notes-app/tsconfig.json +24 -0
  63. package/notes-app/tsconfig.node.json +10 -0
  64. package/notes-app/vite.config.js +21 -0
  65. package/notes-app/vite.config.ts +22 -0
  66. package/notes-app/vitest.config.ts +16 -0
  67. package/package.json +58 -0
  68. package/stacks/django-vue.yaml +33 -0
  69. package/stacks/fastapi-react.yaml +160 -0
  70. package/stacks/flutter-firebase.yaml +58 -0
  71. package/stacks/nextjs-prisma.yaml +33 -0
  72. package/stacks/schema.json +144 -0
  73. package/templates/agents/architect.hbs +183 -0
  74. package/templates/agents/auto-documenter.hbs +36 -0
  75. package/templates/agents/backend-developer.hbs +175 -0
  76. package/templates/agents/code-reviewer.hbs +29 -0
  77. package/templates/agents/database-developer.hbs +52 -0
  78. package/templates/agents/debug-specialist.hbs +39 -0
  79. package/templates/agents/environment-setup.hbs +41 -0
  80. package/templates/agents/frontend-developer.hbs +45 -0
  81. package/templates/agents/integration-qa.hbs +26 -0
  82. package/templates/agents/performance-qa.hbs +24 -0
  83. package/templates/agents/pr-writer.hbs +53 -0
  84. package/templates/agents/quality-lead.hbs +26 -0
  85. package/templates/agents/requirements-analyst.hbs +26 -0
  86. package/templates/agents/security-analyst.hbs +21 -0
  87. package/templates/agents/security-reviewer.hbs +20 -0
  88. package/templates/agents/ssot-updater.hbs +45 -0
  89. package/templates/agents/technical-writer.hbs +28 -0
  90. package/templates/agents/unit-test-engineer.hbs +19 -0
  91. package/templates/agents/user-clone.hbs +43 -0
  92. package/templates/github-actions/aws/deploy-notes.yml.hbs +118 -0
  93. package/templates/github-actions/azure/deploy-notes.yml.hbs +78 -0
  94. package/templates/github-actions/gcp/deploy-notes.yml.hbs +76 -0
  95. package/templates/github-actions/vercel-railway/deploy-notes.yml.hbs +49 -0
  96. package/templates/mindsets/agent-stdio.hbs +51 -0
  97. package/templates/mindsets/dart.hbs +39 -0
  98. package/templates/mindsets/ddd-clean-architecture.hbs +52 -0
  99. package/templates/mindsets/electron.hbs +41 -0
  100. package/templates/mindsets/fastapi.hbs +40 -0
  101. package/templates/mindsets/flutter.hbs +56 -0
  102. package/templates/mindsets/kotlin.hbs +46 -0
  103. package/templates/mindsets/postgresql.hbs +39 -0
  104. package/templates/mindsets/python.hbs +39 -0
  105. package/templates/mindsets/react.hbs +51 -0
  106. package/templates/mindsets/swift.hbs +46 -0
  107. package/templates/mindsets/terraform.hbs +53 -0
  108. package/templates/mindsets/typescript.hbs +34 -0
  109. package/templates/mindsets/vite.hbs +37 -0
  110. package/templates/notes-compose.yml +79 -0
  111. package/templates/partials/cogito-geo.hbs +84 -0
  112. package/templates/partials/cogito-godd.hbs +22 -0
  113. package/templates/partials/cogito-grammar.hbs +105 -0
  114. package/templates/partials/cogito-particle.hbs +76 -0
  115. package/templates/partials/cogito-root-ai.hbs +79 -0
  116. package/templates/partials/cogito-root-arch.hbs +75 -0
  117. package/templates/partials/cogito-root-core.hbs +75 -0
  118. package/templates/partials/cogito-root-daily.hbs +58 -0
  119. package/templates/partials/cogito-root-dev.hbs +71 -0
  120. package/templates/partials/cogito-root-devops.hbs +71 -0
  121. package/templates/partials/cogito-root-framework.hbs +80 -0
  122. package/templates/partials/cogito-root-lang.hbs +74 -0
  123. package/templates/partials/godd-core.hbs +50 -0
  124. package/templates/partials/project-context.hbs +52 -0
  125. package/templates/partials/ssot-header.hbs +40 -0
  126. package/templates/partials/ssot-rules.hbs +30 -0
  127. package/templates/prompts/adr.hbs +39 -0
  128. package/templates/prompts/agent-dev-workflow.hbs +34 -0
  129. package/templates/prompts/analyze-report.hbs +36 -0
  130. package/templates/prompts/auto-documentation.hbs +37 -0
  131. package/templates/prompts/check.hbs +52 -0
  132. package/templates/prompts/commit.hbs +96 -0
  133. package/templates/prompts/dev.hbs +127 -0
  134. package/templates/prompts/docs-init.hbs +95 -0
  135. package/templates/prompts/docs-update.hbs +51 -0
  136. package/templates/prompts/git-workflow.hbs +125 -0
  137. package/templates/prompts/impact-analysis.hbs +43 -0
  138. package/templates/prompts/install.hbs +40 -0
  139. package/templates/prompts/new-branch.hbs +61 -0
  140. package/templates/prompts/notes-deploy.hbs +72 -0
  141. package/templates/prompts/pr-analyze.hbs +44 -0
  142. package/templates/prompts/pr-create.hbs +125 -0
  143. package/templates/prompts/push-execute.hbs +83 -0
  144. package/templates/prompts/push.hbs +24 -0
  145. package/templates/prompts/release-notes.hbs +38 -0
  146. package/templates/prompts/requirements-to-business-flow.hbs +29 -0
  147. package/templates/prompts/requirements-to-tickets.hbs +26 -0
  148. package/templates/prompts/review.hbs +126 -0
  149. package/templates/prompts/setup.hbs +247 -0
  150. package/templates/prompts/spec.hbs +35 -0
  151. package/templates/prompts/specification-to-tickets.hbs +24 -0
  152. package/templates/prompts/submit.hbs +143 -0
  153. package/templates/prompts/sync.hbs +63 -0
  154. package/templates/prompts/test-plan.hbs +56 -0
  155. package/templates/terraform/aws/alb.tf.hbs +58 -0
  156. package/templates/terraform/aws/backend.tf.hbs +10 -0
  157. package/templates/terraform/aws/cloudfront.tf.hbs +96 -0
  158. package/templates/terraform/aws/ecr.tf.hbs +30 -0
  159. package/templates/terraform/aws/ecs.tf.hbs +136 -0
  160. package/templates/terraform/aws/iam.tf.hbs +88 -0
  161. package/templates/terraform/aws/local.tf.hbs +34 -0
  162. package/templates/terraform/aws/output.tf.hbs +49 -0
  163. package/templates/terraform/aws/provider.tf.hbs +26 -0
  164. package/templates/terraform/aws/rds.tf.hbs +38 -0
  165. package/templates/terraform/aws/s3.tf.hbs +34 -0
  166. package/templates/terraform/aws/secrets.tf.hbs +38 -0
  167. package/templates/terraform/aws/security_groups.tf.hbs +72 -0
  168. package/templates/terraform/aws/vpc.tf.hbs +63 -0
  169. package/templates/terraform/azure/backend.tf.hbs +8 -0
  170. package/templates/terraform/azure/iam.tf.hbs +36 -0
  171. package/templates/terraform/azure/main.tf.hbs +199 -0
  172. package/templates/terraform/azure/output.tf.hbs +19 -0
  173. package/templates/terraform/azure/provider.tf.hbs +19 -0
  174. package/templates/terraform/gcp/backend.tf.hbs +6 -0
  175. package/templates/terraform/gcp/iam.tf.hbs +47 -0
  176. package/templates/terraform/gcp/main.tf.hbs +171 -0
  177. package/templates/terraform/gcp/output.tf.hbs +15 -0
  178. package/templates/terraform/gcp/provider.tf.hbs +19 -0
  179. package/templates/terraform/vercel-railway/main.tf.hbs +64 -0
  180. package/templates/terraform/vercel-railway/output.tf.hbs +11 -0
@@ -0,0 +1,96 @@
1
+ {{> ssot-header }}
2
+
3
+ {{> godd-core }}
4
+
5
+ {{> ssot-rules }}
6
+
7
+ {{> project-context }}
8
+
9
+ {{> cogito-grammar }}
10
+ {{> cogito-root-core }}
11
+ {{> cogito-particle }}
12
+ {{> cogito-godd }}
13
+ {{> cogito-root-dev }}
14
+
15
+ ## Purpose
16
+ Split changes into **proper granularity (1 commit = 1 responsibility)** and commit them with **rule-compliant commit messages**. The Agent handles the full flow: propose → confirm → execute.
17
+
18
+ ## Auto-confirm Mode
19
+ {{#if auto_confirm}}
20
+ **auto_confirm is ENABLED** — Skip user approval for the commit plan. Execute immediately after creating the plan and report results afterward.
21
+ {{else}}
22
+ **auto_confirm is DISABLED (default)** — Wait for user approval before executing the commit plan.
23
+ {{/if}}
24
+
25
+ ## Rules (1 commit = 1 responsibility)
26
+
27
+ ### Hard Scope (mixing these in a single commit is NG)
28
+ - `frontend`: `frontend/**`
29
+ - `backend`: `backend/**`
30
+ - `repo-root`: Everything else
31
+
32
+ ### Soft Scope (can be included in the same commit)
33
+ - `docs`: `documents/**`
34
+ - `scripts`: `scripts/**`
35
+
36
+ Example: `frontend + docs` is OK, `frontend + backend` is NG.
37
+
38
+ ### Commit Message Rules
39
+ - **Subject (line 1)**: Max 50 characters, start with lowercase English verb
40
+ - Prefixes: `add` / `update` / `fix` / `refactor` / `remove` / `docs` / `chore` / `test`
41
+ - Example: `add user authentication endpoint`
42
+ - Example: `fix validation error on login form`
43
+ - **Blank line**
44
+ - **Body**: May be in the project's working language. Include:
45
+ - **Why**: Why this change is needed (1-2 lines)
46
+ - **What**: What was changed (bullet list)
47
+ - **Impact**: Scope of impact (required for breaking changes)
48
+
49
+ ## Agent Steps (MUST)
50
+
51
+ ### Step 1: Review All Changes
52
+ 1. Run `git status` to list changed files (staged / unstaged / untracked)
53
+ 2. Run `git diff` for unstaged diffs
54
+ 3. Run `git diff --cached` for staged diffs
55
+ - **If no changes**: Report "No changes to commit" and exit
56
+
57
+ ### Step 2: Create Commit Plan by Responsibility
58
+ 1. Classify changed files by **hard scope**:
59
+ - `frontend/**` → frontend group
60
+ - `backend/**` → backend group
61
+ - Other → repo-root group
62
+ 2. Within each group, further split by **logical responsibility**:
63
+ - Same feature/purpose → group into one commit
64
+ - Different features → separate commits
65
+ - `docs` / `scripts` may be included with their related hard scope commit
66
+ 3. Create a **commit plan** (what goes into which commit, in what order)
67
+
68
+ ### Step 3: Present Plan and Confirm
69
+ 1. Present the commit plan to the user:
70
+ ```
71
+ Commit Plan:
72
+ 1. [scope] <proposed commit message>
73
+ - Files: file1, file2, ...
74
+ 2. [scope] <proposed commit message>
75
+ - Files: file3, file4, ...
76
+ ```
77
+ {{#if auto_confirm}}
78
+ 2. **Auto-confirm enabled**: Skip approval and proceed directly to Step 4
79
+ {{else}}
80
+ 2. Wait for user approval
81
+ - If modifications are requested, revise and re-present
82
+ {{/if}}
83
+
84
+ ### Step 4: Execute Commits
85
+ 1. For each commit in the plan:
86
+ - `git add <target files>` to stage
87
+ - `git diff --cached --stat` to verify staged content
88
+ - `git commit -m "<commit message>"` to commit
89
+ 2. After each commit, verify with `git log --oneline -1`
90
+ 3. After all commits, show `git log --oneline -<commit count>`
91
+
92
+ ## Output
93
+ - **Commit plan**: Responsibility split and message proposals (for user confirmation)
94
+ - **Execution result**: Each commit hash and message
95
+ - **Final state**: `git status` summary (any remaining uncommitted changes)
96
+ - **Warnings** (if applicable): Hard scope mixing detected, oversized commits
@@ -0,0 +1,127 @@
1
+ {{> ssot-header }}
2
+
3
+ {{> godd-core }}
4
+
5
+ {{> ssot-rules }}
6
+
7
+ {{> project-context }}
8
+
9
+ {{> cogito-grammar }}
10
+ {{> cogito-root-core }}
11
+ {{> cogito-particle }}
12
+ {{> cogito-godd }}
13
+ {{> cogito-root-dev }}
14
+
15
+ ## Purpose
16
+ This is the **canonical development entry prompt** that enables an Agent to automatically complete the following when a developer (human) simply **makes a request in natural language**.
17
+
18
+ - Environment/prerequisite check (preflight)
19
+ - Post-change quality gate (quality-gate)
20
+ - PR body generation (template-compliant, fact-based)
21
+
22
+ ## Input
23
+ - **Request (what you want to do)**
24
+ - **Completion criteria (measurable)**
25
+
26
+ ### Optional (fill in what you can)
27
+ - slug (ticket/short identifier)
28
+ - Constraints
29
+ - Integration test (DB): `yes` | `no` | `unknown`
30
+ - Post-integration DB cleanup: `down-volumes` | `down` | `none`
31
+
32
+ ## Output
33
+ - **Execution log**: preflight/quality-gate results (pass/fail, log file path)
34
+ - **Change summary**: What, why, where
35
+ - **Test results**: Commands executed and results
36
+ - **PR body (final)**: Markdown with all template fields filled
37
+ - **PR creation metadata**: base/head/title/body (for GitHub MCP PR creation)
38
+
39
+ ## Rules (SSOT)
40
+ - Spec is the SSOT for specifications. If ambiguous, ask questions first to clarify
41
+ {{#if backend}}- Backend dependency direction: {{backend.dependency_direction}}{{/if}}
42
+ - Front separates UI and side effects (into hooks/services)
43
+ {{#if frontend}}- At minimum for frontend changes, run `{{frontend.build_command}}`{{/if}}
44
+ - Do not edit CI/CD configurations
45
+ - **Tests run inside Docker containers** — use `docker compose run --rm --profile test <service>-test` for each project. Never run tests directly on the host
46
+
47
+ ## Branch Management (Mandatory — execute BEFORE any code changes)
48
+ 1. Run `git branch --show-current` to check the current branch
49
+ 2. Run `git remote show origin | grep 'HEAD branch'` (or equivalent) to identify the default branch (e.g. `main`, `master`)
50
+ 3. **If the current branch IS the default branch**:
51
+ - Create a new feature branch and switch to it **before making any changes**
52
+ - Branch naming convention: `feat/<slug-or-task-summary>-<YYYYMMDD>`
53
+ - If `slug` is provided → use it (e.g. `feat/add-auth-20260212`)
54
+ - If no slug → derive a short kebab-case summary from the task description (max 5 words, e.g. `feat/fix-login-validation-20260212`)
55
+ - Date is the current date in `YYYYMMDD` format
56
+ - Command: `git checkout -b feat/<branch-name>`
57
+ - Inform the developer that a new branch was created and why
58
+ 4. **If already on a feature branch** → continue on the current branch (no action needed)
59
+
60
+ ## Agent Workflow (Required — Follow This Exact Sequence)
61
+
62
+ ### Phase 0: Branch Check
63
+ Execute "Branch Management" above — always first, before any code changes.
64
+
65
+ ### Phase 1: Pre-work Analysis (MUST — Do Not Skip)
66
+ Before writing any code, analyze and present to the user:
67
+
68
+ 1. **Goal & completion criteria** — Restate the request in measurable terms
69
+ 2. **Existing structure & constraints** — Review relevant code, patterns, and dependencies
70
+ 3. **Impact scope & risks** — Which modules/layers are affected? What could break?
71
+ 4. **Implementation approach** — Choose and justify your approach (standard / conservative / bold)
72
+ 5. **Open questions** — If anything is unclear, ask NOW (do not proceed with assumptions)
73
+
74
+ If open questions exist, **stop and present them to the user** using the Question Template before continuing.
75
+
76
+ ### Phase 2: Spec & Test Design (ATDD — MUST for new features)
77
+ 1. Verify/supplement Spec (create/update if needed)
78
+ 2. **Define acceptance criteria** in Given-When-Then format for the requested change
79
+ 3. **Write acceptance tests FIRST** (Red phase — tests should fail because the feature doesn't exist yet)
80
+ - For bug fixes: write a reproduction test first
81
+ - For refactoring: ensure existing tests cover the area, or add characterization tests first
82
+
83
+ ### Phase 3: Implementation
84
+ 1. Impact analysis → Split Front/Back branches/PRs if necessary
85
+ 2. Run preflight (opt-in DB→API→migration→integration if needed, cleanup policy per SSOT)
86
+ 3. Implement (Self-documenting code, minimal Why comments)
87
+ - Implement failure paths first, then happy path
88
+ - Apply early returns to keep nesting shallow
89
+ - 1 commit = 1 responsibility — keep changes focused
90
+ 4. **Make acceptance tests pass** (Green phase)
91
+ 5. Refactor if needed — tests remain as regression suite
92
+
93
+ ### Phase 4: Quality Assurance
94
+ 1. Run quality-gate
95
+ {{#if quality_gate}}{{#if quality_gate.frontend}} - Frontend: `{{quality_gate.frontend}}`
96
+ {{/if}}{{#if quality_gate.backend}} - Backend: `{{quality_gate.backend}}`
97
+ {{/if}}{{/if}}
98
+ 2. **Continue fixing until all tests pass** — do not give up
99
+ 3. If tests cannot run: document reason, alternative verification, and remaining risks
100
+
101
+ ### Phase 5: Commit & PR
102
+ 1. Follow "End-of-Work Commit Strategy" below
103
+ 2. Generate PR body (fully template-compliant, fact-based)
104
+ 3. Prepare PR creation metadata for GitHub MCP
105
+
106
+ ## End-of-Work Commit Strategy (Mandatory — execute AFTER implementation is complete)
107
+ When all implementation and quality-gate checks are done:
108
+ 1. Run `git status` and `git diff` to review all changes
109
+ 2. **Group changes into logical commit units** (1 commit = 1 responsibility):
110
+ - Separate by concern: schema/migration, backend logic, frontend UI, tests, config, docs
111
+ - Each commit should be independently reviewable and revertable
112
+ - Do NOT create a single monolithic commit for all changes
113
+ 3. For each logical unit:
114
+ - Stage only the relevant files: `git add <specific-files>`
115
+ - Write a clear commit message (short first line, body with reason/impact/verification)
116
+ 4. Verify with `git log --oneline -n <N>` that the commit history is clean and readable
117
+ 5. Inform the developer of the commits created and their scope
118
+
119
+ {{#if frontend.mindset}}
120
+ ## Frontend Mindset
121
+ {{{frontend.mindset}}}
122
+ {{/if}}
123
+
124
+ {{#if backend.mindset}}
125
+ ## Backend Mindset
126
+ {{{backend.mindset}}}
127
+ {{/if}}
@@ -0,0 +1,95 @@
1
+ {{> ssot-header }}
2
+ {{> godd-core }}
3
+ {{> ssot-rules }}
4
+ {{> project-context }}
5
+
6
+ ## Purpose
7
+
8
+ プロジェクトに `docs/` フォルダ構造をテンプレートから生成する。
9
+ ripla Notes(テキストノート / テーブルノート / drawio)で閲覧・編集可能なドキュメント初期構造を作成する。
10
+
11
+ ## docs/ フォルダ構成(テンプレート)
12
+
13
+ 以下の構造を生成すること:
14
+
15
+ ```
16
+ docs/
17
+ ├── README.md # docs 全体の入口・構成説明
18
+ ├── 001_project/
19
+ │ ├── README.md # プロジェクト概要(背景・目的・MVP・用語)
20
+ │ ├── features.csv # 機能要件一覧(テーブルノート)
21
+ │ ├── screens.csv # 画面要件一覧(テーブルノート)
22
+ │ └── template_README.md
23
+ ├── 002_business_flow/
24
+ │ ├── README.md # ビジネスフロー概要(Mermaid 含む)
25
+ │ └── flow-overview.drawio
26
+ ├── 003_requirements/
27
+ │ ├── README.md # 要件概要
28
+ │ ├── requirements-list.csv # 要件一覧(テーブルノート)
29
+ │ └── template_requirements.md
30
+ ├── 004_non_functional_requirements/
31
+ │ ├── README.md
32
+ │ └── nfr-list.csv
33
+ ├── 005_pages/
34
+ │ ├── README.md
35
+ │ ├── page-definitions.csv
36
+ │ └── template_page.md
37
+ ├── 006_designs/
38
+ │ ├── README.md
39
+ │ ├── api/api.md
40
+ │ ├── db/db.md
41
+ │ ├── db/tables.csv
42
+ │ ├── infra/infra.md
43
+ │ └── features/README.md
44
+ └── 007_development/
45
+ ├── README.md
46
+ ├── structure.md
47
+ ├── workflow.md
48
+ ├── stacks.md
49
+ └── git.md
50
+ ```
51
+
52
+ ## ルール
53
+
54
+ 1. プロジェクトスキャン結果と入力パラメータ(プロジェクト名、ロール、画面ID)を使って各ファイルの内容を生成
55
+ 2. CSV ファイルはヘッダー行 + サンプル行を含める
56
+ 3. README.md は Mermaid ダイアグラムを含める(適切な場合)
57
+ 4. 既に `docs/` が存在する場合は既存構造を尊重し、不足分のみ追加
58
+ 5. 各ファイルの先頭にファイルの目的を1行コメントで記載
59
+
60
+ ## CSV ヘッダー定義
61
+
62
+ ### features.csv
63
+ ```
64
+ 機能ID,機能名,概要,phase,優先度,ステータス
65
+ ```
66
+
67
+ ### screens.csv
68
+ ```
69
+ 画面ID,画面名,概要,提供フェーズ,関連機能ID,ステータス
70
+ ```
71
+
72
+ ### requirements-list.csv
73
+ ```
74
+ 要件ID,要件名,概要,優先度,ステータス
75
+ ```
76
+
77
+ ### nfr-list.csv
78
+ ```
79
+ NFR-ID,カテゴリ,要件,基準,優先度
80
+ ```
81
+
82
+ ### page-definitions.csv
83
+ ```
84
+ 画面ID,画面名,URL,認証要否,概要
85
+ ```
86
+
87
+ ### tables.csv
88
+ ```
89
+ テーブル名,カラム名,型,制約,説明
90
+ ```
91
+
92
+ ## 出力
93
+
94
+ - 生成した全ファイルのパスと内容
95
+ - 生成理由の簡潔な説明
@@ -0,0 +1,51 @@
1
+ {{> ssot-header }}
2
+ {{> godd-core }}
3
+ {{> ssot-rules }}
4
+ {{> project-context }}
5
+
6
+ ## Purpose
7
+
8
+ コード変更後に `docs/` 内の関連ドキュメント(MD/CSV)を同期・更新する。
9
+ 変更内容から影響するドキュメントを特定し、更新差分を提案する。
10
+
11
+ ## 対象ドキュメント構造
12
+
13
+ ```
14
+ docs/
15
+ ├── 001_project/ # プロジェクト概要、機能要件、画面要件
16
+ ├── 002_business_flow/ # ビジネスフロー
17
+ ├── 003_requirements/ # 要件定義
18
+ ├── 004_non_functional_requirements/ # 非機能要件
19
+ ├── 005_pages/ # 画面設計
20
+ ├── 006_designs/ # 詳細設計(API/DB/機能別)
21
+ └── 007_development/ # 設計思想・アーキテクチャ & 開発ガイド
22
+ ```
23
+
24
+ ## ルール
25
+
26
+ 1. 変更内容を分析し、影響を受ける docs/ セクション(001-007)を特定する
27
+ 2. 各セクションの既存ドキュメントを確認し、更新が必要な箇所を特定する
28
+ 3. MD ファイルの更新差分を提案する(追記/修正ポイントを明確に)
29
+ 4. CSV ファイルに行の追加/更新が必要な場合は具体的な行内容を提示する
30
+ 5. Mermaid ダイアグラムが古くなっている場合は更新版を提案する
31
+ 6. **既存の内容を壊さない**ように差分のみ提案する
32
+
33
+ ## 影響マッピング
34
+
35
+ | コード変更種別 | 影響するセクション |
36
+ |---|---|
37
+ | 新機能追加 | 001 (features.csv), 003 (requirements), 006 (features/) |
38
+ | API 変更 | 006 (api/), 003 (requirements) |
39
+ | DB スキーマ変更 | 006 (db/) |
40
+ | 画面追加/変更 | 001 (screens.csv), 005 (pages/) |
41
+ | インフラ変更 | 007 (infra.md) |
42
+ | アーキテクチャ変更 | 007 (architecture.md) |
43
+ | 開発フロー変更 | 007 (workflow.md, git.md) |
44
+ | ビジネスフロー変更 | 002 (business_flow/) |
45
+
46
+ ## 出力
47
+
48
+ 1. 影響を受けるドキュメント一覧(ファイルパス)
49
+ 2. 各ドキュメントの追記/修正ポイント(箇条書き)
50
+ 3. 具体的な更新内容(差分形式)
51
+ 4. 参照切れチェック結果
@@ -0,0 +1,125 @@
1
+ {{> ssot-header }}
2
+
3
+ {{> godd-core }}
4
+
5
+ {{> ssot-rules }}
6
+
7
+ {{> project-context }}
8
+
9
+ {{> cogito-grammar }}
10
+ {{> cogito-root-core }}
11
+ {{> cogito-particle }}
12
+ {{> cogito-godd }}
13
+ {{> cogito-root-dev }}
14
+
15
+ ## Purpose
16
+ Execute **default branch sync → new branch creation → commit with proper granularity** as a unified workflow. The developer only needs to provide the branch name and purpose.
17
+
18
+ ## References (detailed specs for each step)
19
+ - sync: `godd_sync` tool
20
+ - new-branch: `godd_new_branch` tool
21
+ - commit: `godd_commit` tool
22
+
23
+ ## Input
24
+ - **branch_name** (required): Branch name to create (follows naming convention from `godd_new_branch`)
25
+ - **purpose** (optional): What the branch is for (improves commit message accuracy)
26
+ - **auto_confirm** (optional, default: false): When true, skip all user confirmations and execute the entire workflow automatically
27
+
28
+ ## Auto-confirm Mode
29
+ {{#if auto_confirm}}
30
+ **auto_confirm is ENABLED** — All phases run without user confirmation. Conflicts are resolved by Agent's best judgment. Commit plans are executed immediately. Results are reported afterward.
31
+ {{else}}
32
+ **auto_confirm is DISABLED (default)** — Each phase pauses for user confirmation when decisions are needed.
33
+ {{/if}}
34
+
35
+ ## Agent Steps (MUST)
36
+
37
+ ### Phase 1: Default Branch Sync (sync)
38
+
39
+ 1. Run `git status` to check for uncommitted changes
40
+ 2. If uncommitted changes exist, run `git stash --include-untracked`
41
+ 3. Run `git fetch origin main` to get remote latest
42
+ 4. Run `git merge origin/main` to sync
43
+ - On conflict: Resolve using SSOT-priority policy (SSOT-compliant side first; integrate if both comply; ask user if uncertain)
44
+ 5. If stashed, run `git stash pop` to restore (resolve conflicts if any)
45
+
46
+ {{#if auto_confirm}}
47
+ **Auto-confirm**: Agent resolves conflicts by best judgment and continues to Phase 2
48
+ {{else}}
49
+ **Abort condition**: If conflict resolution requires user confirmation, do NOT proceed to Phase 2 — wait for user input
50
+ {{/if}}
51
+
52
+ ### Phase 2: New Branch Creation (new-branch)
53
+
54
+ 1. If uncommitted changes exist, run `git stash --include-untracked`
55
+ 2. Run `git checkout -b <branch_name> origin/main` to create and switch
56
+ - Phase 1 already synced main, so the latest main is the base
57
+ 3. If stashed, run `git stash pop` to restore (resolve conflicts if any)
58
+
59
+ {{#if auto_confirm}}
60
+ **Auto-confirm**: If a branch with the same name already exists, delete it and recreate
61
+ {{else}}
62
+ **Abort condition**: If a branch with the same name already exists, ask the user
63
+ {{/if}}
64
+
65
+ ### Phase 3: Commit with Proper Granularity (commit)
66
+
67
+ 1. Run `git status` / `git diff` to review changes
68
+ - **If no changes**: Report "No changes to commit. Branch creation and sync complete." and exit
69
+ 2. Classify changed files by **hard scope** (frontend / backend / repo-root) and create a commit plan by responsibility unit
70
+ 3. Present the commit plan to the user and wait for approval
71
+ 4. After approval, execute commits one by one following the plan
72
+
73
+ {{#if auto_confirm}}
74
+ **Auto-confirm**: Skip approval and execute commits immediately after creating the plan
75
+ {{else}}
76
+ **Abort condition**: Commit plan requires user approval (never auto-execute)
77
+ {{/if}}
78
+
79
+ ## Flow Overview
80
+
81
+ ```
82
+ [Start]
83
+ |
84
+ v
85
+ Phase 1: sync (merge latest main)
86
+ | |- Conflict -> resolve or abort for user confirmation
87
+ | '- Success
88
+ v
89
+ Phase 2: new-branch (create branch)
90
+ | |- Same name exists -> abort for user confirmation
91
+ | '- Success
92
+ v
93
+ Phase 3: commit (responsibility-unit commits)
94
+ | |- No changes -> report completion
95
+ | |- Changes exist -> present commit plan -> wait for approval
96
+ | '- After approval -> execute commits
97
+ v
98
+ [Complete]
99
+ ```
100
+
101
+ ## Output
102
+ Report results progressively for each phase:
103
+
104
+ ### Phase 1 Result
105
+ - Sync result: Success / Conflicts resolved / Already up to date
106
+ - Number of commits synced
107
+
108
+ ### Phase 2 Result
109
+ - Created branch name
110
+ - Base point (origin/main commit hash)
111
+ - Stash restore result
112
+
113
+ ### Phase 3 Result
114
+ - Commit plan (for user review)
115
+ - Execution result: Each commit hash and message
116
+ - Final state: `git status` / `git log --oneline -5`
117
+
118
+ ### Final Summary
119
+ ```
120
+ [git-workflow complete]
121
+ - Sync: Merged N commits from latest main
122
+ - Branch: Created <branch_name> (base: <hash>)
123
+ - Commits: Executed N commits
124
+ - State: Clean / Uncommitted changes remain
125
+ ```
@@ -0,0 +1,43 @@
1
+ {{> ssot-header }}
2
+
3
+ {{> godd-core }}
4
+
5
+ {{> ssot-rules }}
6
+
7
+ {{> project-context }}
8
+
9
+ {{> cogito-grammar }}
10
+ {{> cogito-root-core }}
11
+ {{> cogito-particle }}
12
+ {{> cogito-godd }}
13
+ {{> cogito-root-dev }}
14
+ {{> cogito-root-daily }}
15
+
16
+ ## Purpose
17
+ Identify the blast radius before making changes and prevent oversights.
18
+ Evaluate from **all perspectives**: functional, performance, UX, security, and operational impact.
19
+
20
+ ## Input
21
+ - Change summary (what / why)
22
+ - Target modules ({{#each stacks}}{{this.label}}{{#unless @last}} / {{/unless}}{{/each}})
23
+ - Whether breaking changes exist
24
+
25
+ ## Analysis Framework
26
+ For each affected area, evaluate:
27
+ 1. **Direct impact**: What changes and why
28
+ 2. **Indirect impact**: What could be affected as a side effect
29
+ 3. **Risk level**: HIGH / MEDIUM / LOW with justification
30
+ 4. **Mitigation**: How to reduce or eliminate the risk
31
+ 5. **Rollback plan**: How to undo the change if something goes wrong
32
+
33
+ ## Output
34
+ Markdown filling in each section of the impact-analysis template:
35
+ - **Change overview**: What is being changed and why
36
+ - **Affected modules/components**: List with impact type (direct/indirect)
37
+ - **Breaking changes**: Yes/No, details if Yes
38
+ - **Migration requirements**: Steps needed for existing data/users
39
+ - **Rollback plan**: Step-by-step reversal procedure
40
+ - **Risk matrix**: Impact × likelihood for each identified risk
41
+ - **Test requirements**: What needs to be tested to verify the change is safe
42
+
43
+ Mark unclear items as **TBD** and list questions at the end using the Question Template.
@@ -0,0 +1,40 @@
1
+ {{> ssot-header }}
2
+
3
+ {{> cogito-grammar }}
4
+ {{> cogito-root-core }}
5
+ {{> cogito-particle }}
6
+ {{> cogito-godd }}
7
+ {{> cogito-root-daily }}
8
+
9
+ {{> ssot-rules }}
10
+
11
+ {{> project-context }}
12
+
13
+ ## Purpose
14
+ Install and activate the specified tool/MCP server with environment-appropriate procedures.
15
+
16
+ ## Supported Tools
17
+ - **Context7**: Official pattern reference MCP
18
+ - **Chrome DevTools MCP**: Browser debugging support (DevTools integration)
19
+ - **MarkItDown MCP**: Document conversion (PDF/Office → Markdown)
20
+ - **MCP OCR**: OCR (image/PDF text extraction)
21
+ - **Serena**: Reference tracking/safe editing MCP
22
+ - **Vibe ODF Read MCP**: ODF (.odt etc.) reading
23
+ - Any other user-specified tool
24
+
25
+ ## Input (fill by asking)
26
+ - Tool name to install
27
+ - OS (Windows/macOS/Linux)
28
+ - Network constraints (internal/proxy)
29
+ - Cursor MCP config scope (workspace/user)
30
+
31
+ ## Output
32
+ - **Installation steps** (commands in copy-paste-ready format)
33
+ - **Activation/connectivity verification** steps
34
+ - **Common failure points** and workarounds
35
+ - **Operational rules** (when to use / when not to use)
36
+
37
+ ## Rules
38
+ - Do not guess when prerequisites are unclear. Ask the user first
39
+ - Installation commands are highly environment-dependent; always confirm OS/network constraints
40
+ - Include an example of adding to Cursor's MCP config (`.cursor/mcp.json`)
@@ -0,0 +1,61 @@
1
+ {{> ssot-header }}
2
+
3
+ {{> godd-core }}
4
+
5
+ {{> ssot-rules }}
6
+
7
+ {{> project-context }}
8
+
9
+ {{> cogito-grammar }}
10
+ {{> cogito-root-core }}
11
+ {{> cogito-particle }}
12
+ {{> cogito-godd }}
13
+ {{> cogito-root-dev }}
14
+
15
+ ## Purpose
16
+ Safely stash any in-progress changes, create a new branch from the latest default branch, and restore the stashed changes. The developer only needs to provide the branch name (or purpose).
17
+
18
+ ## Input
19
+ - **branch_name** (required): The branch name to create. If not provided, the Agent proposes one based on the purpose and asks for confirmation
20
+ - **base_branch** (optional): Base branch to create from. Defaults to `origin/main`
21
+
22
+ ### Branch Naming Convention
23
+ - Feature: `feat/<slug>`
24
+ - UI implementation: `feat/<slug>-frontend` / `feat/<slug>-backend` (Front/Back separation required)
25
+ - Bug fix: `fix/<slug>`
26
+ - Documentation: `docs/<slug>`
27
+ - Refactoring: `refactor/<slug>`
28
+ - Other: `chore/<slug>`
29
+
30
+ ## Agent Steps (MUST)
31
+
32
+ ### Step 1: Check Current State
33
+ 1. Run `git status` to check for uncommitted changes (staged / unstaged / untracked)
34
+ 2. Record the current branch name via `git branch --show-current`
35
+
36
+ ### Step 2: Stash Changes (only if uncommitted changes exist)
37
+ 1. Run `git stash --include-untracked` to stash all changes
38
+ 2. Verify stash succeeded (`git stash list` shows the entry at top)
39
+ - **If no changes**: Skip stash, proceed to Step 3
40
+
41
+ ### Step 3: Fetch Remote and Create Branch
42
+ 1. Run `git fetch origin` to update remote
43
+ 2. Run `git checkout -b <branch_name> <base_branch>` to create and switch to the new branch
44
+ - If base_branch not specified: `git checkout -b <branch_name> origin/main`
45
+ - If a branch with the same name already exists: Ask the user (overwrite or rename)
46
+
47
+ ### Step 4: Restore Stashed Changes (only if stashed)
48
+ 1. Run `git stash pop` to restore stashed changes
49
+ 2. Check result:
50
+ - **Success**: Complete
51
+ - **Conflict**: Report conflicted files and resolve:
52
+ - **Keep SSOT-compliant side**: If one side adheres to SSOT, adopt it
53
+ - **Both compliant and integrable**: Integrate both
54
+ - **Uncertain**: Ask the user (never guess)
55
+
56
+ ## Output
57
+ - **Created branch name**: Full branch name
58
+ - **Base**: Which branch/commit it was created from
59
+ - **Previous branch**: Branch name before switching
60
+ - **Stash restore result**: Success / Conflicts / Not needed
61
+ - **Current state**: `git status` summary