@ripla/godd-mcp 1.0.1 → 1.0.2-canary.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 (46) hide show
  1. package/README.md +2 -2
  2. package/dist/godd.cjs +116 -111
  3. package/dist/godd.js +114 -17
  4. package/dist/index.js +1 -1
  5. package/notes-api/app/config.py +24 -3
  6. package/notes-api/app/database.py +10 -4
  7. package/notes-api/app/routers/comments.py +1 -0
  8. package/notes-api/app/routers/files.py +0 -1
  9. package/notes-api/app/routers/settings.py +4 -2
  10. package/notes-api/app/routers/tree.py +10 -2
  11. package/notes-api/app/services/github_issues.py +1 -1
  12. package/notes-api/tests/test_config_ssl.py +28 -0
  13. package/notes-api/tests/test_issues.py +15 -4
  14. package/notes-api/tests/test_pr.py +0 -1
  15. package/notes-api/tests/test_pr_chain.py +2 -2
  16. package/notes-api/tests/test_tree.py +15 -3
  17. package/notes-app/src/components/IssueList.tsx +36 -16
  18. package/notes-app/vitest.config.ts +1 -0
  19. package/package.json +1 -1
  20. package/templates/agents/architect.hbs +4 -4
  21. package/templates/agents/auto-documenter.hbs +4 -4
  22. package/templates/agents/backend-developer.hbs +3 -3
  23. package/templates/agents/code-reviewer.hbs +2 -2
  24. package/templates/agents/database-developer.hbs +4 -4
  25. package/templates/agents/debug-specialist.hbs +2 -2
  26. package/templates/agents/environment-setup.hbs +1 -1
  27. package/templates/agents/frontend-developer.hbs +5 -5
  28. package/templates/agents/integration-qa.hbs +1 -1
  29. package/templates/agents/pr-writer.hbs +1 -1
  30. package/templates/agents/quality-lead.hbs +3 -3
  31. package/templates/agents/requirements-analyst.hbs +2 -2
  32. package/templates/agents/security-analyst.hbs +1 -1
  33. package/templates/agents/ssot-updater.hbs +3 -3
  34. package/templates/agents/technical-writer.hbs +3 -3
  35. package/templates/agents/unit-test-engineer.hbs +1 -1
  36. package/templates/prompts/agent-dev-workflow.hbs +1 -1
  37. package/templates/prompts/docs-init.hbs +41 -59
  38. package/templates/prompts/docs-update.hbs +10 -10
  39. package/templates/prompts/notes-deploy.hbs +2 -1
  40. package/templates/prompts/pr-create.hbs +2 -2
  41. package/templates/prompts/push-execute.hbs +2 -2
  42. package/templates/prompts/push.hbs +1 -1
  43. package/templates/prompts/requirements-to-business-flow.hbs +1 -1
  44. package/templates/prompts/specification-to-tickets.hbs +1 -1
  45. package/templates/prompts/submit.hbs +2 -2
  46. package/templates/prompts/sync.hbs +1 -1
@@ -1,4 +1,4 @@
1
- import { useState, useEffect, useCallback } from "react";
1
+ import { useState, useEffect, useRef } from "react";
2
2
  import {
3
3
  listIssuesApi,
4
4
  getErrorMessage,
@@ -18,24 +18,44 @@ export default function IssueList({ onSelect, selectedIssue }: IssueListProps) {
18
18
  const [loading, setLoading] = useState(true);
19
19
  const [error, setError] = useState<string | null>(null);
20
20
  const [stateFilter, setStateFilter] = useState<"open" | "closed">("open");
21
+ const [reloadKey, setReloadKey] = useState(0);
22
+ const requestSeq = useRef(0);
21
23
 
22
- const loadIssues = useCallback((signal?: AbortSignal) => {
24
+ const requestReload = () => {
25
+ requestSeq.current += 1;
23
26
  setLoading(true);
24
27
  setError(null);
25
- listIssuesApi({ state: stateFilter, per_page: 50, signal })
26
- .then((data) => { setIssues(data.issues); })
27
- .catch((e) => {
28
- if (isAbortError(e)) return;
29
- setError(getErrorMessage(e));
30
- })
31
- .finally(() => { setLoading(false); });
32
- }, [stateFilter]);
28
+ setReloadKey((key) => key + 1);
29
+ };
30
+
31
+ const changeStateFilter = (nextState: "open" | "closed") => {
32
+ if (nextState === stateFilter) return;
33
+ requestSeq.current += 1;
34
+ setLoading(true);
35
+ setError(null);
36
+ setStateFilter(nextState);
37
+ };
33
38
 
34
39
  useEffect(() => {
35
40
  const ac = new AbortController();
36
- loadIssues(ac.signal);
41
+ const requestId = requestSeq.current + 1;
42
+ requestSeq.current = requestId;
43
+ listIssuesApi({ state: stateFilter, per_page: 50, signal: ac.signal })
44
+ .then((data) => {
45
+ if (ac.signal.aborted || requestSeq.current !== requestId) return;
46
+ setIssues(data.issues);
47
+ })
48
+ .catch((e) => {
49
+ if (ac.signal.aborted || requestSeq.current !== requestId || isAbortError(e)) return;
50
+ setError(getErrorMessage(e));
51
+ })
52
+ .finally(() => {
53
+ if (!ac.signal.aborted && requestSeq.current === requestId) {
54
+ setLoading(false);
55
+ }
56
+ });
37
57
  return () => ac.abort();
38
- }, [loadIssues]);
58
+ }, [stateFilter, reloadKey]);
39
59
 
40
60
  return (
41
61
  <div className="flex flex-col h-full">
@@ -44,7 +64,7 @@ export default function IssueList({ onSelect, selectedIssue }: IssueListProps) {
44
64
  <div className="flex-1 flex bg-gray-900 rounded border border-gray-600 overflow-hidden text-xs">
45
65
  <button
46
66
  type="button"
47
- onClick={() => setStateFilter("open")}
67
+ onClick={() => changeStateFilter("open")}
48
68
  className={`flex-1 px-2 py-1 transition-colors ${
49
69
  stateFilter === "open"
50
70
  ? "bg-green-700/30 text-green-300"
@@ -56,7 +76,7 @@ export default function IssueList({ onSelect, selectedIssue }: IssueListProps) {
56
76
  </button>
57
77
  <button
58
78
  type="button"
59
- onClick={() => setStateFilter("closed")}
79
+ onClick={() => changeStateFilter("closed")}
60
80
  className={`flex-1 px-2 py-1 transition-colors ${
61
81
  stateFilter === "closed"
62
82
  ? "bg-purple-700/30 text-purple-300"
@@ -69,7 +89,7 @@ export default function IssueList({ onSelect, selectedIssue }: IssueListProps) {
69
89
  </div>
70
90
  <button
71
91
  type="button"
72
- onClick={() => loadIssues()}
92
+ onClick={requestReload}
73
93
  className="shrink-0 p-1 rounded text-gray-400 hover:text-gray-200 hover:bg-gray-700 transition-colors"
74
94
  title="更新"
75
95
  >
@@ -85,7 +105,7 @@ export default function IssueList({ onSelect, selectedIssue }: IssueListProps) {
85
105
  </div>
86
106
  )}
87
107
 
88
- {error && <InlineError message={error} onRetry={loadIssues} />}
108
+ {error && <InlineError message={error} onRetry={requestReload} />}
89
109
 
90
110
  {!loading && !error && issues.length === 0 && (
91
111
  <p className="text-xs text-gray-500 text-center py-4">
@@ -7,6 +7,7 @@ export default defineConfig({
7
7
  test: {
8
8
  environment: "jsdom",
9
9
  globals: true,
10
+ include: ["src/**/*.{test,spec}.{ts,tsx}"],
10
11
  },
11
12
  resolve: {
12
13
  alias: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ripla/godd-mcp",
3
- "version": "1.0.1",
3
+ "version": "1.0.2-canary.2",
4
4
  "type": "module",
5
5
  "description": "GoDD (Governance-orchestrated Driven Development) MCP Server - Encrypted prompt distribution via Model Context Protocol",
6
6
  "main": "dist/index.js",
@@ -51,10 +51,10 @@ In particular, understand and strictly follow the principles, guidelines, and re
51
51
  - .instruction/01_specialties/planning.md
52
52
  - .instruction/01_specialties/design.md
53
53
  - .instruction/01_specialties/consultation.md
54
- - docs/009_spec/README.md
55
- - docs/009_spec/api-template.md
56
- - docs/009_spec/ui-template.md
57
- - docs/009_spec/db-template.md
54
+ - docs/003_requirements/spec/README.md
55
+ - docs/003_requirements/api.template.md
56
+ - docs/003_requirements/ui.template.md
57
+ - docs/003_requirements/db.template.md
58
58
 
59
59
  ## Expertise
60
60
 
@@ -14,10 +14,10 @@
14
14
 
15
15
  # Role (SSOT)
16
16
 
17
- - **Specifications (Spec)**: `docs/009_spec/` (.md)
18
- - **Operational templates**: `docs/010_templates/` (.md)
19
- - **Configuration descriptions**: `docs/011_config/README.md` (descriptions for yaml/json)
20
- - **Tech stack**: `docs/008_guides/tech-stack.md`
17
+ - **Specifications (Spec)**: `docs/003_requirements/spec/` (.md)
18
+ - **Operational templates**: `docs/006_development_workflow/` (.md)
19
+ - **Configuration descriptions**: `docs/007_guides/mcp.md` (descriptions for yaml/json)
20
+ - **Tech stack**: `docs/007_guides/tech-stack.md`
21
21
  - **Rules/Entry**: `AGENTS.md` / `docs/README.md`
22
22
 
23
23
  ## When to Use (Auto-Activation)
@@ -51,9 +51,9 @@ Before starting work, read and understand the `AGENTS.md` at the project root an
51
51
  - .instruction/02_project/architecture.md
52
52
  - .instruction/02_project/domain.md
53
53
  - .instruction/02_project/patterns.md
54
- - docs/009_spec/README.md
55
- - docs/009_spec/api-template.md
56
- - docs/009_spec/db-template.md
54
+ - docs/003_requirements/spec/README.md
55
+ - docs/003_requirements/api.template.md
56
+ - docs/003_requirements/db.template.md
57
57
 
58
58
  Reference implementation: `{{backend.root_dir}}/**`
59
59
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  ## Review Criteria (SSOT)
16
16
 
17
- - **Spec alignment**: Does implementation match `docs/009_spec/`?
17
+ - **Spec alignment**: Does implementation match `docs/003_requirements/spec/`?
18
18
  - **Boundaries**:
19
19
  - Backend: {{backend.dependency_direction}}
20
20
  - Front: UI and side effects separated (into hooks/services)
@@ -26,4 +26,4 @@
26
26
  ## Output Format
27
27
 
28
28
  - Issues are presented with **severity (Blocker/Important/Nice)**, reason, and specific fix proposals as a set
29
- - If additional Spec/templates are needed, include proposals to add to `docs/009_spec` or `docs/010_templates`
29
+ - If additional Spec/templates are needed, include proposals to add to `docs/003_requirements/spec` or `docs/006_development_workflow`
@@ -34,9 +34,9 @@ Before starting work, read and understand the `AGENTS.md` at the project root an
34
34
  - .instruction/02_project/architecture.md
35
35
  - .instruction/02_project/domain.md
36
36
  - .instruction/02_project/patterns.md
37
- - docs/009_spec/README.md
38
- - docs/009_spec/db-template.md
39
- - docs/009_spec/error-codes-template.md
37
+ - docs/003_requirements/spec/README.md
38
+ - docs/003_requirements/db.template.md
39
+ - docs/003_requirements/error-codes.template.md
40
40
 
41
41
  ## DB Change Policy
42
42
 
@@ -47,6 +47,6 @@ Before starting work, read and understand the `AGENTS.md` at the project root an
47
47
 
48
48
  ## Deliverables (Minimum)
49
49
 
50
- - **DB Spec**: Satisfies `docs/009_spec/db-template.md` (DDL diffs, compatibility, migration/rollback, indexes, application steps)
50
+ - **DB Spec**: Satisfies `docs/003_requirements/db.template.md` (DDL diffs, compatibility, migration/rollback, indexes, application steps)
51
51
  - **Migration**: Alembic revision and application steps (both Docker and local)
52
52
  - **Impact scope**: Impact on existing APIs/features (especially search, list, aggregation)
@@ -25,8 +25,8 @@ Don't "fix by guessing" — converge reliably in order: reproduce→hypothesize
25
25
 
26
26
  - AGENTS.md
27
27
  - .instruction/01_specialties/investigation-debug.md
28
- - docs/010_templates/impact-analysis-template.md
29
- - docs/010_templates/test-plan-template.md
28
+ - docs/006_development_workflow/impact-analysis.template.md
29
+ - docs/006_development_workflow/test-plan.template.md
30
30
 
31
31
  ## Investigation Report (Minimum Format)
32
32
 
@@ -30,7 +30,7 @@ Agent responsible for **environment setup, reproducibility, and onboarding** for
30
30
  ## What to Do
31
31
 
32
32
  - Maintain the preflight script as the canonical entry point
33
- - Update `docs/012_setup/` and `docs/011_config/`, making procedures SSOT
33
+ - Update `docs/007_guides/` and `docs/007_guides/`, making procedures SSOT
34
34
  - Ensure external tools can be launched according to configuration file declarations
35
35
 
36
36
  ## Output Format
@@ -30,11 +30,11 @@ Screens focus on rendering; side effects (fetching/saving/IPC) are delegated to
30
30
  - .instruction/00_universal/quality.md
31
31
  - .instruction/00_universal/communication.md
32
32
  - .instruction/02_project/tech-stack.md
33
- - docs/009_spec/README.md
34
- - docs/009_spec/ui-template.md
35
- - docs/009_spec/api-template.md
36
- - docs/010_templates/impact-analysis-template.md
37
- - docs/010_templates/test-plan-template.md
33
+ - docs/003_requirements/spec/README.md
34
+ - docs/003_requirements/ui.template.md
35
+ - docs/003_requirements/api.template.md
36
+ - docs/006_development_workflow/impact-analysis.template.md
37
+ - docs/006_development_workflow/test-plan.template.md
38
38
 
39
39
  ## Implementation Guide (Frontend)
40
40
 
@@ -19,7 +19,7 @@
19
19
 
20
20
  ## Verification Template (Required)
21
21
 
22
- Based on `docs/010_templates/test-plan-template.md`, fill in at minimum:
22
+ Based on `docs/006_development_workflow/test-plan.template.md`, fill in at minimum:
23
23
  - Target features/modules
24
24
  - Normal/Error/Boundary cases
25
25
  - Manual verification steps and expected results
@@ -35,7 +35,7 @@ Retrieve the following via **Git MCP / git commands** and build the body from fa
35
35
  ## Generation Rules (PR Optimization)
36
36
 
37
37
  - **Title**: ~50 chars, change subject/purpose is unambiguous
38
- - **Body**: Fully compliant with `docs/010_templates/pr-template.md`
38
+ - **Body**: Fully compliant with `docs/006_development_workflow/pr.template.md`
39
39
  - **Changes**:
40
40
  - Write **"why"** (background/purpose) briefly before "what"
41
41
  - Change points in **bullet lists** at review-friendly granularity
@@ -14,9 +14,9 @@
14
14
 
15
15
  ## Quality Gate (Minimum)
16
16
 
17
- - **Spec**: Sufficient specifications exist in `docs/009_spec/` and match implementation
18
- - **Impact scope**: `docs/010_templates/impact-analysis-template.md` is filled
19
- - **Test plan**: `docs/010_templates/test-plan-template.md` is filled
17
+ - **Spec**: Sufficient specifications exist in `docs/003_requirements/spec/` and match implementation
18
+ - **Impact scope**: `docs/006_development_workflow/impact-analysis.template.md` is filled
19
+ - **Test plan**: `docs/006_development_workflow/test-plan.template.md` is filled
20
20
  - **Compatibility/Migration**: If breaking changes exist, migration/rollback are documented
21
21
  {{#if frontend.build_command}}- **Frontend changes**: `{{frontend.build_command}}` passes{{/if}}
22
22
 
@@ -14,7 +14,7 @@
14
14
 
15
15
  ## Success Criteria
16
16
 
17
- - Purpose/completion criteria are measurably defined and distilled into **implementable-granularity Spec** (`docs/009_spec/`)
17
+ - Purpose/completion criteria are measurably defined and distilled into **implementable-granularity Spec** (`docs/003_requirements/spec/`)
18
18
  - If breaking changes/migration/rollback are needed, decision-making materials are prepared upfront
19
19
 
20
20
  ## Output (Minimum)
@@ -23,4 +23,4 @@
23
23
  - Current understanding (assumptions)
24
24
  - Unclear points (questions)
25
25
  - Options (standard/conservative/bold) with recommendation
26
- - Draft based on `docs/009_spec/*-template.md` (API/UI/DB/Feature/Usecase)
26
+ - Draft based on `docs/003_requirements/spec/*-template.md` (API/UI/DB/Feature/Usecase)
@@ -18,4 +18,4 @@
18
18
  - Authentication/Authorization (policy when needed)
19
19
  - Information leakage (logs/error messages/screen display)
20
20
  - External I/O (file/OS/network) failure behavior
21
- - Error code design (`docs/009_spec/error-codes-template.md`)
21
+ - Error code design (`docs/003_requirements/error-codes.template.md`)
@@ -15,7 +15,7 @@
15
15
  # Role
16
16
 
17
17
  This Agent's **sole responsibility is SSOT updates**.
18
- It receives the "latest Spec (input)" and updates `docs/009_spec/`.
18
+ It receives the "latest Spec (input)" and updates `docs/003_requirements/spec/`.
19
19
 
20
20
  ## Input (Required)
21
21
 
@@ -25,7 +25,7 @@ It receives the "latest Spec (input)" and updates `docs/009_spec/`.
25
25
 
26
26
  ## Acceptance Criteria (MUST)
27
27
 
28
- - **Traceability (Spec→Implementation→Test)** is added/updated in `docs/009_spec/index.md`
28
+ - **Traceability (Spec→Implementation→Test)** is added/updated in `docs/003_requirements/spec/index.md`
29
29
  - Added/updated links point to existing files (file paths exist)
30
30
  - If test commands don't exist/aren't ready, **document the fact** and alternative verification
31
31
  - If ambiguity remains in Spec (terminology/completion criteria/exceptions), formalize as questions
@@ -33,7 +33,7 @@ It receives the "latest Spec (input)" and updates `docs/009_spec/`.
33
33
  ## Work Procedure (Standard)
34
34
 
35
35
  1. Read input Spec, determine category (Feature/API/UI/Usecase/DB/Error)
36
- 2. Append to relevant section in `docs/009_spec/index.md` (create if missing)
36
+ 2. Append to relevant section in `docs/003_requirements/spec/index.md` (create if missing)
37
37
  3. List referenced implementation files/test commands and verify existence
38
38
  4. Fill in Spec template's "Implementation Reference" and "Test Reference" (mark missing as TODO)
39
39
  5. Check for contradictions between added/updated Specs (same terminology/completion criteria)
@@ -18,11 +18,11 @@ Maintain the SSOT for Spec-Driven Development, preparing "implementable-granular
18
18
 
19
19
  ## References (SSOT)
20
20
 
21
- - Spec: `docs/009_spec/`
22
- - Templates: `docs/010_templates/`
21
+ - Spec: `docs/003_requirements/spec/`
22
+ - Templates: `docs/006_development_workflow/`
23
23
  - Core guidelines: `AGENTS.md`
24
24
 
25
25
  ## Deliverables
26
26
 
27
27
  - Spec additions/updates (API/UI/DB/Feature/Usecase/Error Codes)
28
- - Impact analysis/Test plans/ADR/PR/Release notes (`docs/010_templates` format)
28
+ - Impact analysis/Test plans/ADR/PR/Release notes (`docs/006_development_workflow` format)
@@ -16,4 +16,4 @@
16
16
 
17
17
  - Bug fixes follow **reproduction test → fix → re-run** as the standard
18
18
  - Cover at the appropriate nearby layer (Backend: Domain/Usecase, Front: hooks/pure functions)
19
- - For large changes, fix perspectives first using `docs/010_templates/test-plan-template.md`
19
+ - For large changes, fix perspectives first using `docs/006_development_workflow/test-plan.template.md`
@@ -24,7 +24,7 @@ Enable developers to complete the full cycle — from environment setup to imple
24
24
  - Humans review **only via GitHub PR diffs**
25
25
 
26
26
  ## Canonical References
27
- - Spec: `docs/009_spec/`
27
+ - Spec: `docs/003_requirements/spec/`
28
28
  {{#if frontend}}- Frontend quality gate: `{{frontend.build_command}}`
29
29
  {{/if}}{{#if backend}}- Backend quality gate: `{{quality_gate.backend}}`
30
30
  {{/if}}
@@ -14,52 +14,49 @@ ripla Notes(テキストノート / テーブルノート / drawio)で閲覧
14
14
 
15
15
  ```
16
16
  docs/
17
- ├── README.md # docs 全体の入口・構成説明
17
+ ├── README.md # docs 全体の入口・構成説明
18
18
  ├── 001_project/
19
- │ ├── README.md # プロジェクト概要(背景・目的・MVP・用語)
20
- │ ├── tasks.csv # タスク管理(テーブルノート)
21
- │ ├── features.csv # 機能要件一覧(テーブルノート)
22
- ├── screens.csv # 画面要件一覧(テーブルノート)
23
- │ └── template_README.md
19
+ │ ├── README.md # プロジェクト概要(背景・目的・プロダクト・システム構成・用語)
20
+ │ ├── pages.csv # 各プロダクトの画面一覧(テーブルノート)と各画面の概要
21
+ │ ├── features.csv # 画面ごとの機能一覧(テーブルノート)と各機能の概要
22
+ └── tasks.csv # 開発チームからの質問リストと要件定義チームからの要望一覧
24
23
  ├── 002_business_flow/
25
- │ ├── README.md # ビジネスフロー概要(Mermaid 含む)
26
- └── flow-overview.drawio
24
+ │ ├── README.md # ビジネスフロー概要、フォルダ内で整理するビジネスフロー一覧
25
+ ├── business_flow_name.template.md # 特定業務のビジネスフローを解説
26
+ │ └── business_flow_name.template.drawio # 特定業務のビジネスフローを図示
27
27
  ├── 003_requirements/
28
- │ ├── README.md # 要件概要
29
- │ ├── requirements-list.csv # 要件一覧(テーブルノート)
30
- └── template_requirements.md
31
- ├── 004_non_functional_requirements/
32
- ├── README.md
33
- │ └── nfr-list.csv
34
- ├── 005_pages/
35
- ├── README.md
36
- ├── page-definitions.csv
37
- │ └── template_page.md
38
- ├── 006_designs/
39
- ├── README.md
40
- ├── api/api.md
41
- │ ├── db/db.md
42
- │ ├── db/tables.csv
43
- │ ├── infra/infra.md
44
- └── features/README.md
45
- ├── 007_development/
46
- ├── README.md
47
- ├── structure.md
48
- ├── workflow.md
49
- │ ├── stacks.md
50
- └── git.md
51
- ├── 008_guides/
52
- │ ├── README.md # 運用・利用ガイド集
53
- │ └── guide-user.md # ユーザー向けガイド
54
- ├── 009_spec/
55
- ├── README.md # 仕様 SSOT
56
- │ └── api-spec.md # API 仕様
57
- ├── 010_templates/
58
- │ └── README.md # テンプレート集(影響分析/テスト計画/ADR 等)
59
- ├── 011_config/
60
- │ └── README.md # 設定説明(環境変数・デプロイ設定等)
61
- └── 012_setup/
62
- └── README.md # セットアップ・デプロイ手順
28
+ │ ├── README.md # フォルダの説明、フォルダ内で整理するrequirements一覧
29
+ │ ├── requirements.template.md # 概要、背景、ユーザーストーリー、画面要件、機能要件、機能詳細、非機能要件、備考
30
+ ├── <Product Name>/ # 管理画面、ユーザー向け画面などプロダクトごとにフォルダ作成
31
+ │ │ └── <feature_name>.md # 機能別の要件定義
32
+ └── spec/ # 仕様 SSOT(API仕様、インフラ仕様、言語仕様等)
33
+ ├── 004_pages/ # 画面設計
34
+ ├── README.md # フォルダの説明
35
+ └── app/ # 画面のURLパスを整理するため、Reactの app/ ディレクトリを配置
36
+ ├── admin/
37
+ └── corporations/
38
+ │ │ └── requirements.md # 画面ごとの画面要件を記載
39
+ └── users/
40
+ ├── 005_architecture/ # 開発をするにあたっての実際の設計(インフラ、DB、API、各機能の設計)
41
+ │ ├── README.md # フォルダの説明
42
+ │ ├── stacks/ # 技術スタック
43
+ │ ├── api/ # APIのSwaggerなど
44
+ ├── db/ # DB設計(ER図など)
45
+ ├── infra/ # インフラアーキテクチャの設計
46
+ └── features/ # 各機能の設計
47
+ └── feature.template.md # 機能設計書、データフロー、DB設計などを記載
48
+ ├── 006_development_workflow/ # 開発のルールやワークフローなどについて
49
+ │ ├── README.md # フォルダの説明
50
+ ├── git.md # Gitルール
51
+ │ └── workflow.md # 開発ワークフロー
52
+ └── 007_guides/ # ガイド集
53
+ ├── README.md # フォルダの説明
54
+ ├── godd_notes_usage.md # GoDD Notesの利用方法
55
+ ├── godd_usage.md # GoDD のコマンド一覧、ツール一覧、利用方法
56
+ ├── setup_godd.md # GoDD の始め方
57
+ ├── setup_godd_notes.md # GoDD Notesの構築方法
58
+ ├── setup_infra.md # インフラのCI/CDの構築ガイド
59
+ └── setup_local_environment.md # ローカル環境構築ガイド
63
60
  ```
64
61
 
65
62
  ## ルール
@@ -82,26 +79,11 @@ id,type,product,category,subject,detail,created_by,created_at,priority,deadline,
82
79
  機能ID,機能名,概要,phase,優先度,ステータス
83
80
  ```
84
81
 
85
- ### screens.csv
82
+ ### pages.csv
86
83
  ```
87
84
  画面ID,画面名,概要,提供フェーズ,関連機能ID,ステータス
88
85
  ```
89
86
 
90
- ### requirements-list.csv
91
- ```
92
- 要件ID,要件名,概要,優先度,ステータス
93
- ```
94
-
95
- ### nfr-list.csv
96
- ```
97
- NFR-ID,カテゴリ,要件,基準,優先度
98
- ```
99
-
100
- ### page-definitions.csv
101
- ```
102
- 画面ID,画面名,URL,認証要否,概要
103
- ```
104
-
105
87
  ### tables.csv
106
88
  ```
107
89
  テーブル名,カラム名,型,制約,説明
@@ -15,10 +15,10 @@ docs/
15
15
  ├── 001_project/ # プロジェクト概要、機能要件、画面要件
16
16
  ├── 002_business_flow/ # ビジネスフロー
17
17
  ├── 003_requirements/ # 要件定義
18
- ├── 004_non_functional_requirements/ # 非機能要件
19
- ├── 005_pages/ # 画面設計
20
- ├── 006_designs/ # 詳細設計(API/DB/機能別)
21
- └── 007_development/ # 設計思想・アーキテクチャ & 開発ガイド
18
+ ├── 004_pages/ # 画面設計
19
+ ├── 005_architecture/ # 詳細設計(インフラ/DB/API/機能別)
20
+ ├── 006_development_workflow/ # 開発ルール・ワークフロー
21
+ └── 007_guides/ # 利用・構築・運用ガイド
22
22
  ```
23
23
 
24
24
  ## ルール
@@ -35,12 +35,12 @@ docs/
35
35
  | コード変更種別 | 影響するセクション |
36
36
  |---|---|
37
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) |
38
+ | API 変更 | 005 (api/), 003 (requirements) |
39
+ | DB スキーマ変更 | 005 (db/) |
40
+ | 画面追加/変更 | 001 (pages.csv), 004 (app/) |
41
+ | インフラ変更 | 005 (infra/) |
42
+ | アーキテクチャ変更 | 005 (architecture.md) |
43
+ | 開発フロー変更 | 006 (workflow.md, git.md) |
44
44
  | ビジネスフロー変更 | 002 (business_flow/) |
45
45
 
46
46
  ## 出力
@@ -23,7 +23,7 @@ notes-app (React + Vite) ──proxy──▶ notes-api (FastAPI) ──▶
23
23
  | ローカルで試す / 開発環境 | `godd notes compose --auto` |
24
24
  | 設定をカスタマイズしたい | `godd notes compose --config <path>` |
25
25
  | AWS にデプロイ | `godd notes deploy -y` |
26
- | インフラを新規構築 | `godd notes infra` |
26
+ | インフラとアプリ雛形を新規構築 | `godd notes infra` |
27
27
 
28
28
  ### A. ローカルデプロイ(最も簡単)
29
29
 
@@ -79,6 +79,7 @@ godd notes compose --config notes-config.json
79
79
  **前提**:
80
80
  - AWS CLI でログイン済み(`aws sts get-caller-identity` が成功すること)
81
81
  - `godd notes infra` でインフラ構築済み
82
+ - `notes-api/` と `notes-app/` がデプロイ対象ルートに存在すること
82
83
  - `.godd-notes-infra.json` が存在すること
83
84
 
84
85
  ```bash
@@ -11,7 +11,7 @@
11
11
  {{> project-context }}
12
12
 
13
13
  ## Purpose
14
- Create a **Pull Request** on GitHub with a well-structured body following the PR template (`docs/010_templates/pr-template.md`). The Agent analyzes changes, generates PR content, and creates the PR.
14
+ Create a **Pull Request** on GitHub with a well-structured body following the PR template (`docs/006_development_workflow/pr.template.md`). The Agent analyzes changes, generates PR content, and creates the PR.
15
15
 
16
16
  ## Auto-confirm Mode
17
17
  {{#if auto_confirm}}
@@ -27,7 +27,7 @@ Create a **Pull Request** on GitHub with a well-structured body following the PR
27
27
  **draft is DISABLED (default)** — Create the PR as a regular (ready for review) PR.
28
28
  {{/if}}
29
29
 
30
- ## PR Template (SSOT: `docs/010_templates/pr-template.md`)
30
+ ## PR Template (SSOT: `docs/006_development_workflow/pr.template.md`)
31
31
  The PR body MUST follow this structure:
32
32
 
33
33
  ### TL;DR (3-7 lines)
@@ -32,7 +32,7 @@ Execute **pre-submission checks** and then **push to remote** (`git push`). The
32
32
  - **If no unpushed commits**: Report "No commits to push" and exit
33
33
 
34
34
  ### Step 2: Pre-submission Checks (Quality Gate)
35
- 1. **Spec reflection**: Check if `docs/009_spec/` needs updates for the changes
35
+ 1. **Spec reflection**: Check if `docs/003_requirements/spec/` needs updates for the changes
36
36
  2. **Quality gate**: Run the project's quality gate commands:
37
37
  - If available: `pnpm quality-gate` (or equivalent from project config)
38
38
  - Fallback: lint + typecheck + test for changed areas
@@ -47,7 +47,7 @@ Execute **pre-submission checks** and then **push to remote** (`git push`). The
47
47
  ```
48
48
  Pre-submission Check Results:
49
49
  ✅ Quality gate: Passed
50
- ✅ Spec reflection: No updates needed (or: Updated docs/009_spec/xxx.md)
50
+ ✅ Spec reflection: No updates needed (or: Updated docs/003_requirements/spec/xxx.md)
51
51
  ✅ Secret check: No secrets detected
52
52
  ✅ Breaking changes: None (or: Migration documented)
53
53
 
@@ -15,7 +15,7 @@ Organize everything that needs to be done before push/submission — ensuring no
15
15
 
16
16
  ## Output (Checklist)
17
17
  - Local verification (required commands/results)
18
- - Spec (`docs/009_spec`) reflection status
18
+ - Spec (`docs/003_requirements/spec`) reflection status
19
19
  - Template (impact analysis/test plan/PR body) creation status
20
20
  - Documentation of breaking changes/migration/rollback
21
21
  - Secret information leakage check (logs/config/screenshots/etc.)
@@ -26,4 +26,4 @@ Transform requirements (natural language) into business flows (As-Is / To-Be) an
26
26
 
27
27
  ### Spec Mapping
28
28
  - List the required Spec templates (UI/API/DB/Feature/Usecase/Error Codes) and recommend which to create
29
- - Specs are placed under `docs/009_spec/`
29
+ - Specs are placed under `docs/003_requirements/spec/`
@@ -11,7 +11,7 @@
11
11
  {{> project-context }}
12
12
 
13
13
  ## Purpose
14
- Transform Specs (`docs/009_spec/`) into an implementable task list.
14
+ Transform Specs (`docs/003_requirements/spec/`) into an implementable task list.
15
15
 
16
16
  ## Input
17
17
  - Target Spec (API/UI/DB/Feature/Usecase/Error Codes)
@@ -43,7 +43,7 @@ Execute the **complete submission workflow**: pre-submission checks → git push
43
43
  - If remote branch does not exist yet, run `git log --oneline -10` instead
44
44
  3. Execute pre-submission checks:
45
45
  - **Quality gate**: Run project's quality gate commands
46
- - **Spec reflection**: Check if `docs/009_spec/` needs updates
46
+ - **Spec reflection**: Check if `docs/003_requirements/spec/` needs updates
47
47
  - **Secret check**: Scan for potential secrets in committed content
48
48
  - **Breaking changes**: Verify migration docs if breaking changes exist
49
49
  4. Present check results
@@ -78,7 +78,7 @@ Execute the **complete submission workflow**: pre-submission checks → git push
78
78
  - `git diff origin/<base>...HEAD --stat` for change summary
79
79
  2. Generate PR content:
80
80
  - **Title**: Use user-provided title, or derive from branch name and changes
81
- - **Body**: Follow PR template (`docs/010_templates/pr-template.md`) — fill ALL sections
81
+ - **Body**: Follow PR template (`docs/006_development_workflow/pr.template.md`) — fill ALL sections
82
82
  3. Present PR title and body for review
83
83
 
84
84
  {{#if auto_confirm}}
@@ -42,7 +42,7 @@ Sync the current working branch with the latest changes from the default branch
42
42
  1. List conflicted files with `git diff --name-only --diff-filter=U`
43
43
  2. Read each conflicted file and identify conflict markers (`<<<<<<<` / `=======` / `>>>>>>>`)
44
44
  3. **Resolution policy (priority order)**:
45
- 1. **Keep the SSOT-compliant side**: If one side adheres to SSOT (`docs/009_spec/`, `.github/agents/user-clone.agent.md`, etc.) and the other diverges, **adopt the compliant side**
45
+ 1. **Keep the SSOT-compliant side**: If one side adheres to SSOT (`docs/003_requirements/spec/`, `.github/agents/user-clone.agent.md`, etc.) and the other diverges, **adopt the compliant side**
46
46
  2. **Both SSOT-compliant and integrable**: If both sides comply with SSOT and can be functionally integrated, **integrate both**
47
47
  3. **Both compliant but integration difficult / uncertain**: If safe integration is not possible, **ask the user** (never guess)
48
48
  4. After resolving all conflicts: