@einja/dev-cli 0.1.6
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 +179 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +49 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +243 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +23 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/sync.d.ts +7 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +294 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/sync.test.d.ts +2 -0
- package/dist/commands/sync.test.d.ts.map +1 -0
- package/dist/commands/sync.test.js +593 -0
- package/dist/commands/sync.test.js.map +1 -0
- package/dist/commands/task-loop.d.ts +11 -0
- package/dist/commands/task-loop.d.ts.map +1 -0
- package/dist/commands/task-loop.js +81 -0
- package/dist/commands/task-loop.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/file-system.d.ts +39 -0
- package/dist/lib/file-system.d.ts.map +1 -0
- package/dist/lib/file-system.js +79 -0
- package/dist/lib/file-system.js.map +1 -0
- package/dist/lib/mcp-config.d.ts +43 -0
- package/dist/lib/mcp-config.d.ts.map +1 -0
- package/dist/lib/mcp-config.js +109 -0
- package/dist/lib/mcp-config.js.map +1 -0
- package/dist/lib/mcp-config.test.d.ts +2 -0
- package/dist/lib/mcp-config.test.d.ts.map +1 -0
- package/dist/lib/mcp-config.test.js +285 -0
- package/dist/lib/mcp-config.test.js.map +1 -0
- package/dist/lib/merger.d.ts +41 -0
- package/dist/lib/merger.d.ts.map +1 -0
- package/dist/lib/merger.js +164 -0
- package/dist/lib/merger.js.map +1 -0
- package/dist/lib/preset-update/cli-repo-detector.d.ts +35 -0
- package/dist/lib/preset-update/cli-repo-detector.d.ts.map +1 -0
- package/dist/lib/preset-update/cli-repo-detector.js +83 -0
- package/dist/lib/preset-update/cli-repo-detector.js.map +1 -0
- package/dist/lib/preset-update/cli-repo-detector.test.d.ts +2 -0
- package/dist/lib/preset-update/cli-repo-detector.test.d.ts.map +1 -0
- package/dist/lib/preset-update/cli-repo-detector.test.js +120 -0
- package/dist/lib/preset-update/cli-repo-detector.test.js.map +1 -0
- package/dist/lib/preset-update/file-copier.d.ts +59 -0
- package/dist/lib/preset-update/file-copier.d.ts.map +1 -0
- package/dist/lib/preset-update/file-copier.js +220 -0
- package/dist/lib/preset-update/file-copier.js.map +1 -0
- package/dist/lib/preset-update/file-copier.test.d.ts +2 -0
- package/dist/lib/preset-update/file-copier.test.d.ts.map +1 -0
- package/dist/lib/preset-update/file-copier.test.js +297 -0
- package/dist/lib/preset-update/file-copier.test.js.map +1 -0
- package/dist/lib/preset-update/preset-finder.d.ts +39 -0
- package/dist/lib/preset-update/preset-finder.d.ts.map +1 -0
- package/dist/lib/preset-update/preset-finder.js +92 -0
- package/dist/lib/preset-update/preset-finder.js.map +1 -0
- package/dist/lib/preset-update/preset-finder.test.d.ts +2 -0
- package/dist/lib/preset-update/preset-finder.test.d.ts.map +1 -0
- package/dist/lib/preset-update/preset-finder.test.js +128 -0
- package/dist/lib/preset-update/preset-finder.test.js.map +1 -0
- package/dist/lib/preset.d.ts +14 -0
- package/dist/lib/preset.d.ts.map +1 -0
- package/dist/lib/preset.js +52 -0
- package/dist/lib/preset.js.map +1 -0
- package/dist/lib/sync/backup-manager.d.ts +50 -0
- package/dist/lib/sync/backup-manager.d.ts.map +1 -0
- package/dist/lib/sync/backup-manager.js +117 -0
- package/dist/lib/sync/backup-manager.js.map +1 -0
- package/dist/lib/sync/backup-manager.test.d.ts +2 -0
- package/dist/lib/sync/backup-manager.test.d.ts.map +1 -0
- package/dist/lib/sync/backup-manager.test.js +155 -0
- package/dist/lib/sync/backup-manager.test.js.map +1 -0
- package/dist/lib/sync/batch-processor.d.ts +27 -0
- package/dist/lib/sync/batch-processor.d.ts.map +1 -0
- package/dist/lib/sync/batch-processor.js +46 -0
- package/dist/lib/sync/batch-processor.js.map +1 -0
- package/dist/lib/sync/batch-processor.test.d.ts +2 -0
- package/dist/lib/sync/batch-processor.test.d.ts.map +1 -0
- package/dist/lib/sync/batch-processor.test.js +110 -0
- package/dist/lib/sync/batch-processor.test.js.map +1 -0
- package/dist/lib/sync/category-validator.d.ts +36 -0
- package/dist/lib/sync/category-validator.d.ts.map +1 -0
- package/dist/lib/sync/category-validator.js +46 -0
- package/dist/lib/sync/category-validator.js.map +1 -0
- package/dist/lib/sync/category-validator.test.d.ts +2 -0
- package/dist/lib/sync/category-validator.test.d.ts.map +1 -0
- package/dist/lib/sync/category-validator.test.js +89 -0
- package/dist/lib/sync/category-validator.test.js.map +1 -0
- package/dist/lib/sync/conflict-reporter.d.ts +57 -0
- package/dist/lib/sync/conflict-reporter.d.ts.map +1 -0
- package/dist/lib/sync/conflict-reporter.js +81 -0
- package/dist/lib/sync/conflict-reporter.js.map +1 -0
- package/dist/lib/sync/conflict-reporter.test.d.ts +2 -0
- package/dist/lib/sync/conflict-reporter.test.d.ts.map +1 -0
- package/dist/lib/sync/conflict-reporter.test.js +132 -0
- package/dist/lib/sync/conflict-reporter.test.js.map +1 -0
- package/dist/lib/sync/diff-engine.d.ts +28 -0
- package/dist/lib/sync/diff-engine.d.ts.map +1 -0
- package/dist/lib/sync/diff-engine.js +118 -0
- package/dist/lib/sync/diff-engine.js.map +1 -0
- package/dist/lib/sync/diff-engine.test.d.ts +2 -0
- package/dist/lib/sync/diff-engine.test.d.ts.map +1 -0
- package/dist/lib/sync/diff-engine.test.js +133 -0
- package/dist/lib/sync/diff-engine.test.js.map +1 -0
- package/dist/lib/sync/file-filter.d.ts +40 -0
- package/dist/lib/sync/file-filter.d.ts.map +1 -0
- package/dist/lib/sync/file-filter.js +171 -0
- package/dist/lib/sync/file-filter.js.map +1 -0
- package/dist/lib/sync/file-filter.test.d.ts +2 -0
- package/dist/lib/sync/file-filter.test.d.ts.map +1 -0
- package/dist/lib/sync/file-filter.test.js +179 -0
- package/dist/lib/sync/file-filter.test.js.map +1 -0
- package/dist/lib/sync/hash-cache.d.ts +34 -0
- package/dist/lib/sync/hash-cache.d.ts.map +1 -0
- package/dist/lib/sync/hash-cache.js +51 -0
- package/dist/lib/sync/hash-cache.js.map +1 -0
- package/dist/lib/sync/hash-cache.test.d.ts +2 -0
- package/dist/lib/sync/hash-cache.test.d.ts.map +1 -0
- package/dist/lib/sync/hash-cache.test.js +110 -0
- package/dist/lib/sync/hash-cache.test.js.map +1 -0
- package/dist/lib/sync/integration.test.d.ts +2 -0
- package/dist/lib/sync/integration.test.d.ts.map +1 -0
- package/dist/lib/sync/integration.test.js +317 -0
- package/dist/lib/sync/integration.test.js.map +1 -0
- package/dist/lib/sync/marker-processor.d.ts +54 -0
- package/dist/lib/sync/marker-processor.d.ts.map +1 -0
- package/dist/lib/sync/marker-processor.js +208 -0
- package/dist/lib/sync/marker-processor.js.map +1 -0
- package/dist/lib/sync/marker-processor.test.d.ts +2 -0
- package/dist/lib/sync/marker-processor.test.d.ts.map +1 -0
- package/dist/lib/sync/marker-processor.test.js +245 -0
- package/dist/lib/sync/marker-processor.test.js.map +1 -0
- package/dist/lib/sync/metadata-manager.d.ts +46 -0
- package/dist/lib/sync/metadata-manager.d.ts.map +1 -0
- package/dist/lib/sync/metadata-manager.js +129 -0
- package/dist/lib/sync/metadata-manager.js.map +1 -0
- package/dist/lib/sync/metadata-manager.test.d.ts +2 -0
- package/dist/lib/sync/metadata-manager.test.d.ts.map +1 -0
- package/dist/lib/sync/metadata-manager.test.js +137 -0
- package/dist/lib/sync/metadata-manager.test.js.map +1 -0
- package/dist/lib/sync/performance.test.d.ts +2 -0
- package/dist/lib/sync/performance.test.d.ts.map +1 -0
- package/dist/lib/sync/performance.test.js +126 -0
- package/dist/lib/sync/performance.test.js.map +1 -0
- package/dist/types/index.d.ts +59 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/preset-update.d.ts +106 -0
- package/dist/types/preset-update.d.ts.map +1 -0
- package/dist/types/preset-update.js +5 -0
- package/dist/types/preset-update.js.map +1 -0
- package/dist/types/sync.d.ts +169 -0
- package/dist/types/sync.d.ts.map +1 -0
- package/dist/types/sync.js +19 -0
- package/dist/types/sync.js.map +1 -0
- package/package.json +72 -0
- package/presets/minimal/.claude/agents/einja/docs/docs-updater.md +161 -0
- package/presets/minimal/.claude/agents/einja/frontend/design-engineer.md +685 -0
- package/presets/minimal/.claude/agents/einja/frontend/frontend-architect.md +747 -0
- package/presets/minimal/.claude/agents/einja/frontend/frontend-coder.md +441 -0
- package/presets/minimal/.claude/agents/einja/git/conflict-resolver.md +148 -0
- package/presets/minimal/.claude/agents/einja/specs/spec-design-generator.md +462 -0
- package/presets/minimal/.claude/agents/einja/specs/spec-qa-generator.md +466 -0
- package/presets/minimal/.claude/agents/einja/specs/spec-requirements-generator.md +416 -0
- package/presets/minimal/.claude/agents/einja/specs/spec-tasks-generator.md +608 -0
- package/presets/minimal/.claude/agents/einja/task/task-committer.md +82 -0
- package/presets/minimal/.claude/agents/einja/task/task-executer.md +352 -0
- package/presets/minimal/.claude/agents/einja/task/task-modification-analyzer.md +369 -0
- package/presets/minimal/.claude/agents/einja/task/task-qa.md +74 -0
- package/presets/minimal/.claude/agents/einja/task/task-reviewer.md +169 -0
- package/presets/minimal/.claude/commands/einja/frontend-implement.md +322 -0
- package/presets/minimal/.claude/commands/einja/spec-create.md +254 -0
- package/presets/minimal/.claude/commands/einja/start-dev.md +98 -0
- package/presets/minimal/.claude/commands/einja/sync-cursor-commands.md +203 -0
- package/presets/minimal/.claude/commands/einja/task-exec.md +390 -0
- package/presets/minimal/.claude/commands/einja/update-docs-by-task-specs.md +448 -0
- package/presets/minimal/.claude/hooks/einja/biome-format.sh +49 -0
- package/presets/minimal/.claude/hooks/einja/design-doc-check.sh +61 -0
- package/presets/minimal/.claude/hooks/einja/detect-secrets.sh +62 -0
- package/presets/minimal/.claude/hooks/einja/large-file-warning.sh +42 -0
- package/presets/minimal/.claude/hooks/einja/playwright-resize.sh +36 -0
- package/presets/minimal/.claude/hooks/einja/typecheck.sh +37 -0
- package/presets/minimal/.claude/hooks/einja/unset-volta-recursion.sh +32 -0
- package/presets/minimal/.claude/hooks/einja/validate-git-commit.sh +239 -0
- package/presets/minimal/.claude/hooks/einja/warn-index-ts.sh +34 -0
- package/presets/minimal/.claude/hooks/einja/warn-relative-import.sh +48 -0
- package/presets/minimal/.claude/settings.json +174 -0
- package/presets/minimal/.claude/skills/einja/api-development/SKILL.md +14 -0
- package/presets/minimal/.claude/skills/einja/backend-architecture/SKILL.md +14 -0
- package/presets/minimal/.claude/skills/einja/coding-standards/SKILL.md +120 -0
- package/presets/minimal/.claude/skills/einja/coding-standards/reference/naming-conventions.md +107 -0
- package/presets/minimal/.claude/skills/einja/coding-standards/reference/prohibited-patterns.md +169 -0
- package/presets/minimal/.claude/skills/einja/coding-standards/reference/typescript-rules.md +247 -0
- package/presets/minimal/.claude/skills/einja/component-design/SKILL.md +109 -0
- package/presets/minimal/.claude/skills/einja/component-design/reference/directory-structure.md +117 -0
- package/presets/minimal/.claude/skills/einja/component-design/reference/props-patterns.md +159 -0
- package/presets/minimal/.claude/skills/einja/component-design/reference/styling-guide.md +200 -0
- package/presets/minimal/.claude/skills/einja/conflict-resolver/SKILL.md +190 -0
- package/presets/minimal/.claude/skills/einja/frontend-development/SKILL.md +14 -0
- package/presets/minimal/.claude/skills/einja/general-context-loader/SKILL.md +254 -0
- package/presets/minimal/.claude/skills/einja/output-format/SKILL.md +137 -0
- package/presets/minimal/.claude/skills/einja/spec-context-loader/SKILL.md +177 -0
- package/presets/minimal/.claude/skills/einja/task-commit/SKILL.md +269 -0
- package/presets/minimal/.claude/skills/einja/task-qa/SKILL.md +306 -0
- package/presets/minimal/.claude/skills/einja/task-qa/reference/failure-patterns.md +69 -0
- package/presets/minimal/.claude/skills/einja/task-qa/reference/troubleshooting.md +65 -0
- package/presets/minimal/.claude/skills/einja/task-qa/reference/usage-patterns.md +52 -0
- package/presets/minimal/.claude/skills/einja/task-qa/templates/qa-test-template.md +128 -0
- package/presets/minimal/preset.yaml +111 -0
- package/presets/minimal/symlinks.json +45 -0
- package/scaffolds/.mcp.json +45 -0
- package/scaffolds/CLAUDE.md.template +318 -0
- package/scaffolds/steering/README.md +170 -0
- package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +415 -0
- package/scaffolds/steering/architecture.md +481 -0
- package/scaffolds/steering/branch-strategy.md +362 -0
- package/scaffolds/steering/commit-rules.md +217 -0
- package/scaffolds/steering/db-schema-design.md +609 -0
- package/scaffolds/steering/development/api-development.md +783 -0
- package/scaffolds/steering/development/backend-architecture.md +731 -0
- package/scaffolds/steering/development/frontend-development.md +1537 -0
- package/scaffolds/steering/development/review-guidelines.md +365 -0
- package/scaffolds/steering/development/testing-strategy.md +819 -0
- package/scaffolds/steering/development-workflow.md +429 -0
- package/scaffolds/steering/infrastructure/deployment.md +277 -0
- package/scaffolds/steering/infrastructure/environment-variables.md +298 -0
- package/scaffolds/steering/product.md +540 -0
- package/scaffolds/steering/task-management.md +367 -0
- package/templates/README.md +159 -0
- package/templates/design-simple.md.template +172 -0
- package/templates/design.md.template +327 -0
- package/templates/qa-test.md.template +125 -0
- package/templates/requirements.md.template +254 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
name: minimal
|
|
2
|
+
displayName: "Einja ATDD Workflow"
|
|
3
|
+
description: "ATDDワークフロー構成(Next.js、Vibe-Kanban統合)"
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
|
|
6
|
+
# 変数定義(ユーザーがカスタマイズ可能)
|
|
7
|
+
variables:
|
|
8
|
+
# CLAUDE.mdテンプレート用
|
|
9
|
+
PROJECT_NAME: "my-project"
|
|
10
|
+
INSTALL_COMMAND: "pnpm install"
|
|
11
|
+
DEV_COMMAND: "pnpm dev"
|
|
12
|
+
START_COMMAND: "pnpm start"
|
|
13
|
+
FORMAT_COMMAND: "pnpm format"
|
|
14
|
+
# 既存の変数
|
|
15
|
+
BUILD_COMMAND: "pnpm build"
|
|
16
|
+
TEST_COMMAND: "pnpm test"
|
|
17
|
+
LINT_COMMAND: "pnpm lint"
|
|
18
|
+
TYPE_CHECK_COMMAND: "pnpm typecheck"
|
|
19
|
+
PROJECT_STRUCTURE: |
|
|
20
|
+
src/ # ソースコード
|
|
21
|
+
tests/ # テストコード
|
|
22
|
+
CODING_STANDARDS_PATH: "README.md"
|
|
23
|
+
MCP_TOOLS: |
|
|
24
|
+
- Serena MCP: コード分析・編集
|
|
25
|
+
- Playwright MCP: ブラウザテスト
|
|
26
|
+
- GitHub MCP: Issue・PR操作
|
|
27
|
+
- Vibe-Kanban MCP: タスク自動化
|
|
28
|
+
|
|
29
|
+
# MCP設定
|
|
30
|
+
mcpServers:
|
|
31
|
+
- codex
|
|
32
|
+
- context7
|
|
33
|
+
- playwright
|
|
34
|
+
- serena
|
|
35
|
+
- github
|
|
36
|
+
- vibe_kanban
|
|
37
|
+
|
|
38
|
+
# 追加パーミッション
|
|
39
|
+
additionalPermissions:
|
|
40
|
+
- "Bash(npm:*)"
|
|
41
|
+
- "Bash(pnpm:*)"
|
|
42
|
+
- "Bash(npx:*)"
|
|
43
|
+
- "Bash(node:*)"
|
|
44
|
+
- "Bash(yarn:*)"
|
|
45
|
+
- "Bash(bun:*)"
|
|
46
|
+
- "Bash(python3:*)"
|
|
47
|
+
- "Bash(curl:*)"
|
|
48
|
+
- "Bash(wget:*)"
|
|
49
|
+
- "Bash(unzip:*)"
|
|
50
|
+
- "Bash(docker-compose :*)"
|
|
51
|
+
- "Bash(jq:*)"
|
|
52
|
+
- "mcp__codex__codex"
|
|
53
|
+
- "mcp__github__get_pull_request"
|
|
54
|
+
- "mcp__github__get_pull_request_files"
|
|
55
|
+
- "mcp__github__update_pull_request"
|
|
56
|
+
- "mcp__github__list_commits"
|
|
57
|
+
- "mcp__github__get_commit"
|
|
58
|
+
- "mcp__github__get_file_contents"
|
|
59
|
+
- "mcp__github__search_code"
|
|
60
|
+
- "mcp__playwright"
|
|
61
|
+
- "mcp__playwright__browser_navigate"
|
|
62
|
+
- "mcp__playwright__browser_click"
|
|
63
|
+
- "mcp__playwright__browser_wait_for"
|
|
64
|
+
- "mcp__playwright__browser_evaluate"
|
|
65
|
+
- "mcp__playwright__browser_snapshot"
|
|
66
|
+
- "mcp__playwright__browser_console_messages"
|
|
67
|
+
- "mcp__playwright__browser_handle_dialog"
|
|
68
|
+
- "mcp__playwright__browser_type"
|
|
69
|
+
- "mcp__serena"
|
|
70
|
+
- "mcp__serena__activate_project"
|
|
71
|
+
- "mcp__serena__check_onboarding_performed"
|
|
72
|
+
- "mcp__serena__find_file"
|
|
73
|
+
- "mcp__serena__find_referencing_symbols"
|
|
74
|
+
- "mcp__serena__find_symbol"
|
|
75
|
+
- "mcp__serena__get_symbols_overview"
|
|
76
|
+
- "mcp__serena__insert_before_symbol"
|
|
77
|
+
- "mcp__serena__list_dir"
|
|
78
|
+
- "mcp__serena__replace_symbol_body"
|
|
79
|
+
- "mcp__serena__search_for_pattern"
|
|
80
|
+
- "mcp__serena__think_about_collected_information"
|
|
81
|
+
- "mcp__serena__think_about_whether_you_are_done"
|
|
82
|
+
- "Bash(test:*)"
|
|
83
|
+
- "mcp__vibe_kanban__list_projects"
|
|
84
|
+
- "mcp__vibe_kanban__list_tasks"
|
|
85
|
+
- "mcp__vibe_kanban__get_task"
|
|
86
|
+
- "mcp__vibe_kanban__create_task"
|
|
87
|
+
- "mcp__vibe_kanban__update_task"
|
|
88
|
+
- "mcp__vibe_kanban__delete_task"
|
|
89
|
+
- "mcp__vibe_kanban__start_task_attempt"
|
|
90
|
+
- "Bash(gh pr view:*)"
|
|
91
|
+
- "Bash(gh pr close:*)"
|
|
92
|
+
- "Bash(gh pr create:*)"
|
|
93
|
+
- "Bash(gh pr list:*)"
|
|
94
|
+
- "Bash(tree:*)"
|
|
95
|
+
- "Bash(bash:*)"
|
|
96
|
+
- "Bash(./verify.sh:*)"
|
|
97
|
+
- "Bash(gh issue create:*)"
|
|
98
|
+
- "Skill(task-exec)"
|
|
99
|
+
- "Skill(task-qa)"
|
|
100
|
+
|
|
101
|
+
# 追加エージェント
|
|
102
|
+
additionalAgents:
|
|
103
|
+
- frontend-architect
|
|
104
|
+
- design-engineer
|
|
105
|
+
- frontend-coder
|
|
106
|
+
|
|
107
|
+
# 追加コマンド
|
|
108
|
+
additionalCommands:
|
|
109
|
+
- frontend-implement
|
|
110
|
+
- start-dev
|
|
111
|
+
- task-vibe-kanban-loop
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"symlinks": [
|
|
4
|
+
{
|
|
5
|
+
"link": ".claude/skills/einja/api-development/reference/api-development.md",
|
|
6
|
+
"target": "docs/einja/steering/development/api-development.md"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"link": ".claude/skills/einja/backend-architecture/reference/backend-architecture.md",
|
|
10
|
+
"target": "docs/einja/steering/development/backend-architecture.md"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"link": ".claude/skills/einja/coding-standards/reference/commit-rules.md",
|
|
14
|
+
"target": "docs/einja/steering/commit-rules.md"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"link": ".claude/skills/einja/coding-standards/reference/review-guidelines.md",
|
|
18
|
+
"target": "docs/einja/steering/development/review-guidelines.md"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"link": ".claude/skills/einja/coding-standards/reference/testing-strategy.md",
|
|
22
|
+
"target": "docs/einja/steering/development/testing-strategy.md"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"link": ".claude/skills/einja/component-design/reference/frontend-development.md",
|
|
26
|
+
"target": "docs/einja/steering/development/frontend-development.md"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"link": ".claude/skills/einja/component-design/reference/testing-strategy.md",
|
|
30
|
+
"target": "docs/einja/steering/development/testing-strategy.md"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"link": ".claude/skills/einja/frontend-development/reference/frontend-development.md",
|
|
34
|
+
"target": "docs/einja/steering/development/frontend-development.md"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"link": ".claude/skills/einja/task-commit/reference/commit-rules.md",
|
|
38
|
+
"target": "docs/einja/steering/commit-rules.md"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"link": ".claude/skills/einja/task-qa/reference/acceptance-criteria-and-qa-guide.md",
|
|
42
|
+
"target": "docs/einja/steering/acceptance-criteria-and-qa-guide.md"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"vibe_kanban": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": ["-y", "vibe-kanban@latest", "--mcp"]
|
|
6
|
+
},
|
|
7
|
+
"codex": {
|
|
8
|
+
"type": "stdio",
|
|
9
|
+
"command": "codex",
|
|
10
|
+
"args": ["mcp-server"]
|
|
11
|
+
},
|
|
12
|
+
"context7": {
|
|
13
|
+
"command": "npx",
|
|
14
|
+
"args": ["-y", "@upstash/context7-mcp"]
|
|
15
|
+
},
|
|
16
|
+
"playwright": {
|
|
17
|
+
"type": "stdio",
|
|
18
|
+
"command": "npx",
|
|
19
|
+
"args": ["-y", "@playwright/mcp", "--isolated"]
|
|
20
|
+
},
|
|
21
|
+
"serena": {
|
|
22
|
+
"command": "uvx",
|
|
23
|
+
"args": [
|
|
24
|
+
"--from",
|
|
25
|
+
"git+https://github.com/oraios/serena",
|
|
26
|
+
"serena-mcp-server",
|
|
27
|
+
"--context",
|
|
28
|
+
"ide-assistant",
|
|
29
|
+
".",
|
|
30
|
+
"--enable-web-dashboard=false"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"github": {
|
|
34
|
+
"type": "http",
|
|
35
|
+
"url": "https://api.githubcopilot.com/mcp/",
|
|
36
|
+
"headers": {
|
|
37
|
+
"Authorization": "Bearer ${GITHUB_TOKEN}"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"asana": {
|
|
41
|
+
"command": "npx",
|
|
42
|
+
"args": ["mcp-remote", "https://mcp.asana.com/sse"]
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# Claude Code 指示書
|
|
2
|
+
- 回答は日本語で行ってください。
|
|
3
|
+
- 必ずこのドキュメントの通りに作業を行ってください。
|
|
4
|
+
|
|
5
|
+
## 役割と動作原則
|
|
6
|
+
|
|
7
|
+
**あなたはマネージャーでありagentオーケストレーターです。**
|
|
8
|
+
|
|
9
|
+
### 絶対ルール
|
|
10
|
+
- **あなたは絶対に直接実装を行わない**
|
|
11
|
+
- すべての作業はsubagentに委託すること
|
|
12
|
+
- 可能な限りsubagentは並行で呼び出すこと
|
|
13
|
+
- サブエージェントを呼び出している際、サブエージェントからの出力はユーザにも見える場所に出力すること
|
|
14
|
+
|
|
15
|
+
### サブエージェント委託ルール
|
|
16
|
+
|
|
17
|
+
| 作業 | 委託先 |
|
|
18
|
+
|------|--------|
|
|
19
|
+
| コミット・プッシュ | `task-committer` |
|
|
20
|
+
| コンフリクト解消 | `conflict-resolver` |
|
|
21
|
+
| コード実装 | `task-executer` |
|
|
22
|
+
| 品質検証(QA) | `task-qa` |
|
|
23
|
+
| 実装レビュー | `task-reviewer` |
|
|
24
|
+
|
|
25
|
+
## コード変更時の動作方針
|
|
26
|
+
|
|
27
|
+
**【厳守事項】コード変更の指示があった場合、絶対に即座に実装を開始してはならない。**
|
|
28
|
+
|
|
29
|
+
### 必須フロー
|
|
30
|
+
1. 問題・要件を調査・分析する
|
|
31
|
+
2. 修正計画を提示する
|
|
32
|
+
3. **ユーザーの明示的な承認を得る**
|
|
33
|
+
4. 承認後に実装を開始する
|
|
34
|
+
|
|
35
|
+
### 例外(承認不要)
|
|
36
|
+
- 読み取り専用操作(質問への回答、情報調査、コード調査)
|
|
37
|
+
|
|
38
|
+
### 提案文言
|
|
39
|
+
「この変更について、まずPlanモードで計画を立てて提示しましょうか?」
|
|
40
|
+
|
|
41
|
+
**注意**: この規則は新規セッションだけでなく、セッション継続中のすべてのコード変更に適用される。ユーザーが「直して」「修正して」「なおしたい」等と言った場合も、必ず計画を提示して承認を得ること。
|
|
42
|
+
|
|
43
|
+
## gitコンフリクト発生時の対応
|
|
44
|
+
|
|
45
|
+
**【必須】** gitコンフリクトが発生した場合、必ず `.claude/skills/einja/conflict-resolver/SKILL.md` の手順に従うこと。
|
|
46
|
+
|
|
47
|
+
## プロジェクト構成
|
|
48
|
+
|
|
49
|
+
このプロジェクトは**Turborepo**を使用したモノレポ構成になっています。
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
einja-management-template/
|
|
53
|
+
├── apps/
|
|
54
|
+
│ └── web/ # メイン管理画面アプリ
|
|
55
|
+
│ ├── src/
|
|
56
|
+
│ │ ├── app/ # Next.js App Router
|
|
57
|
+
│ │ ├── components/ # アプリ固有のコンポーネント
|
|
58
|
+
│ │ └── lib/
|
|
59
|
+
│ │ ├── auth/ # アプリ固有の認証設定
|
|
60
|
+
│ │ └── ... # アプリ固有のユーティリティ
|
|
61
|
+
│ ├── package.json
|
|
62
|
+
│ └── tsconfig.json
|
|
63
|
+
├── packages/
|
|
64
|
+
│ ├── config/ # 共通設定(Biome, TypeScript, Panda CSS)
|
|
65
|
+
│ ├── front-core/ # フロントエンド共通層
|
|
66
|
+
│ │ └── src/
|
|
67
|
+
│ │ ├── auth/ # NextAuth共通設定・型定義
|
|
68
|
+
│ │ ├── hooks/ # 共通hooks(将来拡張用)
|
|
69
|
+
│ │ ├── utils/ # 共通ユーティリティ(将来拡張用)
|
|
70
|
+
│ │ └── context/ # 共通context(将来拡張用)
|
|
71
|
+
│ ├── server-core/ # バックエンド共通層
|
|
72
|
+
│ │ ├── prisma/ # Prismaスキーマ
|
|
73
|
+
│ │ └── src/
|
|
74
|
+
│ │ ├── domain/ # ドメイン層(将来拡張用)
|
|
75
|
+
│ │ ├── infrastructure/ # Prismaクライアント等
|
|
76
|
+
│ │ └── utils/ # 共通ユーティリティ
|
|
77
|
+
│ └── ui/ # 共通UIコンポーネント(shadcn/ui)
|
|
78
|
+
├── turbo.json # Turborepoの設定
|
|
79
|
+
├── pnpm-workspace.yaml # pnpmワークスペース設定
|
|
80
|
+
└── package.json # ルートpackage.json
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 開発環境セットアップ
|
|
84
|
+
|
|
85
|
+
### データベース起動(PostgreSQL):
|
|
86
|
+
```bash
|
|
87
|
+
# PostgreSQLコンテナを起動(ポート25432)
|
|
88
|
+
docker-compose up -d postgres
|
|
89
|
+
|
|
90
|
+
# データベースの状態確認
|
|
91
|
+
docker-compose ps
|
|
92
|
+
|
|
93
|
+
# データベース停止
|
|
94
|
+
docker-compose down
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**注意**: DockerのPostgreSQLはポート**25432**を使用します(全ワークツリーで共有)。
|
|
98
|
+
|
|
99
|
+
### アプリケーション開発:
|
|
100
|
+
```bash
|
|
101
|
+
# 依存関係のインストール(pnpm使用)
|
|
102
|
+
{{INSTALL_COMMAND}}
|
|
103
|
+
|
|
104
|
+
# 初回セットアップ(.env作成、DB起動・初期化)
|
|
105
|
+
pnpm dev:setup
|
|
106
|
+
|
|
107
|
+
# 開発サーバー起動(バックグラウンド実行・ログはlog/dev.logに出力)
|
|
108
|
+
{{DEV_BG_COMMAND}}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
> **注意**: `pnpm dev:setup` は初回のみ必要です。2回目以降は `{{DEV_BG_COMMAND}}` のみで起動できます。
|
|
112
|
+
|
|
113
|
+
### 開発サーバー管理:
|
|
114
|
+
```bash
|
|
115
|
+
{{DEV_BG_COMMAND}} # バックグラウンドで起動(推奨)
|
|
116
|
+
pnpm dev:status # サーバーの状態確認
|
|
117
|
+
pnpm dev:logs # ログをリアルタイム表示
|
|
118
|
+
pnpm dev:stop # サーバーを停止
|
|
119
|
+
{{DEV_COMMAND}} # フォアグラウンドで起動(ターミナル直接操作時のみ)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### 環境変数の設定・変更:
|
|
123
|
+
```bash
|
|
124
|
+
pnpm env:update # 対話式ウィザードで環境変数を設定
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
ウィザードで個人トークン設定、チーム共有設定の変更、状態確認ができます。
|
|
128
|
+
|
|
129
|
+
### Worktree開発(複数ブランチ並行開発):
|
|
130
|
+
|
|
131
|
+
Git worktreeを使用して複数のブランチを並行して開発する場合、以下のコマンドを使用します。
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
# Worktree環境をセットアップして開発サーバーを起動(推奨)
|
|
135
|
+
{{DEV_BG_COMMAND}}
|
|
136
|
+
|
|
137
|
+
# セットアップのみ(開発サーバーは手動で起動)
|
|
138
|
+
pnpm env:prepare
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**仕組み:**
|
|
142
|
+
- ブランチ名からSHA-256ハッシュを計算し、一意なポート番号を自動割り当て(3000-3999)
|
|
143
|
+
- PostgreSQLは全ワークツリーで共有(ポート25432固定)
|
|
144
|
+
- データベース名はブランチ名から自動生成(例: `main`, `feature_auth`)
|
|
145
|
+
- `.env.local`に環境変数が自動設定される
|
|
146
|
+
|
|
147
|
+
**ポート番号の例:**
|
|
148
|
+
| ブランチ名 | Webポート | データベース |
|
|
149
|
+
|-----------|----------|-------------|
|
|
150
|
+
| main | 3195 | main |
|
|
151
|
+
| feature/auth | 3122 | feature_auth |
|
|
152
|
+
|
|
153
|
+
### 主要な開発コマンド:
|
|
154
|
+
- `{{DEV_BG_COMMAND}}` - 開発サーバーをバックグラウンドで起動(推奨・ログはlog/dev.log)
|
|
155
|
+
- `pnpm dev:status` - 開発サーバーの状態確認
|
|
156
|
+
- `pnpm dev:stop` - 開発サーバーを停止
|
|
157
|
+
- `{{BUILD_COMMAND}}` - 全アプリのプロダクションビルド
|
|
158
|
+
- `{{START_COMMAND}}` - プロダクションサーバーを起動
|
|
159
|
+
|
|
160
|
+
### コード品質チェックコマンド:
|
|
161
|
+
- `{{LINT_COMMAND}}` - Biome linterでコードをチェック(全ワークスペース)
|
|
162
|
+
- `{{LINT_COMMAND}}:fix` - Biomeで自動的にlintの問題を修正
|
|
163
|
+
- `{{FORMAT_COMMAND}}` - Biomeでコードフォーマットをチェック
|
|
164
|
+
- `{{FORMAT_COMMAND}}:fix` - Biomeでコードを自動フォーマット
|
|
165
|
+
- `{{TYPE_CHECK_COMMAND}}` - TypeScriptの型チェック(全ワークスペース)
|
|
166
|
+
|
|
167
|
+
### テスト:
|
|
168
|
+
- `{{TEST_COMMAND}}` - Vitestでテスト実行(全ワークスペース)
|
|
169
|
+
- `{{TEST_COMMAND}}:watch` - Vitestウォッチモード
|
|
170
|
+
- `{{TEST_COMMAND}}:ui` - Vitest UIモード
|
|
171
|
+
- `{{TEST_COMMAND}}:coverage` - カバレッジ付きテスト
|
|
172
|
+
- Playwrightで Chromiumブラウザーテスト
|
|
173
|
+
|
|
174
|
+
## アーキテクチャ
|
|
175
|
+
|
|
176
|
+
### モノレポ構成:
|
|
177
|
+
- **Turborepo** による高速ビルド・タスク実行
|
|
178
|
+
- **pnpm workspaces** によるパッケージ管理
|
|
179
|
+
- ワークスペース間の依存関係管理
|
|
180
|
+
|
|
181
|
+
### パッケージ構成:
|
|
182
|
+
- `@repo/config` - 共通設定(Biome, TypeScript, Panda CSS)
|
|
183
|
+
- `@repo/front-core` - フロントエンド共通層(認証共通設定、hooks、utils、context)
|
|
184
|
+
- `@repo/server-core` - バックエンド共通層(Prismaクライアント・スキーマ、ドメインロジック)
|
|
185
|
+
- `@repo/ui` - 共通UIコンポーネント(shadcn/ui)
|
|
186
|
+
- `@repo/web` - メイン管理画面アプリケーション
|
|
187
|
+
|
|
188
|
+
### スタイリングシステム:
|
|
189
|
+
- **Panda CSS** でデザイントークンとレシピを使用したスタイリング
|
|
190
|
+
- タイプセーフなスタイル生成によるCSS-in-JS
|
|
191
|
+
- スタイルコンポーネントは `apps/web/src/styled-system/` ディレクトリに出力
|
|
192
|
+
- カスタムブレークポイント: sm(640px), md(768px), lg(1024px), xl(1280px), 2xl(1440px)
|
|
193
|
+
|
|
194
|
+
### コード品質:
|
|
195
|
+
- **Biome** でlintingとフォーマット(スペース2つインデント、ダブルクォート)
|
|
196
|
+
- Huskyのpre-commitフックとlint-staged
|
|
197
|
+
- `styled-system/` ディレクトリをフォーマット/lintingから除外
|
|
198
|
+
|
|
199
|
+
### フレームワーク設定:
|
|
200
|
+
- Next.js 15 with App Router
|
|
201
|
+
- React 19
|
|
202
|
+
- TypeScript(strict型チェック)
|
|
203
|
+
- pnpmによるパッケージ管理
|
|
204
|
+
- Voltaまたはfnmを使用したNode.jsバージョン管理 (v22.16.0)
|
|
205
|
+
|
|
206
|
+
### 特記事項:
|
|
207
|
+
- プロダクションビルド前に必ず`panda codegen`を実行
|
|
208
|
+
- Biomeはスペース2つインデントとダブルクォートを使用
|
|
209
|
+
- ビルド時はESLintを無効化(代わりにBiomeを使用)
|
|
210
|
+
- Turborepoのキャッシュ機能で高速ビルド
|
|
211
|
+
|
|
212
|
+
## インポートパスの規約
|
|
213
|
+
|
|
214
|
+
### パッケージ間のインポート
|
|
215
|
+
```typescript
|
|
216
|
+
// 認証機能(共通設定)
|
|
217
|
+
import { baseAuthOptions, mergeAuthOptions } from "@repo/front-core/auth";
|
|
218
|
+
|
|
219
|
+
// 認証機能(アプリローカル)
|
|
220
|
+
import { auth, signIn, signOut } from "@/lib/auth";
|
|
221
|
+
import { requireAuth, withAuth } from "@/lib/auth/guard";
|
|
222
|
+
|
|
223
|
+
// データベース
|
|
224
|
+
import { prisma } from "@repo/server-core";
|
|
225
|
+
|
|
226
|
+
// UIコンポーネント
|
|
227
|
+
import { Button } from "@repo/ui/button";
|
|
228
|
+
import { Card } from "@repo/ui/card";
|
|
229
|
+
import { cn } from "@repo/ui/utils";
|
|
230
|
+
|
|
231
|
+
// 型定義
|
|
232
|
+
import type { Session } from "next-auth"; // 型拡張はfront-coreで定義済み
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### アプリ内のインポート
|
|
236
|
+
```typescript
|
|
237
|
+
// apps/web内では従来通り@/を使用
|
|
238
|
+
import { Component } from "@/components/...";
|
|
239
|
+
import { helper } from "@/lib/...";
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 認証設定のパターン
|
|
243
|
+
アプリ固有の認証設定は `@/lib/auth/index.ts` で `baseAuthOptions` を拡張します:
|
|
244
|
+
```typescript
|
|
245
|
+
import { baseAuthOptions, mergeAuthOptions } from "@repo/front-core/auth";
|
|
246
|
+
import NextAuth from "next-auth";
|
|
247
|
+
|
|
248
|
+
const authOptions = mergeAuthOptions(baseAuthOptions, {
|
|
249
|
+
pages: { signIn: "/signin" }, // アプリ固有
|
|
250
|
+
callbacks: {
|
|
251
|
+
async redirect({ url, baseUrl }) {
|
|
252
|
+
// アプリ固有のリダイレクトロジック
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
export const { handlers, signIn, signOut, auth } = NextAuth(authOptions);
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## AskUserQuestion ツールの使用
|
|
261
|
+
|
|
262
|
+
選択肢を提示してユーザーに質問する場合は、**必ず AskUserQuestion ツール**を使用してください。
|
|
263
|
+
|
|
264
|
+
### 使用必須シーン
|
|
265
|
+
- 複数の実装方法・設計アプローチがある場合
|
|
266
|
+
- 重要な判断(コミット分割、リファクタリング方針など)
|
|
267
|
+
- 破壊的な操作の前
|
|
268
|
+
|
|
269
|
+
### 提示形式
|
|
270
|
+
- テーブル形式: 複数項目の比較
|
|
271
|
+
- 番号付きリスト: 詳細説明が必要な場合
|
|
272
|
+
- 推奨オプションには `(推奨)` と理由を付記
|
|
273
|
+
|
|
274
|
+
## サブエージェント結果報告のルール
|
|
275
|
+
|
|
276
|
+
サブエージェントの出力形式は **@.claude/skills/einja/output-format/SKILL.md** に定義されています。
|
|
277
|
+
|
|
278
|
+
### 必須要件
|
|
279
|
+
- サブエージェントの最終出力は**そのまま全文**をユーザーに表示する
|
|
280
|
+
- 省略・要約・言い換えは**禁止**
|
|
281
|
+
|
|
282
|
+
### サブエージェント呼び出し時の必須指示
|
|
283
|
+
|
|
284
|
+
出力形式が定義されているサブエージェントを呼び出す際は、プロンプトの末尾に以下を追加:
|
|
285
|
+
|
|
286
|
+
```
|
|
287
|
+
**出力形式**: @.claude/skills/einja/output-format/SKILL.md に従って報告してください。
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
#### 呼び出し例
|
|
291
|
+
|
|
292
|
+
```yaml
|
|
293
|
+
Task:
|
|
294
|
+
description: "アーキテクチャ設計"
|
|
295
|
+
prompt: |
|
|
296
|
+
「ユーザー設定画面」のコンポーネント構造を設計してください。
|
|
297
|
+
|
|
298
|
+
要件:
|
|
299
|
+
- プロフィール編集
|
|
300
|
+
- 通知設定
|
|
301
|
+
|
|
302
|
+
**出力形式**: エージェント定義の「✅ 最重要: 出力形式」に従って報告してください。
|
|
303
|
+
subagent_type: frontend-architect
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## 追加指示
|
|
307
|
+
|
|
308
|
+
以下のドキュメントも参照して作業を進めてください:
|
|
309
|
+
|
|
310
|
+
- @.claude/skills/einja/coding-standards/SKILL.md - コーディング規約
|
|
311
|
+
- @.claude/skills/einja/component-design/SKILL.md - コンポーネント設計ガイドライン
|
|
312
|
+
- @docs/einja/steering/commit-rules.md - コミットルール・ブランチ戦略
|
|
313
|
+
- @docs/einja/steering/development/testing-strategy.md - Vitestを使用したテスト戦略
|
|
314
|
+
- @docs/einja/steering/development/review-guidelines.md - コードレビューのガイドライン
|
|
315
|
+
- @docs/einja/memory/decisions.md - 過去の意思決定記録(セッション跨ぎで継承)
|
|
316
|
+
- @docs/einja/memory/patterns.md - 再利用可能なパターン(セッション跨ぎで継承)
|
|
317
|
+
|
|
318
|
+
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Steering仕様書
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
このディレクトリには、プロジェクト全体の設計方針と実装ガイドラインが含まれています。
|
|
6
|
+
|
|
7
|
+
すべての開発者は、実装前にこれらのドキュメントを確認し、プロジェクトの設計思想とルールを理解してください。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 📚 対象読者別ガイド
|
|
12
|
+
|
|
13
|
+
### 🆕 新規メンバー(最初に読むべきドキュメント)
|
|
14
|
+
|
|
15
|
+
1. **[README.md](README.md)** ← 今ここ
|
|
16
|
+
2. **[プロダクトビジョン](product.md)** - ビジネス価値とゴール
|
|
17
|
+
3. **[システムアーキテクチャ概要](architecture.md)** - モノレポ全体構成と技術スタック
|
|
18
|
+
4. **[バックエンドアーキテクチャ](development/backend-architecture.md)** - システム全体の設計
|
|
19
|
+
5. **[開発ワークフロー](development-workflow.md)** - 仕様書作成からタスク実行・レビューまでの全体フロー
|
|
20
|
+
6. **[タスク管理](task-management.md)** - タスク階層と粒度基準
|
|
21
|
+
7. **[ブランチ戦略](branch-strategy.md)** - Git運用ルール
|
|
22
|
+
|
|
23
|
+
### 💻 バックエンド開発者
|
|
24
|
+
|
|
25
|
+
**必読**:
|
|
26
|
+
- **[バックエンドアーキテクチャ](development/backend-architecture.md)** ⭐ - ディレクトリ構造、4層アーキテクチャ、デザインパターン
|
|
27
|
+
- **[API開発ガイド](development/api-development.md)** ⭐ - Hono API実装ルール、エラーハンドリング
|
|
28
|
+
- **[データベーススキーマ設計](db-schema-design.md)** - Prismaデータベース設計
|
|
29
|
+
|
|
30
|
+
**参考**:
|
|
31
|
+
- **[コードレビューガイドライン](review-guidelines.md)** - 品質基準とチェックリスト
|
|
32
|
+
- **[テスト戦略](testing-strategy.md)** - テストの書き方
|
|
33
|
+
|
|
34
|
+
### 🎨 フロントエンド開発者
|
|
35
|
+
|
|
36
|
+
**必読**:
|
|
37
|
+
- **[フロントエンド開発ガイド](development/frontend-development.md)** ⭐ - Tanstack Query、React Hook Form
|
|
38
|
+
- **[API開発ガイド](development/api-development.md)** - Hono Clientの使い方
|
|
39
|
+
|
|
40
|
+
**参考**:
|
|
41
|
+
- **[コードレビューガイドライン](review-guidelines.md)**
|
|
42
|
+
- **[テスト戦略](testing-strategy.md)**
|
|
43
|
+
|
|
44
|
+
### ⚙️ DevOps/インフラエンジニア
|
|
45
|
+
|
|
46
|
+
**必読**:
|
|
47
|
+
- **[CI/CDパイプライン](infrastructure/ci-cd.md)** - GitHub Actions、Turborepoキャッシュ
|
|
48
|
+
- **[デプロイメント戦略](infrastructure/deployment.md)** - Vercel、Docker、環境変数
|
|
49
|
+
|
|
50
|
+
**参考**:
|
|
51
|
+
- **[バックエンドアーキテクチャ](development/backend-architecture.md)** - システム構成の理解
|
|
52
|
+
|
|
53
|
+
### 🧪 QA/テスター
|
|
54
|
+
|
|
55
|
+
**必読**:
|
|
56
|
+
- **[テスト戦略](testing-strategy.md)** - テスト種別、QA自動化
|
|
57
|
+
- **[コードレビューガイドライン](review-guidelines.md)** - テスト観点
|
|
58
|
+
|
|
59
|
+
**参考**:
|
|
60
|
+
- **[API開発ガイド](development/api-development.md)** - APIエンドポイント一覧
|
|
61
|
+
|
|
62
|
+
### 👔 プロジェクトリーダー/マネージャー
|
|
63
|
+
|
|
64
|
+
**必読**:
|
|
65
|
+
- **[プロダクトビジョン](product.md)** - ビジネス目標とマイルストーン
|
|
66
|
+
- **[タスク管理](task-management.md)** - タスク階層と粒度基準
|
|
67
|
+
- **[システムアーキテクチャ概要](architecture.md)** - モノレポ全体構成と技術スタック
|
|
68
|
+
- **[バックエンドアーキテクチャ](development/backend-architecture.md)** - 技術的概要
|
|
69
|
+
|
|
70
|
+
**参考**:
|
|
71
|
+
- **[CI/CDパイプライン](infrastructure/ci-cd.md)** - デリバリープロセス
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## 📂 ドキュメント一覧
|
|
76
|
+
|
|
77
|
+
### プロジェクト管理
|
|
78
|
+
| ドキュメント | 説明 | 対象者 |
|
|
79
|
+
|-------------|------|--------|
|
|
80
|
+
| [開発ワークフロー](development-workflow.md) | 仕様書作成からタスク実行・レビューまでの全体フロー | 全員 |
|
|
81
|
+
| [タスク管理](task-management.md) | タスク階層、粒度基準、Vibe-Kanban連携 | 全員 |
|
|
82
|
+
| [ブランチ戦略](branch-strategy.md) | Git運用ルール、ブランチ命名規則 | 全員 |
|
|
83
|
+
|
|
84
|
+
### システム全体
|
|
85
|
+
| ドキュメント | 説明 | 対象者 |
|
|
86
|
+
|-------------|------|--------|
|
|
87
|
+
| [システムアーキテクチャ概要](architecture.md) | モノレポ全体構成、アプリケーション一覧、技術スタック | 全員 |
|
|
88
|
+
|
|
89
|
+
### 開発ガイド
|
|
90
|
+
| ドキュメント | 説明 | 対象者 |
|
|
91
|
+
|-------------|------|--------|
|
|
92
|
+
| [バックエンドアーキテクチャ](development/backend-architecture.md) | ディレクトリ構造、4層アーキテクチャ、デザインパターン | バックエンド開発者 |
|
|
93
|
+
| [API開発ガイド](development/api-development.md) | Hono API実装、エラーハンドリング、Hono Client | 全開発者 |
|
|
94
|
+
| [フロントエンド開発ガイド](development/frontend-development.md) | Tanstack Query、React Hook Form、コンポーネント設計 | フロントエンド開発者 |
|
|
95
|
+
|
|
96
|
+
### データベース
|
|
97
|
+
| ドキュメント | 説明 | 対象者 |
|
|
98
|
+
|-------------|------|--------|
|
|
99
|
+
| [データベーススキーマ設計](db-schema-design.md) | Prismaスキーマ、テーブル定義、リレーション設計 | バックエンド開発者 |
|
|
100
|
+
|
|
101
|
+
### インフラストラクチャ
|
|
102
|
+
| ドキュメント | 説明 | 対象者 |
|
|
103
|
+
|-------------|------|--------|
|
|
104
|
+
| [CI/CDパイプライン](infrastructure/ci-cd.md) | GitHub Actions、Turborepo、デプロイ自動化 | DevOps、リーダー |
|
|
105
|
+
| [デプロイメント戦略](infrastructure/deployment.md) | Vercel、Docker、環境変数、Worktree対応 | DevOps、バックエンド |
|
|
106
|
+
|
|
107
|
+
### 品質管理
|
|
108
|
+
| ドキュメント | 説明 | 対象者 |
|
|
109
|
+
|-------------|------|--------|
|
|
110
|
+
| [コードレビューガイドライン](review-guidelines.md) | 品質チェックリスト、コードスメル検出 | 全開発者 |
|
|
111
|
+
| [テスト戦略](testing-strategy.md) | ユニットテスト、統合テスト、QA自動化 | QA、開発者 |
|
|
112
|
+
|
|
113
|
+
### プロダクト
|
|
114
|
+
| ドキュメント | 説明 | 対象者 |
|
|
115
|
+
|-------------|------|--------|
|
|
116
|
+
| [プロダクトビジョン](product.md) | ビジネス価値、ユーザーストーリー、成功指標 | 全員 |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 🔍 ドキュメントの使い方
|
|
121
|
+
|
|
122
|
+
### 実装前
|
|
123
|
+
1. 該当する開発ガイドを読む(バックエンド/フロントエンド)
|
|
124
|
+
2. コードレビューガイドラインで品質基準を確認
|
|
125
|
+
3. 不明点があればドキュメントを参照しながら実装
|
|
126
|
+
|
|
127
|
+
### コードレビュー時
|
|
128
|
+
1. レビューガイドラインに基づいてチェック
|
|
129
|
+
2. アーキテクチャガイドと整合性を確認
|
|
130
|
+
3. テスト戦略に従っているか確認
|
|
131
|
+
|
|
132
|
+
### デプロイ時
|
|
133
|
+
1. CI/CDパイプラインドキュメントを参照
|
|
134
|
+
2. デプロイメント戦略に従って実行
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 📝 ドキュメントのメンテナンス
|
|
139
|
+
|
|
140
|
+
### 更新ルール
|
|
141
|
+
- 設計変更があった場合は、必ず該当ドキュメントを更新
|
|
142
|
+
- 更新時は「反映日時」を記録
|
|
143
|
+
- 大きな変更はチーム全体に共有
|
|
144
|
+
|
|
145
|
+
### 新規ドキュメント追加
|
|
146
|
+
- 新しい技術スタックやパターンを導入する場合
|
|
147
|
+
- 既存ドキュメントでは説明しきれない重要な設計がある場合
|
|
148
|
+
- リーダーに相談の上、適切な場所に配置
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## ⚠️ 重要な原則
|
|
153
|
+
|
|
154
|
+
### CLAUDE.mdの原則を遵守
|
|
155
|
+
|
|
156
|
+
すべてのドキュメントと実装は、[.claude/CLAUDE.md](../.claude/CLAUDE.md)で定義されている原則に従います:
|
|
157
|
+
|
|
158
|
+
1. **回答はすべて日本語で行うこと**
|
|
159
|
+
2. **指示以外の作業を行う場合はユーザに確認をとること**
|
|
160
|
+
3. **確実な既存実装や公式ドキュメントに基づいていない類推(ハルシネーション)は禁止**
|
|
161
|
+
4. **設計書と実装の明確な分離**
|
|
162
|
+
5. **設計書には実装コードを書かない**
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 🤝 質問・フィードバック
|
|
167
|
+
|
|
168
|
+
ドキュメントに関する質問や改善提案がある場合は、チームリーダーに連絡してください。
|
|
169
|
+
|
|
170
|
+
より良いドキュメントを一緒に作りましょう!
|