@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: conflict-resolver
|
|
2
|
+
name: einja-conflict-resolver
|
|
3
3
|
description: "gitコンフリクトを解消するSkill(rebase/merge/stash/cherry-pick等に対応)"
|
|
4
4
|
invocation: "agent-requested"
|
|
5
5
|
allowed-tools:
|
|
@@ -188,3 +188,7 @@ git status
|
|
|
188
188
|
---
|
|
189
189
|
|
|
190
190
|
**最終更新**: 2025-01-05
|
|
191
|
+
|
|
192
|
+
<!-- @einja:project-private:start id="einja-conflict-resolver-project" -->
|
|
193
|
+
<!-- プロジェクト固有の情報を記入 -->
|
|
194
|
+
<!-- @einja:project-private:end -->
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "PR作成時にchangeset自動生成 + ラベル付与 + PR作成を一括実行するSkill。task-exec/issue-exec経由では自動モード、手動 /einja-create-pr では対話モードで動作"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# einja-create-pr Skill
|
|
6
|
+
|
|
7
|
+
## 概要
|
|
8
|
+
|
|
9
|
+
PR作成時に以下を一括実行する:
|
|
10
|
+
1. changeset自動生成(必要な場合)
|
|
11
|
+
2. ラベル判定・付与
|
|
12
|
+
3. PR作成(`gh pr create`)
|
|
13
|
+
|
|
14
|
+
## 動作モード
|
|
15
|
+
|
|
16
|
+
| モード | トリガー | changeset確認 | ラベル確認 |
|
|
17
|
+
|--------|---------|--------------|-----------|
|
|
18
|
+
| 自動 | task-exec/issue-exec経由 | 推定値で自動決定 | 自動 |
|
|
19
|
+
| 対話 | 手動 `/einja-create-pr` | AskUserQuestionで確認 | AskUserQuestionで確認 |
|
|
20
|
+
|
|
21
|
+
呼び出し元がtask-exec/issue-execかどうかは、$ARGUMENTSに `--auto` フラグがあるかで判定する。
|
|
22
|
+
|
|
23
|
+
## 入力
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
$ARGUMENTS: [--auto] [--base <branch>] [--title <title>]
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- `--auto`: 自動モード(確認なしで実行)
|
|
30
|
+
- `--base`: PRのベースブランチ(デフォルト: 現在のブランチの上流を推測)
|
|
31
|
+
- `--title`: PRタイトル(指定なしの場合はコミットメッセージから生成)
|
|
32
|
+
|
|
33
|
+
## 処理フロー
|
|
34
|
+
|
|
35
|
+
### Step 1: 差分分析
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# ベースブランチの決定
|
|
39
|
+
BASE=$(git rev-parse --abbrev-ref HEAD@{upstream} 2>/dev/null | sed 's|origin/||' || echo "main")
|
|
40
|
+
# --base指定があればそちらを優先
|
|
41
|
+
|
|
42
|
+
# コミット履歴
|
|
43
|
+
git log --format="%s%n%b" origin/${BASE}..HEAD
|
|
44
|
+
|
|
45
|
+
# 変更ファイル一覧
|
|
46
|
+
git diff --name-only origin/${BASE}..HEAD
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Step 2: changeset生成判定
|
|
50
|
+
|
|
51
|
+
#### スキップ条件(以下のいずれかに該当する場合はchangeset生成をスキップ):
|
|
52
|
+
- staging → main の昇格PR(ベースがmainで、HEADがstagingからのマージ)
|
|
53
|
+
- `apps/` 配下に変更がない(docs/、CI設定/、.claude/ のみの変更)
|
|
54
|
+
- 既に `.changeset/` 内に README.md 以外の .md ファイルが存在する
|
|
55
|
+
|
|
56
|
+
#### 変更種別の推定:
|
|
57
|
+
コミットメッセージのプレフィックスから最大値を選択:
|
|
58
|
+
- `feat!` or `BREAKING` → `major`
|
|
59
|
+
- `feat` → `minor`
|
|
60
|
+
- `fix`, `perf`, `refactor` → `patch`
|
|
61
|
+
- それ以外 → `patch`
|
|
62
|
+
|
|
63
|
+
#### パッケージ判定:
|
|
64
|
+
変更ファイルのパスからパッケージを推定:
|
|
65
|
+
- `apps/web/**` → `@repo/web`
|
|
66
|
+
- `apps/admin/**` → `@repo/admin`
|
|
67
|
+
- `packages/**` は除外(内部パッケージ)
|
|
68
|
+
|
|
69
|
+
### Step 3: changeset生成
|
|
70
|
+
|
|
71
|
+
スキップ条件に該当しない場合のみ実行。
|
|
72
|
+
|
|
73
|
+
対話モードの場合は、推定した変更種別とサマリーをAskUserQuestionで確認。
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# ランダムファイル名で.changesetファイルを作成
|
|
77
|
+
# フォーマット:
|
|
78
|
+
# ---
|
|
79
|
+
# "@repo/web": minor
|
|
80
|
+
# ---
|
|
81
|
+
#
|
|
82
|
+
# サマリー(コミットメッセージの要約)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
生成後、changesetファイルをコミット:
|
|
86
|
+
```bash
|
|
87
|
+
git add .changeset/*.md
|
|
88
|
+
git commit -m "chore: add changeset"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Step 4: ラベル判定
|
|
92
|
+
|
|
93
|
+
PRタイトル(または最初のコミットメッセージ)のプレフィックスから単一ラベルを選択:
|
|
94
|
+
|
|
95
|
+
| プレフィックス | ラベル |
|
|
96
|
+
|-------------|--------|
|
|
97
|
+
| `feat!` / `BREAKING` | `breaking-change` |
|
|
98
|
+
| `feat` / `feature` | `enhancement` |
|
|
99
|
+
| `fix` / `bug` | `bug` |
|
|
100
|
+
| その他 (`chore`, `docs`, `refactor`, `ci`, `test`) | `maintenance` |
|
|
101
|
+
|
|
102
|
+
対話モードの場合は、推定ラベルをAskUserQuestionで確認。
|
|
103
|
+
|
|
104
|
+
### Step 5: PR作成
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
gh pr create \
|
|
108
|
+
--base "${BASE}" \
|
|
109
|
+
--title "${TITLE}" \
|
|
110
|
+
--body "$(cat <<'EOF'
|
|
111
|
+
## Summary
|
|
112
|
+
${SUMMARY}
|
|
113
|
+
|
|
114
|
+
## Changes
|
|
115
|
+
${CHANGED_FILES_LIST}
|
|
116
|
+
|
|
117
|
+
## Changeset
|
|
118
|
+
${CHANGESET_INFO}
|
|
119
|
+
EOF
|
|
120
|
+
)" \
|
|
121
|
+
--label "${LABEL}"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## エラーハンドリング
|
|
125
|
+
|
|
126
|
+
| エラー | 対処 |
|
|
127
|
+
|-------|------|
|
|
128
|
+
| ベースブランチが見つからない | AskUserQuestionでベースブランチを質問 |
|
|
129
|
+
| リモートにpushされていない | `git push -u origin HEAD` を先に実行 |
|
|
130
|
+
| changeset生成でパッケージ不明 | ルートパッケージ(`einja-management-monorepo`)を使用 |
|
|
131
|
+
| gh CLIが未認証 | エラーメッセージを表示して停止 |
|
|
132
|
+
|
|
133
|
+
## 出力
|
|
134
|
+
|
|
135
|
+
PR作成後、以下を出力:
|
|
136
|
+
- PR URL
|
|
137
|
+
- 付与したラベル
|
|
138
|
+
- changeset情報(生成した場合)
|