@einja/dev-cli 0.1.40 → 0.1.44
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 +89 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +71 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +187 -13
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/task-loop/lib/github-client.test.js.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +2 -2
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -1
- package/dist/lib/dependency-checker.d.ts.map +1 -1
- package/dist/lib/merger.d.ts +12 -0
- package/dist/lib/merger.d.ts.map +1 -1
- package/dist/lib/merger.js +28 -0
- package/dist/lib/merger.js.map +1 -1
- package/dist/lib/preset-update/cli-repo-detector.d.ts.map +1 -1
- package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
- package/dist/lib/preset-update/file-copier.js +3 -3
- package/dist/lib/preset-update/file-copier.js.map +1 -1
- package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
- package/dist/lib/preset.d.ts.map +1 -1
- package/dist/lib/sync/category-validator.d.ts +1 -1
- package/dist/lib/sync/category-validator.d.ts.map +1 -1
- package/dist/lib/sync/category-validator.js +2 -1
- package/dist/lib/sync/category-validator.js.map +1 -1
- package/dist/lib/sync/category-validator.test.js +3 -1
- 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/diff-engine.d.ts.map +1 -1
- package/dist/lib/sync/file-filter.d.ts.map +1 -1
- package/dist/lib/sync/file-filter.js +1 -0
- package/dist/lib/sync/file-filter.js.map +1 -1
- package/dist/lib/sync/integration.test.js +255 -69
- package/dist/lib/sync/integration.test.js.map +1 -1
- package/dist/lib/sync/json-processor.d.ts +4 -4
- package/dist/lib/sync/json-processor.d.ts.map +1 -1
- package/dist/lib/sync/json-processor.js +11 -11
- package/dist/lib/sync/json-processor.js.map +1 -1
- package/dist/lib/sync/marker-processor.d.ts +60 -8
- package/dist/lib/sync/marker-processor.d.ts.map +1 -1
- package/dist/lib/sync/marker-processor.js +117 -26
- package/dist/lib/sync/marker-processor.js.map +1 -1
- package/dist/lib/sync/marker-processor.test.js +261 -40
- package/dist/lib/sync/marker-processor.test.js.map +1 -1
- package/dist/lib/sync/metadata-manager.d.ts +4 -0
- package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
- package/dist/lib/sync/metadata-manager.js +15 -0
- package/dist/lib/sync/metadata-manager.js.map +1 -1
- package/dist/lib/sync/metadata-manager.test.js +69 -0
- package/dist/lib/sync/metadata-manager.test.js.map +1 -1
- package/dist/lib/sync/orphan-cleaner.d.ts +29 -0
- package/dist/lib/sync/orphan-cleaner.d.ts.map +1 -0
- package/dist/lib/sync/orphan-cleaner.js +80 -0
- package/dist/lib/sync/orphan-cleaner.js.map +1 -0
- package/dist/lib/sync/orphan-cleaner.test.d.ts +2 -0
- package/dist/lib/sync/orphan-cleaner.test.d.ts.map +1 -0
- package/dist/lib/sync/orphan-cleaner.test.js +169 -0
- package/dist/lib/sync/orphan-cleaner.test.js.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.d.ts +52 -0
- package/dist/lib/sync/project-private-synchronizer.d.ts.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.js +110 -0
- package/dist/lib/sync/project-private-synchronizer.js.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.test.d.ts +2 -0
- package/dist/lib/sync/project-private-synchronizer.test.d.ts.map +1 -0
- package/dist/lib/sync/project-private-synchronizer.test.js +348 -0
- package/dist/lib/sync/project-private-synchronizer.test.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/sync.d.ts +36 -6
- package/dist/types/sync.d.ts.map +1 -1
- package/dist/types/sync.js +2 -2
- package/dist/types/sync.js.map +1 -1
- package/package.json +5 -4
- package/presets/default/.claude/agents/einja/Explore.md +140 -0
- package/presets/default/.claude/agents/einja/backend-architect.md +21 -1
- package/presets/default/.claude/agents/einja/codex-agent.md +5 -1
- package/presets/default/.claude/agents/einja/design-engineer.md +5 -1
- package/presets/default/.claude/agents/einja/docs/docs-updater.md +7 -93
- package/presets/default/.claude/agents/einja/frontend-architect.md +21 -1
- package/presets/default/.claude/agents/einja/frontend-coder.md +5 -1
- package/presets/default/.claude/agents/einja/{specs/spec-design-generator.md → issue-specs/design-generator.md} +16 -8
- package/presets/default/.claude/agents/einja/{specs/spec-qa-generator.md → issue-specs/qa-generator.md} +10 -4
- package/presets/default/.claude/agents/einja/{specs/spec-requirements-generator.md → issue-specs/requirements-generator.md} +9 -6
- package/presets/default/.claude/agents/einja/{specs/spec-tasks-generator.md → issue-specs/tasks-generator.md} +19 -16
- package/presets/default/.claude/agents/einja/{specs/spec-tasks-validator.md → issue-specs/tasks-validator.md} +13 -9
- package/presets/default/.claude/agents/einja/issue-specs/ui-design-generator.md +114 -0
- package/presets/default/.claude/agents/einja/task/task-executer.md +64 -116
- package/presets/default/.claude/agents/einja/task/task-modification-analyzer.md +6 -2
- package/presets/default/.claude/agents/einja/task/task-qa.md +7 -3
- package/presets/default/.claude/agents/einja/task/task-reviewer.md +17 -1
- package/presets/default/.claude/commands/einja/einja-sync.md +124 -45
- package/presets/default/.claude/commands/einja/frontend-implement.md +3 -1
- package/presets/default/.claude/commands/einja/issue-exec.md +413 -0
- package/presets/default/.claude/commands/einja/start-dev.md +4 -0
- package/presets/default/.claude/commands/einja/sync-cursor-commands.md +10 -6
- package/presets/default/.claude/commands/einja/{update-docs-by-task-specs.md → update-docs-by-issue-specs.md} +61 -57
- package/presets/default/.claude/hooks/einja/plan-mode-skill-loader.sh +27 -0
- package/presets/default/.claude/settings.json +29 -5
- package/presets/default/.claude/skills/{einja-general-context-loader → _einja-general-context-loader}/SKILL.md +6 -2
- package/presets/default/.claude/skills/{einja-output-format → _einja-output-format}/SKILL.md +5 -1
- package/presets/default/.claude/skills/_einja-project-overview/SKILL.md +29 -0
- package/presets/default/.claude/skills/{einja-spec-context-loader → _einja-spec-context-loader}/SKILL.md +9 -5
- package/presets/default/.claude/skills/einja-coding-standards/references/testing-strategy.md +899 -0
- package/presets/default/.claude/skills/einja-conflict-resolver/SKILL.md +5 -1
- package/presets/default/.claude/skills/einja-create-pr/SKILL.md +138 -0
- package/presets/default/.claude/skills/einja-infra-maintenance/SKILL.md +779 -0
- package/presets/default/.claude/{commands/einja/spec-create.md → skills/einja-issue-spec-create/SKILL.md} +60 -23
- package/presets/default/.claude/skills/einja-issue-spec-generator/SKILL.md +105 -0
- package/presets/default/.claude/skills/einja-issue-spec-generator/references/format-rules.md +35 -0
- package/presets/default/.claude/skills/einja-issue-spec-validator/SKILL.md +130 -0
- package/presets/default/.claude/skills/einja-issue-spec-validator/references/validation-rules.md +52 -0
- package/presets/default/.claude/skills/einja-npm-release/SKILL.md +242 -0
- package/presets/default/.claude/skills/einja-skill-creator/SKILL.md +311 -263
- package/presets/default/.claude/skills/einja-skill-creator/agents/analyzer.md +274 -0
- package/presets/default/.claude/skills/einja-skill-creator/agents/comparator.md +202 -0
- package/presets/default/.claude/skills/einja-skill-creator/agents/grader.md +195 -0
- package/presets/default/.claude/skills/einja-skill-creator/assets/eval_review.html +146 -0
- package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/generate_review.py +471 -0
- package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/viewer.html +1325 -0
- package/presets/default/.claude/skills/einja-skill-creator/references/schemas.md +430 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/compare_runs.py +154 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/generate_report.py +272 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/improve_description.py +247 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/init_skill.py +13 -19
- package/presets/default/.claude/skills/einja-skill-creator/scripts/package_skill.py +36 -7
- package/presets/default/.claude/skills/einja-skill-creator/scripts/run_eval.py +310 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/run_loop.py +375 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/utils.py +48 -0
- package/presets/default/.claude/skills/einja-skill-first/SKILL.md +265 -0
- package/presets/default/.claude/skills/einja-subagent-question-protocol/SKILL.md +98 -0
- package/presets/default/.claude/skills/einja-task-commit/SKILL.md +11 -7
- package/presets/default/.claude/{commands/einja/task-exec.md → skills/einja-task-exec/SKILL.md} +106 -89
- package/presets/default/.claude/skills/einja-task-qa/SKILL.md +8 -4
- package/presets/default/.claude/skills/einja-task-qa/references/troubleshooting.md +1 -1
- package/presets/default/.claude/skills/einja-task-qa/references/usage-patterns.md +2 -2
- package/presets/default/.claude/skills/einja-team-exec/SKILL.md +165 -0
- package/presets/default/.envrc +5 -0
- package/presets/default/.mcp.json +2 -12
- package/presets/default/CLAUDE.md.template +45 -8
- package/presets/default/docs/einja/example/specs/issues/issue999-example-task/tasks.md +1 -1
- package/presets/default/docs/einja/instructions/deployment-setup.md +4 -9
- package/presets/default/docs/einja/instructions/environment-setup.md +3 -8
- package/presets/default/docs/einja/instructions/issue-exec-workflow.md +276 -0
- package/presets/default/docs/einja/instructions/local-server-environment-and-worktree.md +71 -9
- package/presets/default/docs/einja/instructions/neon-cli-reference.md +3 -8
- package/presets/default/docs/einja/instructions/setup-flow.md +279 -0
- package/presets/default/docs/einja/instructions/task-execute.md +63 -68
- package/presets/default/docs/einja/instructions/vercel-cli-reference.md +17 -10
- package/presets/default/docs/einja/steering/README.md +11 -11
- package/presets/default/docs/einja/steering/acceptance-criteria-and-qa-guide.md +4 -9
- package/presets/default/docs/einja/steering/architecture.md +3 -8
- package/presets/default/docs/einja/steering/branch-strategy.md +63 -70
- package/presets/default/docs/einja/steering/commit-rules.md +3 -8
- package/presets/default/docs/einja/steering/db-schema-design.md +3 -8
- package/presets/default/docs/einja/steering/development/api-development.md +3 -8
- package/presets/default/docs/einja/steering/development/backend-architecture.md +3 -8
- package/presets/default/docs/einja/steering/development/coding-standards.md +723 -0
- package/presets/default/docs/einja/steering/development/component-design.md +502 -0
- package/presets/default/docs/einja/steering/development/database-guidelines.md +2 -2
- package/presets/default/docs/einja/steering/development/frontend-development.md +3 -8
- package/presets/default/docs/einja/steering/development/playwright-guidelines.md +59 -0
- package/presets/default/docs/einja/steering/development/review-guidelines.md +3 -8
- package/presets/default/docs/einja/steering/development/testing-strategy.md +3 -8
- package/presets/default/docs/einja/steering/development-workflow.md +155 -140
- package/presets/default/docs/einja/steering/infrastructure/deployment.md +156 -55
- package/presets/default/docs/einja/steering/infrastructure/environment-variables.md +4 -8
- package/presets/default/docs/einja/steering/product.md +3 -8
- package/presets/default/docs/einja/steering/task-management.md +22 -110
- package/presets/default/scripts/ensure-serena.sh +75 -0
- package/presets/default/scripts/env-rotate-secrets.ts +396 -0
- package/presets/default/scripts/env-show.ts +130 -0
- package/presets/default/scripts/env.ts +479 -0
- package/presets/default/scripts/init-github.ts +363 -0
- package/presets/default/scripts/init.sh +98 -0
- package/presets/default/scripts/lib/env-common.ts +108 -0
- package/presets/default/scripts/lib/worktree-config.ts +64 -0
- package/presets/default/scripts/setup-dev.ts +655 -0
- package/presets/default/scripts/stop-serena.sh +25 -0
- package/presets/default/scripts/worktree/dev.ts +872 -0
- package/dist/lib/sync/seed-synchronizer.d.ts +0 -27
- package/dist/lib/sync/seed-synchronizer.d.ts.map +0 -1
- package/dist/lib/sync/seed-synchronizer.js +0 -72
- package/dist/lib/sync/seed-synchronizer.js.map +0 -1
- package/dist/lib/sync/seed-synchronizer.test.d.ts +0 -2
- package/dist/lib/sync/seed-synchronizer.test.d.ts.map +0 -1
- package/dist/lib/sync/seed-synchronizer.test.js +0 -147
- package/dist/lib/sync/seed-synchronizer.test.js.map +0 -1
- package/presets/default/.claude/agents/einja/git/conflict-resolver.md +0 -148
- package/presets/default/.claude/hooks/einja/validate-git-commit.sh +0 -239
- package/presets/default/.claude/skills/einja-api-development/SKILL.md +0 -14
- package/presets/default/.claude/skills/einja-backend-architecture/SKILL.md +0 -18
- package/presets/default/.claude/skills/einja-coding-standards/SKILL.md +0 -132
- package/presets/default/.claude/skills/einja-coding-standards/references/import-conventions.md +0 -69
- package/presets/default/.claude/skills/einja-coding-standards/references/naming-conventions.md +0 -107
- package/presets/default/.claude/skills/einja-coding-standards/references/prohibited-patterns.md +0 -169
- package/presets/default/.claude/skills/einja-coding-standards/references/typescript-rules.md +0 -247
- package/presets/default/.claude/skills/einja-component-design/SKILL.md +0 -109
- package/presets/default/.claude/skills/einja-component-design/references/directory-structure.md +0 -117
- package/presets/default/.claude/skills/einja-component-design/references/props-patterns.md +0 -159
- package/presets/default/.claude/skills/einja-component-design/references/styling-guide.md +0 -122
- package/presets/default/.claude/skills/einja-frontend-development/SKILL.md +0 -14
- package/presets/default/.claude/skills/einja-project-overview/SKILL.md +0 -35
- package/presets/default/docs/einja/instructions/task-vibe-kanban-loop.md +0 -565
|
@@ -30,7 +30,7 @@ graph TB
|
|
|
30
30
|
ISSUE --> PHASE2[issue/123-phase2]
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
subgraph "Worktree(
|
|
33
|
+
subgraph "Worktree(einja:issue-exec管理)"
|
|
34
34
|
PHASE1 -.->|base_branch| WT1[worktree: task-1.1]
|
|
35
35
|
PHASE1 -.->|base_branch| WT2[worktree: task-1.2]
|
|
36
36
|
PHASE2 -.->|base_branch| WT3[worktree: task-2.1]
|
|
@@ -67,7 +67,7 @@ graph TB
|
|
|
67
67
|
|
|
68
68
|
**目的**:
|
|
69
69
|
- フェーズ単位での作業を分離
|
|
70
|
-
-
|
|
70
|
+
- einja:issue-exec の Worker 実行ベースブランチとして使用(原則)
|
|
71
71
|
- フェーズ完了後、親ブランチにマージ
|
|
72
72
|
|
|
73
73
|
## ブランチ命名例
|
|
@@ -80,54 +80,54 @@ graph TB
|
|
|
80
80
|
|
|
81
81
|
---
|
|
82
82
|
|
|
83
|
-
##
|
|
83
|
+
## einja:issue-exec 実行時のブランチ運用
|
|
84
84
|
|
|
85
85
|
### タスク実行シーケンス
|
|
86
86
|
|
|
87
87
|
```mermaid
|
|
88
88
|
sequenceDiagram
|
|
89
89
|
participant User as 開発者
|
|
90
|
-
participant
|
|
90
|
+
participant Mgr as Manager
|
|
91
91
|
participant Git as Git
|
|
92
|
-
participant
|
|
93
|
-
participant
|
|
92
|
+
participant Dir as Director
|
|
93
|
+
participant Wkr as Worker
|
|
94
94
|
|
|
95
|
-
User->>
|
|
95
|
+
User->>Mgr: /einja:issue-exec #123
|
|
96
96
|
|
|
97
97
|
rect rgb(230,240,255)
|
|
98
|
-
Note over
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
98
|
+
Note over Mgr,Git: 初期化フェーズ(Issue & Phase ブランチ + worktree)
|
|
99
|
+
Mgr->>Git: git fetch origin
|
|
100
|
+
Mgr->>Git: git branch issue/123 origin/{IssueBranchBase}
|
|
101
|
+
Mgr->>Git: git push -u origin issue/123
|
|
102
|
+
Mgr->>Git: git branch issue/123-phase1 issue/123
|
|
103
|
+
Mgr->>Git: git worktree add ~/.einja/worktrees/issue-123/phase1 issue/123-phase1
|
|
103
104
|
end
|
|
104
105
|
|
|
105
106
|
rect rgb(255,245,230)
|
|
106
|
-
Note over
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
CC->>VK: タスク完了
|
|
107
|
+
Note over Mgr,Wkr: タスク実行フェーズ(tmux + worktree)
|
|
108
|
+
Mgr->>Dir: tmux window で Director 起動(Phase worktree)
|
|
109
|
+
Dir->>Git: git branch task/123-1.1 issue/123-phase1
|
|
110
|
+
Dir->>Git: git worktree add ~/.einja/worktrees/issue-123/task-1.1 task/123-1.1
|
|
111
|
+
Dir->>Wkr: tmux window で Worker 起動(Task worktree)
|
|
112
|
+
Wkr->>Git: 実装 & コミット & push
|
|
113
|
+
Wkr->>Git: gh pr create --base issue/123-phase1 --head task/123-1.1
|
|
114
|
+
Wkr->>Dir: ステータスファイルで完了報告
|
|
115
115
|
end
|
|
116
116
|
|
|
117
117
|
rect rgb(230,255,230)
|
|
118
|
-
Note over
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
Note over Dir,Git: 完了検知フェーズ(ステータスファイル監視)
|
|
119
|
+
Dir->>Git: PR マージ処理(マージモードに応じて)
|
|
120
|
+
Dir->>Git: worktree 削除 & tmux window kill
|
|
121
|
+
Dir->>Dir: 依存タスク起動判定 → 新 Worker 起動
|
|
122
|
+
Dir->>Git: GitHub Issue チェックボックス更新
|
|
122
123
|
end
|
|
123
124
|
|
|
124
125
|
rect rgb(255,245,230)
|
|
125
|
-
Note over
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
Note over Git: 前タスクの変更が含まれる
|
|
126
|
+
Note over Dir,Wkr: 次タスク開始時
|
|
127
|
+
Dir->>Git: git branch task/123-1.2 issue/123-phase1
|
|
128
|
+
Dir->>Git: git worktree add ~/.einja/worktrees/issue-123/task-1.2 task/123-1.2
|
|
129
|
+
Dir->>Wkr: tmux window で Worker 起動
|
|
130
|
+
Note over Git: 前タスクの変更がマージ済みの Phase ブランチから派生
|
|
131
131
|
end
|
|
132
132
|
```
|
|
133
133
|
|
|
@@ -135,44 +135,42 @@ sequenceDiagram
|
|
|
135
135
|
|
|
136
136
|
| 操作 | タイミング | 実行者 | 備考 |
|
|
137
137
|
|-----|----------|--------|------|
|
|
138
|
-
| **Create** Issue ブランチ |
|
|
139
|
-
| **
|
|
140
|
-
| **Create**
|
|
141
|
-
| **
|
|
142
|
-
| **
|
|
143
|
-
| **
|
|
144
|
-
| **
|
|
145
|
-
| **Delete**
|
|
146
|
-
| **Delete** Phase ブランチ | Issue 完了後 | 手動 | Issue ブランチにマージ後 |
|
|
138
|
+
| **Create** Issue ブランチ | コマンド起動時 | Manager | IssueBranchBase から作成 |
|
|
139
|
+
| **Create** Phase ブランチ + worktree | コマンド起動時 | Manager | Issue ブランチから作成、`~/.einja/worktrees/issue-{N}/` に配置 |
|
|
140
|
+
| **Create** Task ブランチ + worktree | タスク開始時 | Director | Phase ブランチから作成、`~/.einja/worktrees/issue-{N}/` に配置 |
|
|
141
|
+
| **Update** Phase ブランチ | タスク PR マージ時 | GitHub | タスク完了後のマージで更新 |
|
|
142
|
+
| **Merge** Phase → Issue | Phase 全タスク完了時 | Manager | Phase PR 作成 → マージモードに応じた処理 |
|
|
143
|
+
| **Delete** Task worktree | タスク完了後 | Director | タスク完了後に即削除 |
|
|
144
|
+
| **Delete** Phase worktree | Phase 完了後 | Manager | Phase マージ後に即削除 |
|
|
145
|
+
| **Delete** Phase ブランチ | Issue 完了後 | Manager | Issue ブランチにマージ後 |
|
|
147
146
|
|
|
148
147
|
### Worktree ライフサイクル
|
|
149
148
|
|
|
150
149
|
```mermaid
|
|
151
150
|
stateDiagram-v2
|
|
152
|
-
[*] --> Created:
|
|
153
|
-
Created --> Running:
|
|
154
|
-
Running --> Completed: タスク完了
|
|
155
|
-
Completed -->
|
|
156
|
-
|
|
157
|
-
Merged --> Cleanup: 72時間後
|
|
158
|
-
Cleanup --> [*]: 自動削除
|
|
151
|
+
[*] --> Created: Director が worktree 作成
|
|
152
|
+
Created --> Running: Worker(claude 対話モード)起動
|
|
153
|
+
Running --> Completed: タスク完了 & PR 作成
|
|
154
|
+
Completed --> Merged: PR マージ
|
|
155
|
+
Merged --> [*]: 即削除(Director が worktree remove)
|
|
159
156
|
```
|
|
160
157
|
|
|
161
|
-
###
|
|
158
|
+
### ブランチ同期の動作
|
|
162
159
|
|
|
163
|
-
|
|
160
|
+
タスク着手時、Director は Phase ブランチの最新状態から Task ブランチを作成します。
|
|
161
|
+
先行タスクの PR がマージされた Phase ブランチから派生するため、変更が自動的に引き継がれます。
|
|
164
162
|
|
|
165
163
|
```mermaid
|
|
166
164
|
sequenceDiagram
|
|
167
165
|
participant Main as main<br/>(base)
|
|
168
166
|
participant Issue as issue/123
|
|
169
167
|
participant Phase as issue/123-phase1
|
|
170
|
-
participant
|
|
168
|
+
participant Task as task/123-1.2
|
|
171
169
|
|
|
172
|
-
Note over Main,
|
|
170
|
+
Note over Main,Task: タスク着手時のブランチ派生
|
|
173
171
|
|
|
174
172
|
rect rgb(240, 248, 255)
|
|
175
|
-
Note over Main,Issue: Step 1: Issue
|
|
173
|
+
Note over Main,Issue: Step 1: Issue ブランチの同期(Manager)
|
|
176
174
|
Issue->>Issue: fetch origin/issue/123
|
|
177
175
|
Issue->>Issue: merge origin/issue/123 (pull)
|
|
178
176
|
Main->>Issue: merge main (base変更の取り込み)
|
|
@@ -180,7 +178,7 @@ sequenceDiagram
|
|
|
180
178
|
end
|
|
181
179
|
|
|
182
180
|
rect rgb(255, 248, 240)
|
|
183
|
-
Note over Issue,Phase: Step 2: Phase
|
|
181
|
+
Note over Issue,Phase: Step 2: Phase ブランチの同期(Director)
|
|
184
182
|
Phase->>Phase: fetch origin/issue/123-phase1
|
|
185
183
|
Phase->>Phase: merge origin/issue/123-phase1 (pull)
|
|
186
184
|
Issue->>Phase: merge issue/123 (他Phaseの変更取り込み)
|
|
@@ -188,16 +186,16 @@ sequenceDiagram
|
|
|
188
186
|
end
|
|
189
187
|
|
|
190
188
|
rect rgb(240, 255, 240)
|
|
191
|
-
Note over Phase,
|
|
192
|
-
Phase-->>
|
|
193
|
-
Note over
|
|
189
|
+
Note over Phase,Task: Step 3: Task ブランチ & worktree 作成(Director)
|
|
190
|
+
Phase-->>Task: Phase ブランチから Task ブランチを作成
|
|
191
|
+
Note over Task: Worker(claude 対話モード)がタスク実行
|
|
194
192
|
end
|
|
195
193
|
```
|
|
196
194
|
|
|
197
195
|
**同期の原則**:
|
|
198
|
-
-
|
|
199
|
-
-
|
|
200
|
-
-
|
|
196
|
+
- 先行タスクの PR マージにより Phase ブランチが更新される
|
|
197
|
+
- 後続タスクは更新済み Phase ブランチから派生するため変更を引き継ぐ
|
|
198
|
+
- コンフリクト発生時は einja-conflict-resolver Skill で解消
|
|
201
199
|
|
|
202
200
|
### 変更の取り込み対象
|
|
203
201
|
|
|
@@ -216,8 +214,8 @@ IssueBranchBase(main, develop など)
|
|
|
216
214
|
issue/123
|
|
217
215
|
↓ マージ
|
|
218
216
|
issue/123-phase1
|
|
219
|
-
↓
|
|
220
|
-
worktree
|
|
217
|
+
↓ Task ブランチとして派生
|
|
218
|
+
task/123-1.1(Worker が worktree 上で実行)
|
|
221
219
|
```
|
|
222
220
|
|
|
223
221
|
これにより:
|
|
@@ -358,16 +356,11 @@ git push origin タスクブランチ名
|
|
|
358
356
|
|
|
359
357
|
## 関連ドキュメント
|
|
360
358
|
|
|
361
|
-
- [
|
|
359
|
+
- [einja:issue-exec ワークフロー](../instructions/issue-exec-workflow.md) - コマンドの使用方法と3階層プロセスの詳細
|
|
362
360
|
- [タスク管理](task-management.md) - タスク階層と粒度基準
|
|
363
361
|
- [開発ワークフロー](development-workflow.md) - 仕様書作成からタスク実行までの全体フロー
|
|
364
362
|
<!-- @einja:managed:end -->
|
|
365
363
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
<!-- @einja:
|
|
369
|
-
## プロジェクト固有の設定
|
|
370
|
-
|
|
371
|
-
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
372
|
-
<!-- einja syncで上書きされません -->
|
|
373
|
-
<!-- @einja:seed:end -->
|
|
364
|
+
<!-- @einja:project-private:start id="branch-strategy-project" -->
|
|
365
|
+
<!-- プロジェクト固有の情報を記入 -->
|
|
366
|
+
<!-- @einja:project-private:end -->
|
|
@@ -218,11 +218,6 @@ git push
|
|
|
218
218
|
コミットルールの遵守は、プロジェクトの履歴管理とレビュープロセスの効率化に直結します。全ての開発者・AIアシスタントは、これらのルールを例外なく厳守してください。
|
|
219
219
|
<!-- @einja:managed:end -->
|
|
220
220
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
<!-- @einja:
|
|
224
|
-
## プロジェクト固有の設定
|
|
225
|
-
|
|
226
|
-
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
227
|
-
<!-- einja syncで上書きされません -->
|
|
228
|
-
<!-- @einja:seed:end -->
|
|
221
|
+
<!-- @einja:project-private:start id="commit-rules-project" -->
|
|
222
|
+
<!-- プロジェクト固有の情報を記入 -->
|
|
223
|
+
<!-- @einja:project-private:end -->
|
|
@@ -610,11 +610,6 @@ pnpm db:seed
|
|
|
610
610
|
すべてのスキーマ変更は、このガイドラインに従って実装してください。
|
|
611
611
|
<!-- @einja:managed:end -->
|
|
612
612
|
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
<!-- @einja:
|
|
616
|
-
## プロジェクト固有の設定
|
|
617
|
-
|
|
618
|
-
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
619
|
-
<!-- einja syncで上書きされません -->
|
|
620
|
-
<!-- @einja:seed:end -->
|
|
613
|
+
<!-- @einja:project-private:start id="db-schema-design-project" -->
|
|
614
|
+
<!-- プロジェクト固有の情報を記入 -->
|
|
615
|
+
<!-- @einja:project-private:end -->
|
|
@@ -830,11 +830,6 @@ export type AppType = typeof routes
|
|
|
830
830
|
すべてのAPI実装は、このガイドラインに従って実装してください。
|
|
831
831
|
<!-- @einja:managed:end -->
|
|
832
832
|
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
<!-- @einja:
|
|
836
|
-
## プロジェクト固有の設定
|
|
837
|
-
|
|
838
|
-
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
839
|
-
<!-- einja syncで上書きされません -->
|
|
840
|
-
<!-- @einja:seed:end -->
|
|
833
|
+
<!-- @einja:project-private:start id="api-development-project" -->
|
|
834
|
+
<!-- プロジェクト固有の情報を記入 -->
|
|
835
|
+
<!-- @einja:project-private:end -->
|
|
@@ -733,11 +733,6 @@ if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma
|
|
|
733
733
|
すべての開発者は、この設計原則に従ってバックエンド開発を行ってください。
|
|
734
734
|
<!-- @einja:managed:end -->
|
|
735
735
|
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
<!-- @einja:
|
|
739
|
-
## プロジェクト固有の設定
|
|
740
|
-
|
|
741
|
-
<!-- このセクションはプロジェクト固有の内容を追記する場所です -->
|
|
742
|
-
<!-- einja syncで上書きされません -->
|
|
743
|
-
<!-- @einja:seed:end -->
|
|
736
|
+
<!-- @einja:project-private:start id="backend-architecture-project" -->
|
|
737
|
+
<!-- プロジェクト固有の情報を記入 -->
|
|
738
|
+
<!-- @einja:project-private:end -->
|