@einja/dev-cli 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -2
- package/dist/cli.js +3 -6
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +11 -6
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +69 -7
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/sync.test.js +11 -25
- package/dist/commands/sync.test.js.map +1 -1
- package/dist/commands/task-loop/index.d.ts.map +1 -1
- package/dist/commands/task-loop/index.js +5 -2
- package/dist/commands/task-loop/index.js.map +1 -1
- package/dist/commands/task-loop/lib/__mocks__/child-process.mock.d.ts +227 -0
- package/dist/commands/task-loop/lib/__mocks__/child-process.mock.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/__mocks__/child-process.mock.js +351 -0
- package/dist/commands/task-loop/lib/__mocks__/child-process.mock.js.map +1 -0
- package/dist/commands/task-loop/lib/__mocks__/sample-issues.d.ts +46 -0
- package/dist/commands/task-loop/lib/__mocks__/sample-issues.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/__mocks__/sample-issues.js +224 -0
- package/dist/commands/task-loop/lib/__mocks__/sample-issues.js.map +1 -0
- package/dist/commands/task-loop/lib/branch-manager.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/branch-manager.js +14 -8
- package/dist/commands/task-loop/lib/branch-manager.js.map +1 -1
- package/dist/commands/task-loop/lib/branch-manager.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/branch-manager.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/branch-manager.test.js +539 -0
- package/dist/commands/task-loop/lib/branch-manager.test.js.map +1 -0
- package/dist/commands/task-loop/lib/conflict-handler.js +1 -1
- package/dist/commands/task-loop/lib/conflict-handler.js.map +1 -1
- package/dist/commands/task-loop/lib/dependency-resolver.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/dependency-resolver.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/dependency-resolver.test.js +1129 -0
- package/dist/commands/task-loop/lib/dependency-resolver.test.js.map +1 -0
- package/dist/commands/task-loop/lib/gh-setup.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/gh-setup.js.map +1 -1
- package/dist/commands/task-loop/lib/github-client.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/github-client.js +3 -3
- package/dist/commands/task-loop/lib/github-client.js.map +1 -1
- package/dist/commands/task-loop/lib/github-client.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/github-client.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/github-client.test.js +377 -0
- package/dist/commands/task-loop/lib/github-client.test.js.map +1 -0
- package/dist/commands/task-loop/lib/issue-parser.js +4 -4
- package/dist/commands/task-loop/lib/issue-parser.js.map +1 -1
- package/dist/commands/task-loop/lib/issue-parser.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/issue-parser.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/issue-parser.test.js +854 -0
- package/dist/commands/task-loop/lib/issue-parser.test.js.map +1 -0
- package/dist/commands/task-loop/lib/pull-request-manager.d.ts +35 -0
- package/dist/commands/task-loop/lib/pull-request-manager.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/pull-request-manager.js +150 -0
- package/dist/commands/task-loop/lib/pull-request-manager.js.map +1 -0
- package/dist/commands/task-loop/lib/task-number-utils.d.ts +10 -4
- package/dist/commands/task-loop/lib/task-number-utils.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/task-number-utils.js +19 -10
- package/dist/commands/task-loop/lib/task-number-utils.js.map +1 -1
- package/dist/commands/task-loop/lib/task-number-utils.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/task-number-utils.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/task-number-utils.test.js +379 -0
- package/dist/commands/task-loop/lib/task-number-utils.test.js.map +1 -0
- package/dist/commands/task-loop/lib/task-state-manager.d.ts.map +1 -1
- package/dist/commands/task-loop/lib/task-state-manager.js +1 -1
- package/dist/commands/task-loop/lib/task-state-manager.js.map +1 -1
- package/dist/commands/task-loop/lib/task-state-manager.test.d.ts +2 -0
- package/dist/commands/task-loop/lib/task-state-manager.test.d.ts.map +1 -0
- package/dist/commands/task-loop/lib/task-state-manager.test.js +541 -0
- package/dist/commands/task-loop/lib/task-state-manager.test.js.map +1 -0
- package/dist/lib/mcp-config.d.ts.map +1 -1
- package/dist/lib/mcp-config.js +8 -4
- package/dist/lib/mcp-config.js.map +1 -1
- package/dist/lib/mcp-config.test.js +2 -2
- package/dist/lib/mcp-config.test.js.map +1 -1
- package/dist/lib/merger.d.ts.map +1 -1
- package/dist/lib/merger.js.map +1 -1
- package/dist/lib/preset-update/cli-repo-detector.test.js.map +1 -1
- package/dist/lib/preset-update/file-copier.d.ts +2 -0
- package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
- package/dist/lib/preset-update/file-copier.js +12 -8
- package/dist/lib/preset-update/file-copier.js.map +1 -1
- package/dist/lib/preset-update/file-copier.test.js +36 -5
- package/dist/lib/preset-update/file-copier.test.js.map +1 -1
- package/dist/lib/preset-update/preset-finder.d.ts +1 -1
- package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
- package/dist/lib/preset-update/preset-finder.js +1 -1
- package/dist/lib/preset-update/preset-finder.js.map +1 -1
- package/dist/lib/preset-update/preset-finder.test.js +11 -11
- package/dist/lib/preset-update/preset-finder.test.js.map +1 -1
- package/dist/lib/preset.js +3 -3
- package/dist/lib/preset.js.map +1 -1
- package/dist/lib/sync/backup-manager.d.ts.map +1 -1
- package/dist/lib/sync/backup-manager.js +1 -1
- package/dist/lib/sync/backup-manager.js.map +1 -1
- package/dist/lib/sync/backup-manager.test.js +2 -2
- package/dist/lib/sync/backup-manager.test.js.map +1 -1
- package/dist/lib/sync/batch-processor.d.ts.map +1 -1
- package/dist/lib/sync/batch-processor.js.map +1 -1
- package/dist/lib/sync/batch-processor.test.js.map +1 -1
- package/dist/lib/sync/category-validator.d.ts.map +1 -1
- package/dist/lib/sync/category-validator.js.map +1 -1
- package/dist/lib/sync/category-validator.test.js +2 -11
- package/dist/lib/sync/category-validator.test.js.map +1 -1
- package/dist/lib/sync/conflict-reporter.d.ts.map +1 -1
- package/dist/lib/sync/conflict-reporter.js +1 -2
- package/dist/lib/sync/conflict-reporter.js.map +1 -1
- package/dist/lib/sync/conflict-reporter.test.js +2 -7
- package/dist/lib/sync/conflict-reporter.test.js.map +1 -1
- package/dist/lib/sync/diff-engine.d.ts.map +1 -1
- package/dist/lib/sync/diff-engine.js +2 -4
- package/dist/lib/sync/diff-engine.js.map +1 -1
- package/dist/lib/sync/diff-engine.test.js.map +1 -1
- package/dist/lib/sync/file-filter.d.ts.map +1 -1
- package/dist/lib/sync/file-filter.js +26 -3
- package/dist/lib/sync/file-filter.js.map +1 -1
- package/dist/lib/sync/file-filter.test.js +26 -2
- package/dist/lib/sync/file-filter.test.js.map +1 -1
- package/dist/lib/sync/hash-cache.d.ts.map +1 -1
- package/dist/lib/sync/hash-cache.js.map +1 -1
- package/dist/lib/sync/hash-cache.test.js +2 -2
- package/dist/lib/sync/hash-cache.test.js.map +1 -1
- package/dist/lib/sync/integration.test.js +289 -2
- package/dist/lib/sync/integration.test.js.map +1 -1
- package/dist/lib/sync/marker-processor.d.ts +34 -10
- package/dist/lib/sync/marker-processor.d.ts.map +1 -1
- package/dist/lib/sync/marker-processor.js +142 -41
- package/dist/lib/sync/marker-processor.js.map +1 -1
- package/dist/lib/sync/marker-processor.test.js +134 -1
- package/dist/lib/sync/marker-processor.test.js.map +1 -1
- package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
- package/dist/lib/sync/metadata-manager.js.map +1 -1
- package/dist/lib/sync/metadata-manager.test.js +4 -6
- package/dist/lib/sync/metadata-manager.test.js.map +1 -1
- package/dist/lib/sync/performance.test.js +2 -2
- package/dist/lib/sync/performance.test.js.map +1 -1
- package/dist/lib/sync/seed-synchronizer.d.ts +27 -0
- package/dist/lib/sync/seed-synchronizer.d.ts.map +1 -0
- package/dist/lib/sync/seed-synchronizer.js +72 -0
- package/dist/lib/sync/seed-synchronizer.js.map +1 -0
- package/dist/lib/sync/seed-synchronizer.test.d.ts +2 -0
- package/dist/lib/sync/seed-synchronizer.test.d.ts.map +1 -0
- package/dist/lib/sync/seed-synchronizer.test.js +147 -0
- package/dist/lib/sync/seed-synchronizer.test.js.map +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/preset-update.d.ts +1 -1
- package/dist/types/sync.d.ts +4 -2
- package/dist/types/sync.d.ts.map +1 -1
- package/dist/types/sync.js.map +1 -1
- package/package.json +1 -1
- package/presets/default/.claude/agents/einja/backend-architect.md +1131 -0
- package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/design-engineer.md +1 -1
- package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/frontend-architect.md +1 -1
- package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/frontend-coder.md +1 -37
- package/presets/{minimal → default}/.claude/agents/einja/task/task-committer.md +12 -6
- package/presets/{minimal → default}/.claude/agents/einja/task/task-executer.md +9 -9
- package/presets/{minimal → default}/.claude/commands/einja/frontend-implement.md +1 -1
- package/presets/{minimal → default}/.claude/commands/einja/update-docs-by-task-specs.md +6 -6
- package/presets/{minimal/.claude/skills/einja/api-development → default/.claude/skills/einja-api-development}/SKILL.md +5 -5
- package/presets/{minimal/.claude/skills/einja/backend-architecture → default/.claude/skills/einja-backend-architecture}/SKILL.md +5 -5
- package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/SKILL.md +6 -6
- package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/SKILL.md +6 -6
- package/presets/{minimal/.claude/skills/einja/frontend-development → default/.claude/skills/einja-frontend-development}/SKILL.md +5 -5
- package/presets/{minimal/.claude/skills/einja/output-format → default/.claude/skills/einja-output-format}/SKILL.md +54 -5
- package/presets/{minimal → default}/preset.yaml +1 -1
- package/presets/{minimal → default}/symlinks.json +10 -10
- package/scaffolds/CLAUDE.md.template +4 -4
- package/scaffolds/steering/README.md +42 -0
- package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +11 -0
- package/scaffolds/steering/architecture.md +11 -0
- package/scaffolds/steering/branch-strategy.md +11 -0
- package/scaffolds/steering/commit-rules.md +12 -1
- package/scaffolds/steering/db-schema-design.md +11 -0
- package/scaffolds/steering/development/api-development.md +15 -4
- package/scaffolds/steering/development/backend-architecture.md +11 -0
- package/scaffolds/steering/development/frontend-development.md +11 -0
- package/scaffolds/steering/development/review-guidelines.md +11 -0
- package/scaffolds/steering/development/testing-strategy.md +85 -0
- package/scaffolds/steering/development-workflow.md +11 -0
- package/scaffolds/steering/infrastructure/deployment.md +11 -0
- package/scaffolds/steering/infrastructure/environment-variables.md +11 -0
- package/scaffolds/steering/product.md +11 -0
- package/scaffolds/steering/task-management.md +11 -0
- /package/presets/{minimal → default}/.claude/agents/einja/docs/docs-updater.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/git/conflict-resolver.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-design-generator.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-qa-generator.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-requirements-generator.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-tasks-generator.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/task/task-modification-analyzer.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/task/task-qa.md +0 -0
- /package/presets/{minimal → default}/.claude/agents/einja/task/task-reviewer.md +0 -0
- /package/presets/{minimal → default}/.claude/commands/einja/spec-create.md +0 -0
- /package/presets/{minimal → default}/.claude/commands/einja/start-dev.md +0 -0
- /package/presets/{minimal → default}/.claude/commands/einja/sync-cursor-commands.md +0 -0
- /package/presets/{minimal → default}/.claude/commands/einja/task-exec.md +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/biome-format.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/design-doc-check.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/detect-secrets.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/large-file-warning.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/playwright-resize.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/typecheck.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/unset-volta-recursion.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/validate-git-commit.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/warn-index-ts.sh +0 -0
- /package/presets/{minimal → default}/.claude/hooks/einja/warn-relative-import.sh +0 -0
- /package/presets/{minimal → default}/.claude/settings.json +0 -0
- /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/naming-conventions.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/prohibited-patterns.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/typescript-rules.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/directory-structure.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/props-patterns.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/styling-guide.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/conflict-resolver → default/.claude/skills/einja-conflict-resolver}/SKILL.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/general-context-loader → default/.claude/skills/einja-general-context-loader}/SKILL.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/spec-context-loader → default/.claude/skills/einja-spec-context-loader}/SKILL.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/task-commit → default/.claude/skills/einja-task-commit}/SKILL.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/SKILL.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/failure-patterns.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/troubleshooting.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/usage-patterns.md +0 -0
- /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/templates/qa-test-template.md +0 -0
|
@@ -7,7 +7,7 @@ color: blue
|
|
|
7
7
|
|
|
8
8
|
## ✅ 最重要: 出力形式
|
|
9
9
|
|
|
10
|
-
**@.claude/skills/einja
|
|
10
|
+
**@.claude/skills/einja-output-format/SKILL.md の「frontend-coder」テンプレートに従って報告すること。この形式から逸脱しないこと。**
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
|
@@ -48,44 +48,8 @@ color: blue
|
|
|
48
48
|
- 再利用可能なコンポーネントを特定
|
|
49
49
|
- 命名規則とディレクトリ構造を把握
|
|
50
50
|
|
|
51
|
-
3. **既存パターンとの整合性確認**:
|
|
52
|
-
|
|
53
|
-
既存実装の分析後、既存パターンと異なる実装が必要な場合はAskUserQuestionで方針承認を得ます。
|
|
54
|
-
|
|
55
|
-
```yaml
|
|
56
|
-
AskUserQuestion:
|
|
57
|
-
question: "既存パターンと異なる実装方針が必要です。どのように進めますか?"
|
|
58
|
-
header: "実装方針"
|
|
59
|
-
options:
|
|
60
|
-
- label: "新パターンで実装(推奨)"
|
|
61
|
-
description: "推奨理由: 既存パターンでは要件を満たせない。メリット: 要件を完全に満たせる。デメリット: 新パターンが今後の標準となる可能性、学習コスト"
|
|
62
|
-
- label: "既存パターンに合わせて要件調整"
|
|
63
|
-
description: "メリット: プロジェクトの一貫性を維持。デメリット: 機能制限が発生し、ビジネス要件を満たせない可能性"
|
|
64
|
-
- label: "両パターンの折衷案"
|
|
65
|
-
description: "メリット: 既存との互換性を保ちつつ新機能を実現。デメリット: 実装が複雑化し、保守コストが増加する可能性"
|
|
66
|
-
```
|
|
67
|
-
|
|
68
51
|
### 2. コンポーネント実装
|
|
69
52
|
|
|
70
|
-
#### 状態管理方法の確認
|
|
71
|
-
|
|
72
|
-
コンポーネント実装前に、複数の状態管理方法が選択可能な場合はAskUserQuestionで確認します。
|
|
73
|
-
|
|
74
|
-
```yaml
|
|
75
|
-
AskUserQuestion:
|
|
76
|
-
question: "状態管理の方法を選択してください"
|
|
77
|
-
header: "状態管理"
|
|
78
|
-
options:
|
|
79
|
-
- label: "TanStack Query(推奨)"
|
|
80
|
-
description: "推奨理由: サーバー状態管理に最適。メリット: キャッシュ・再取得が自動化、宣言的なデータフェッチ。デメリット: 学習コスト、ライブラリ依存"
|
|
81
|
-
- label: "Context API"
|
|
82
|
-
description: "メリット: 外部依存なし、シンプル。デメリット: 大規模な状態には不向き、再レンダリングの最適化が必要"
|
|
83
|
-
- label: "useReducer"
|
|
84
|
-
description: "メリット: 状態遷移が明確、テストしやすい。デメリット: ボイラープレートが増える、グローバル状態には不向き"
|
|
85
|
-
- label: "useState(複数)"
|
|
86
|
-
description: "メリット: 最もシンプル、学習コストなし。デメリット: 状態が増えると管理が複雑化、状態間の連携が困難"
|
|
87
|
-
```
|
|
88
|
-
|
|
89
53
|
#### ディレクトリ構造(モノレポ対応)
|
|
90
54
|
```
|
|
91
55
|
apps/web/src/
|
|
@@ -19,16 +19,22 @@ QA合格後の変更をコミット・プッシュします。
|
|
|
19
19
|
|
|
20
20
|
## 処理
|
|
21
21
|
|
|
22
|
-
task-commit Skill
|
|
22
|
+
task-commit Skillを実行し、結果を返却します。
|
|
23
23
|
|
|
24
|
-
###
|
|
24
|
+
### コミット分割案の確認
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
呼び出し時の指示に**明示的なコミット分割の指定がない場合**は、**AskUserQuestionツールを使用**してコミット分割案の承認を得ます。
|
|
27
27
|
|
|
28
|
-
1
|
|
29
|
-
|
|
28
|
+
- ✅ 「この分割でお願い」「1コミットで」等の指定がある → 指定に従って実行
|
|
29
|
+
- ✅ 分割指定がない → AskUserQuestionで確認を取る
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
### task-exec経由での呼び出し
|
|
32
|
+
|
|
33
|
+
task-exec経由で呼び出される場合、以下のみスキップします:
|
|
34
|
+
|
|
35
|
+
- **品質チェック(prepush)**: QAフェーズで既に lint/typecheck/test が実行済みのため、重複実行は不要
|
|
36
|
+
|
|
37
|
+
**注意**: コミット分割案の確認はスキップしません。
|
|
32
38
|
|
|
33
39
|
## 出力形式
|
|
34
40
|
|
|
@@ -103,17 +103,17 @@ Skill: general-context-loader
|
|
|
103
103
|
|
|
104
104
|
| 実装種別 | 読み込むSkill |
|
|
105
105
|
|---------|--------------|
|
|
106
|
-
| **API実装** | `.claude/skills/einja
|
|
107
|
-
| **フロントエンド実装** | `.claude/skills/einja
|
|
108
|
-
| **バックエンド実装** | `.claude/skills/einja
|
|
109
|
-
| **コード全般** | `.claude/skills/einja
|
|
110
|
-
| **コンポーネント設計** | `.claude/skills/einja
|
|
106
|
+
| **API実装** | `.claude/skills/einja-api-development/SKILL.md` |
|
|
107
|
+
| **フロントエンド実装** | `.claude/skills/einja-frontend-development/SKILL.md` |
|
|
108
|
+
| **バックエンド実装** | `.claude/skills/einja-backend-architecture/SKILL.md` |
|
|
109
|
+
| **コード全般** | `.claude/skills/einja-coding-standards/SKILL.md` |
|
|
110
|
+
| **コンポーネント設計** | `.claude/skills/einja-component-design/SKILL.md` |
|
|
111
111
|
|
|
112
112
|
**詳細規約が必要な場合**:
|
|
113
|
-
- 命名規則: `.claude/skills/einja
|
|
114
|
-
- 禁止パターン: `.claude/skills/einja
|
|
115
|
-
- TypeScript規約: `.claude/skills/einja
|
|
116
|
-
- スタイリング: `.claude/skills/einja
|
|
113
|
+
- 命名規則: `.claude/skills/einja-coding-standards/reference/naming-conventions.md`
|
|
114
|
+
- 禁止パターン: `.claude/skills/einja-coding-standards/reference/prohibited-patterns.md`
|
|
115
|
+
- TypeScript規約: `.claude/skills/einja-coding-standards/reference/typescript-rules.md`
|
|
116
|
+
- スタイリング: `.claude/skills/einja-component-design/reference/styling-guide.md`
|
|
117
117
|
|
|
118
118
|
### 2. 実装方針の策定
|
|
119
119
|
|
|
@@ -332,9 +332,9 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
|
332
332
|
- features/login/design.md: 5セクション追加
|
|
333
333
|
|
|
334
334
|
### Steering仕様書
|
|
335
|
-
-
|
|
336
|
-
-
|
|
337
|
-
-
|
|
335
|
+
- steering/architecture.md: 7セクション追加
|
|
336
|
+
- steering/db-design.md: 4セクション追加
|
|
337
|
+
- steering/product.md: 3セクション追加
|
|
338
338
|
```
|
|
339
339
|
|
|
340
340
|
2. **各ファイルの詳細プレビュー**(オプション):
|
|
@@ -420,9 +420,9 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
|
420
420
|
- **features/login/tasks.md**: 1セクション追加(156行)
|
|
421
421
|
|
|
422
422
|
### Steering仕様書
|
|
423
|
-
- **
|
|
424
|
-
- **
|
|
425
|
-
- **
|
|
423
|
+
- **steering/architecture.md**: 7セクション追加(1,245行)
|
|
424
|
+
- **steering/db-design.md**: 4セクション追加(567行)
|
|
425
|
+
- **steering/product.md**: 3セクション追加(334行)
|
|
426
426
|
|
|
427
427
|
## 次のステップ
|
|
428
428
|
- 反映された内容を確認してください
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
name: "coding-standards"
|
|
1
|
+
---
|
|
2
|
+
name: coding-standards
|
|
4
3
|
description: "TypeScript/React/Next.jsのコーディング規約とベストプラクティス"
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Coding Standards Skill
|
|
7
7
|
|
|
8
8
|
## 概要
|
|
9
9
|
|
|
@@ -114,7 +114,7 @@ const customStyles = css({
|
|
|
114
114
|
|
|
115
115
|
## 関連Skill・ドキュメント
|
|
116
116
|
|
|
117
|
-
- [component-design](../component-design/SKILL.md) - コンポーネント設計ガイドライン
|
|
117
|
+
- [component-design](../einja-component-design/SKILL.md) - コンポーネント設計ガイドライン
|
|
118
118
|
- `docs/einja/steering/development/testing-strategy.md` - テスト戦略
|
|
119
119
|
- `docs/einja/steering/development/review-guidelines.md` - コードレビューガイドライン
|
|
120
120
|
- `docs/einja/steering/commit-rules.md` - コミットルール
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
name: "component-design"
|
|
1
|
+
---
|
|
2
|
+
name: component-design
|
|
4
3
|
description: "Reactコンポーネントの設計原則と実装ガイドライン"
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Component Design Skill
|
|
7
7
|
|
|
8
8
|
## 概要
|
|
9
9
|
|
|
@@ -98,7 +98,7 @@ interface ButtonProps {
|
|
|
98
98
|
|
|
99
99
|
## 関連Skill・ドキュメント
|
|
100
100
|
|
|
101
|
-
- [coding-standards](../coding-standards/SKILL.md) - コーディング規約
|
|
101
|
+
- [coding-standards](../einja-coding-standards/SKILL.md) - コーディング規約
|
|
102
102
|
- `docs/einja/steering/development/testing-strategy.md` - テスト戦略
|
|
103
103
|
- `docs/einja/steering/development/frontend-development.md` - フロントエンド開発ガイド
|
|
104
104
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
name: "output-format"
|
|
1
|
+
---
|
|
2
|
+
name: output-format
|
|
4
3
|
description: "サブエージェントの統一出力形式を定義"
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# サブエージェント出力形式 Skill
|
|
7
7
|
|
|
8
8
|
## 概要
|
|
9
9
|
|
|
@@ -113,6 +113,55 @@ version: "1.0.0"
|
|
|
113
113
|
[後続処理の説明]
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
+
### backend-architect
|
|
117
|
+
|
|
118
|
+
```markdown
|
|
119
|
+
## 🔧 バックエンドアーキテクチャ設計完了
|
|
120
|
+
|
|
121
|
+
### タスク: [機能名/API名]
|
|
122
|
+
|
|
123
|
+
### 設計結果: [✅ SUCCESS / ⚠️ PARTIAL / ❌ FAILURE]
|
|
124
|
+
|
|
125
|
+
### 設計サマリー
|
|
126
|
+
- **API数**: N個
|
|
127
|
+
- **Repository数**: M個
|
|
128
|
+
- **UseCase数**: K個
|
|
129
|
+
- **新規Entity数**: L個
|
|
130
|
+
- **テーブル数**: P個
|
|
131
|
+
|
|
132
|
+
### アーキテクチャ構造
|
|
133
|
+
```
|
|
134
|
+
[ディレクトリ構造図]
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 層間の依存関係
|
|
138
|
+
| 層 | 依存先 | 主なコンポーネント |
|
|
139
|
+
|---|-------|-----------------|
|
|
140
|
+
|
|
141
|
+
### デザインパターン適用
|
|
142
|
+
- **Repositoryパターン**: [適用状況]
|
|
143
|
+
- **Mapperパターン**: [適用状況]
|
|
144
|
+
- **Result型パターン**: [適用状況]
|
|
145
|
+
|
|
146
|
+
### DB設計
|
|
147
|
+
| テーブル名 | 主なカラム | インデックス |
|
|
148
|
+
|----------|----------|------------|
|
|
149
|
+
|
|
150
|
+
### API設計
|
|
151
|
+
| エンドポイント | メソッド | 説明 |
|
|
152
|
+
|--------------|--------|------|
|
|
153
|
+
|
|
154
|
+
### テスト設計方針
|
|
155
|
+
- **ユニットテスト対象**: [対象コンポーネント]
|
|
156
|
+
- **統合テスト対象**: [対象フロー]
|
|
157
|
+
|
|
158
|
+
### 技術選定
|
|
159
|
+
- **[決定1]**: [選定理由]
|
|
160
|
+
|
|
161
|
+
### 次のステップ
|
|
162
|
+
[後続処理の説明]
|
|
163
|
+
```
|
|
164
|
+
|
|
116
165
|
## 長い出力の取り扱い
|
|
117
166
|
|
|
118
167
|
出力が50行を超える場合、以下の形式で表示:
|
|
@@ -2,43 +2,43 @@
|
|
|
2
2
|
"version": 1,
|
|
3
3
|
"symlinks": [
|
|
4
4
|
{
|
|
5
|
-
"link": ".claude/skills/einja
|
|
5
|
+
"link": ".claude/skills/einja-api-development/reference/api-development.md",
|
|
6
6
|
"target": "docs/einja/steering/development/api-development.md"
|
|
7
7
|
},
|
|
8
8
|
{
|
|
9
|
-
"link": ".claude/skills/einja
|
|
9
|
+
"link": ".claude/skills/einja-backend-architecture/reference/backend-architecture.md",
|
|
10
10
|
"target": "docs/einja/steering/development/backend-architecture.md"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
"link": ".claude/skills/einja
|
|
13
|
+
"link": ".claude/skills/einja-coding-standards/reference/commit-rules.md",
|
|
14
14
|
"target": "docs/einja/steering/commit-rules.md"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"link": ".claude/skills/einja
|
|
17
|
+
"link": ".claude/skills/einja-coding-standards/reference/review-guidelines.md",
|
|
18
18
|
"target": "docs/einja/steering/development/review-guidelines.md"
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
"link": ".claude/skills/einja
|
|
21
|
+
"link": ".claude/skills/einja-coding-standards/reference/testing-strategy.md",
|
|
22
22
|
"target": "docs/einja/steering/development/testing-strategy.md"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
|
-
"link": ".claude/skills/einja
|
|
25
|
+
"link": ".claude/skills/einja-component-design/reference/frontend-development.md",
|
|
26
26
|
"target": "docs/einja/steering/development/frontend-development.md"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
|
-
"link": ".claude/skills/einja
|
|
29
|
+
"link": ".claude/skills/einja-component-design/reference/testing-strategy.md",
|
|
30
30
|
"target": "docs/einja/steering/development/testing-strategy.md"
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
"link": ".claude/skills/einja
|
|
33
|
+
"link": ".claude/skills/einja-frontend-development/reference/frontend-development.md",
|
|
34
34
|
"target": "docs/einja/steering/development/frontend-development.md"
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
|
-
"link": ".claude/skills/einja
|
|
37
|
+
"link": ".claude/skills/einja-task-commit/reference/commit-rules.md",
|
|
38
38
|
"target": "docs/einja/steering/commit-rules.md"
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
|
-
"link": ".claude/skills/einja
|
|
41
|
+
"link": ".claude/skills/einja-task-qa/reference/acceptance-criteria-and-qa-guide.md",
|
|
42
42
|
"target": "docs/einja/steering/acceptance-criteria-and-qa-guide.md"
|
|
43
43
|
}
|
|
44
44
|
]
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
## gitコンフリクト発生時の対応
|
|
44
44
|
|
|
45
|
-
**【必須】** gitコンフリクトが発生した場合、必ず `.claude/skills/einja
|
|
45
|
+
**【必須】** gitコンフリクトが発生した場合、必ず `.claude/skills/einja-conflict-resolver/SKILL.md` の手順に従うこと。
|
|
46
46
|
|
|
47
47
|
## プロジェクト構成
|
|
48
48
|
|
|
@@ -273,7 +273,7 @@ export const { handlers, signIn, signOut, auth } = NextAuth(authOptions);
|
|
|
273
273
|
|
|
274
274
|
## サブエージェント結果報告のルール
|
|
275
275
|
|
|
276
|
-
サブエージェントの出力形式は **@.claude/skills/einja
|
|
276
|
+
サブエージェントの出力形式は **@.claude/skills/einja-output-format/SKILL.md** に定義されています。
|
|
277
277
|
|
|
278
278
|
### 必須要件
|
|
279
279
|
- サブエージェントの最終出力は**そのまま全文**をユーザーに表示する
|
|
@@ -375,8 +375,8 @@ export const { handlers, signIn, signOut, auth } = NextAuth(authOptions);
|
|
|
375
375
|
|
|
376
376
|
以下のドキュメントも参照して作業を進めてください:
|
|
377
377
|
|
|
378
|
-
- @.claude/skills/einja
|
|
379
|
-
- @.claude/skills/einja
|
|
378
|
+
- @.claude/skills/einja-coding-standards/SKILL.md - コーディング規約
|
|
379
|
+
- @.claude/skills/einja-component-design/SKILL.md - コンポーネント設計ガイドライン
|
|
380
380
|
- @docs/einja/steering/commit-rules.md - コミットルール・ブランチ戦略
|
|
381
381
|
- @docs/einja/steering/development/testing-strategy.md - Vitestを使用したテスト戦略
|
|
382
382
|
- @docs/einja/steering/development/review-guidelines.md - コードレビューのガイドライン
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# Steering仕様書
|
|
2
3
|
|
|
3
4
|
## 概要
|
|
@@ -149,6 +150,37 @@
|
|
|
149
150
|
|
|
150
151
|
---
|
|
151
152
|
|
|
153
|
+
## 🔄 ドキュメント同期について
|
|
154
|
+
|
|
155
|
+
このディレクトリのドキュメントは`@einja/dev-cli`で管理されています。
|
|
156
|
+
|
|
157
|
+
### マーカーの種類
|
|
158
|
+
|
|
159
|
+
各ファイルには同期動作を制御するマーカーがあります:
|
|
160
|
+
|
|
161
|
+
| マーカー | 説明 |
|
|
162
|
+
|---------|------|
|
|
163
|
+
| `@einja:managed` | CLIの更新時に自動で最新化される共通ルール部分 |
|
|
164
|
+
| `@einja:seed` | 初回のみ追加され、以降は編集内容が保持されるプロジェクト固有部分 |
|
|
165
|
+
|
|
166
|
+
### プロジェクト固有の追記
|
|
167
|
+
|
|
168
|
+
各ファイルの末尾にある`@einja:seed`セクションに、プロジェクト固有のルールや設定を追記できます。このセクションは`einja sync`実行時も上書きされません。
|
|
169
|
+
|
|
170
|
+
詳細な仕様は [CLIのマーカー仕様書](https://github.com/einja-inc/einja-management-template/blob/main/packages/cli/docs/MARKER_SPECIFICATION.md) を参照してください。
|
|
171
|
+
|
|
172
|
+
### 同期コマンド
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# テンプレートから最新の共通ルールを取得
|
|
176
|
+
pnpm einja:sync
|
|
177
|
+
|
|
178
|
+
# プレビュー(実際の変更なし)
|
|
179
|
+
pnpm einja:sync --dry-run
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
152
184
|
## ⚠️ 重要な原則
|
|
153
185
|
|
|
154
186
|
### CLAUDE.mdの原則を遵守
|
|
@@ -168,3 +200,13 @@
|
|
|
168
200
|
ドキュメントに関する質問や改善提案がある場合は、チームリーダーに連絡してください。
|
|
169
201
|
|
|
170
202
|
より良いドキュメントを一緒に作りましょう!
|
|
203
|
+
<!-- @einja:managed:end -->
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
<!-- @einja:seed:start id="steering-readme-project" -->
|
|
208
|
+
## プロジェクト固有の設定
|
|
209
|
+
|
|
210
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
211
|
+
<!-- einja syncで上書きされません -->
|
|
212
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# 価値あるテストを生む要件定義とテスト設計ガイド
|
|
2
3
|
|
|
3
4
|
## 1. 受け入れ基準の原則
|
|
@@ -413,3 +414,13 @@ QAテスト仕様書では、以下の表形式で手順を記述します:
|
|
|
413
414
|
- 手順は自然言語で簡潔に記述
|
|
414
415
|
- mcp__playwright などのコマンドは記載しない
|
|
415
416
|
- 「-」は手順のみで確認項目がない場合に使用
|
|
417
|
+
<!-- @einja:managed:end -->
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
<!-- @einja:seed:start id="acceptance-criteria-and-qa-guide-project" -->
|
|
422
|
+
## プロジェクト固有の設定
|
|
423
|
+
|
|
424
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
425
|
+
<!-- einja syncで上書きされません -->
|
|
426
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# システムアーキテクチャ概要
|
|
2
3
|
|
|
3
4
|
## 概要
|
|
@@ -479,3 +480,13 @@ export function calculatePorts(branchName: string): WorktreePorts {
|
|
|
479
480
|
- **[API開発ガイド](development/api-development.md)** - Hono API実装
|
|
480
481
|
- **[フロントエンド開発ガイド](development/frontend-development.md)** - React、Tanstack Query
|
|
481
482
|
- **[CI/CDパイプライン](infrastructure/ci-cd.md)** - ビルド・デプロイ自動化
|
|
483
|
+
<!-- @einja:managed:end -->
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
<!-- @einja:seed:start id="architecture-project" -->
|
|
488
|
+
## プロジェクト固有の設定
|
|
489
|
+
|
|
490
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
491
|
+
<!-- einja syncで上書きされません -->
|
|
492
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# ブランチ運用戦略
|
|
2
3
|
|
|
3
4
|
## 概要
|
|
@@ -360,3 +361,13 @@ git push origin タスクブランチ名
|
|
|
360
361
|
- [task:loop コマンド](../instructions/task-vibe-kanban-loop.md) - コマンドの使用方法と Vibe-Kanban 操作手順
|
|
361
362
|
- [タスク管理](task-management.md) - タスク階層と粒度基準
|
|
362
363
|
- [開発ワークフロー](development-workflow.md) - 仕様書作成からタスク実行までの全体フロー
|
|
364
|
+
<!-- @einja:managed:end -->
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
<!-- @einja:seed:start id="branch-strategy-project" -->
|
|
369
|
+
## プロジェクト固有の設定
|
|
370
|
+
|
|
371
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
372
|
+
<!-- einja syncで上書きされません -->
|
|
373
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# コミットルール
|
|
2
3
|
|
|
3
|
-
##
|
|
4
|
+
## 重要:コミット分割ルールの厳守について
|
|
4
5
|
|
|
5
6
|
- コミット分割ルールに違反した場合、重大なレビュープロセス阻害・履歴管理上の問題となるため、**絶対に違反しないこと**
|
|
6
7
|
- 万一違反が発生した場合は、必ず即座に報告し、再発防止策(作業前の分割計画明示・コミット粒度の事前確認など)を徹底すること
|
|
@@ -215,3 +216,13 @@ git push
|
|
|
215
216
|
## まとめ
|
|
216
217
|
|
|
217
218
|
コミットルールの遵守は、プロジェクトの履歴管理とレビュープロセスの効率化に直結します。全ての開発者・AIアシスタントは、これらのルールを例外なく厳守してください。
|
|
219
|
+
<!-- @einja:managed:end -->
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
<!-- @einja:seed:start id="commit-rules-project" -->
|
|
224
|
+
## プロジェクト固有の設定
|
|
225
|
+
|
|
226
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
227
|
+
<!-- einja syncで上書きされません -->
|
|
228
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# スキーマ設計
|
|
2
3
|
|
|
3
4
|
TODO
|
|
@@ -607,3 +608,13 @@ pnpm db:seed
|
|
|
607
608
|
5. **スケーラビリティ**: PostgreSQLとPrismaの組み合わせによる高いスケーラビリティ
|
|
608
609
|
|
|
609
610
|
すべてのスキーマ変更は、このガイドラインに従って実装してください。
|
|
611
|
+
<!-- @einja:managed:end -->
|
|
612
|
+
|
|
613
|
+
---
|
|
614
|
+
|
|
615
|
+
<!-- @einja:seed:start id="db-schema-design-project" -->
|
|
616
|
+
## プロジェクト固有の設定
|
|
617
|
+
|
|
618
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
619
|
+
<!-- einja syncで上書きされません -->
|
|
620
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# API開発ガイド
|
|
2
3
|
|
|
3
4
|
## 概要
|
|
@@ -41,8 +42,8 @@ apps/admin/app/api/[[...route]]/route.ts # Admin API
|
|
|
41
42
|
|
|
42
43
|
**ルート定義の配置**:
|
|
43
44
|
```
|
|
44
|
-
apps/web/server/routes/
|
|
45
|
-
apps/admin/server/routes/
|
|
45
|
+
apps/web/server/presentation/routes/ # Webアプリ用ルート定義(Presentation層)
|
|
46
|
+
apps/admin/server/presentation/routes/ # 管理画面用ルート定義(Presentation層)
|
|
46
47
|
```
|
|
47
48
|
|
|
48
49
|
### メソッドチェーンパターン
|
|
@@ -102,7 +103,7 @@ apiClient.posts.$get() // ❌ NG(型エラー)
|
|
|
102
103
|
**使用例**:
|
|
103
104
|
|
|
104
105
|
```typescript
|
|
105
|
-
// apps/web/server/routes/postRoutes.ts
|
|
106
|
+
// apps/web/server/presentation/routes/postRoutes.ts
|
|
106
107
|
import { Hono } from 'hono'
|
|
107
108
|
import { zValidator } from '@hono/zod-validator'
|
|
108
109
|
import { createPostSchema } from '@repo/server-core/domain/validators/post'
|
|
@@ -701,7 +702,7 @@ Worktreeごとに異なるポートを使用するため、MD5ハッシュベー
|
|
|
701
702
|
**ルート定義**:
|
|
702
703
|
|
|
703
704
|
```typescript
|
|
704
|
-
// apps/web/server/routes/postRoutes.ts
|
|
705
|
+
// apps/web/server/presentation/routes/postRoutes.ts
|
|
705
706
|
import { Hono } from 'hono'
|
|
706
707
|
import { zValidator } from '@hono/zod-validator'
|
|
707
708
|
import { createPostSchema } from '@repo/server-core/domain/validators/post'
|
|
@@ -781,3 +782,13 @@ export type AppType = typeof app
|
|
|
781
782
|
4. **柔軟性**: Server ActionsとHono Client + Tanstack Queryの使い分け
|
|
782
783
|
|
|
783
784
|
すべてのAPI実装は、このガイドラインに従って実装してください。
|
|
785
|
+
<!-- @einja:managed:end -->
|
|
786
|
+
|
|
787
|
+
---
|
|
788
|
+
|
|
789
|
+
<!-- @einja:seed:start id="api-development-project" -->
|
|
790
|
+
## プロジェクト固有の設定
|
|
791
|
+
|
|
792
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
793
|
+
<!-- einja syncで上書きされません -->
|
|
794
|
+
<!-- @einja:seed:end -->
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- @einja:managed:start -->
|
|
1
2
|
# バックエンドアーキテクチャ
|
|
2
3
|
|
|
3
4
|
## タスク: Turborepo Next.js モノレポ構築 (20251104)
|
|
@@ -729,3 +730,13 @@ if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma
|
|
|
729
730
|
✅ **index.ts不使用**: シンプルで拡張しやすいモジュール管理
|
|
730
731
|
|
|
731
732
|
すべての開発者は、この設計原則に従ってバックエンド開発を行ってください。
|
|
733
|
+
<!-- @einja:managed:end -->
|
|
734
|
+
|
|
735
|
+
---
|
|
736
|
+
|
|
737
|
+
<!-- @einja:seed:start id="backend-architecture-project" -->
|
|
738
|
+
## プロジェクト固有の設定
|
|
739
|
+
|
|
740
|
+
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
741
|
+
<!-- einja syncで上書きされません -->
|
|
742
|
+
<!-- @einja:seed:end -->
|