prizmkit 1.1.42 → 1.1.47
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/bundled/VERSION.json +3 -3
- package/bundled/adapters/claude/settings-adapter.js +4 -4
- package/bundled/adapters/codebuddy/settings-adapter.js +1 -1
- package/bundled/agents/prizm-dev-team-critic.md +9 -9
- package/bundled/agents/prizm-dev-team-dev.md +13 -13
- package/bundled/agents/prizm-dev-team-reviewer.md +2 -2
- package/bundled/dev-pipeline/.env.example +6 -6
- package/bundled/dev-pipeline/README.md +32 -32
- package/bundled/dev-pipeline/assets/prizm-dev-team-integration.md +1 -1
- package/bundled/dev-pipeline/launch-bugfix-daemon.sh +6 -3
- package/bundled/dev-pipeline/launch-feature-daemon.sh +6 -3
- package/bundled/dev-pipeline/launch-refactor-daemon.sh +6 -3
- package/bundled/dev-pipeline/lib/common.sh +36 -7
- package/bundled/dev-pipeline/reset-bug.sh +9 -7
- package/bundled/dev-pipeline/reset-feature.sh +9 -7
- package/bundled/dev-pipeline/reset-refactor.sh +9 -7
- package/bundled/dev-pipeline/run-bugfix.sh +25 -24
- package/bundled/dev-pipeline/run-feature.sh +29 -32
- package/bundled/dev-pipeline/run-recovery.sh +22 -4
- package/bundled/dev-pipeline/run-refactor.sh +27 -28
- package/bundled/dev-pipeline/scripts/generate-bootstrap-prompt.py +14 -14
- package/bundled/dev-pipeline/scripts/generate-bugfix-prompt.py +9 -4
- package/bundled/dev-pipeline/scripts/generate-recovery-prompt.py +18 -12
- package/bundled/dev-pipeline/scripts/generate-refactor-prompt.py +9 -4
- package/bundled/dev-pipeline/scripts/parse-stream-progress.py +1 -1
- package/bundled/dev-pipeline/scripts/update-bug-status.py +9 -1
- package/bundled/dev-pipeline/scripts/update-feature-status.py +13 -1
- package/bundled/dev-pipeline/scripts/update-refactor-status.py +9 -1
- package/bundled/dev-pipeline/templates/agent-prompts/critic-plan-challenge.md +1 -1
- package/bundled/dev-pipeline/templates/bootstrap-prompt.md +2 -2
- package/bundled/dev-pipeline/templates/bootstrap-tier1.md +8 -8
- package/bundled/dev-pipeline/templates/bootstrap-tier2.md +11 -11
- package/bundled/dev-pipeline/templates/bootstrap-tier3.md +9 -9
- package/bundled/dev-pipeline/templates/bugfix-bootstrap-prompt.md +6 -6
- package/bundled/dev-pipeline/templates/refactor-bootstrap-prompt.md +3 -3
- package/bundled/dev-pipeline/templates/sections/phase-commit-full.md +5 -5
- package/bundled/dev-pipeline/templates/sections/phase-commit.md +6 -6
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-agent-suffix.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-context-snapshot-base.md +1 -1
- package/bundled/dev-pipeline/templates/sections/phase-specify-plan-full.md +2 -2
- package/bundled/dev-pipeline/templates/sections/phase0-init.md +1 -1
- package/bundled/dev-pipeline/tests/test-path-resolution.sh +100 -0
- package/bundled/rules/USAGE.md +2 -2
- package/bundled/rules/_rules-metadata.json +1 -1
- package/bundled/rules/prizm/prizm-commit-workflow.md +1 -1
- package/bundled/rules/prizm/prizm-documentation.md +4 -4
- package/bundled/rules/prizm/prizm-progressive-loading.md +3 -3
- package/bundled/skills/_metadata.json +4 -4
- package/bundled/skills/app-planner/SKILL.md +35 -7
- package/bundled/skills/bug-fix-workflow/SKILL.md +6 -6
- package/bundled/skills/bug-planner/SKILL.md +5 -5
- package/bundled/skills/bugfix-pipeline-launcher/SKILL.md +21 -21
- package/bundled/skills/feature-pipeline-launcher/SKILL.md +21 -21
- package/bundled/skills/feature-planner/SKILL.md +5 -5
- package/bundled/skills/feature-workflow/SKILL.md +8 -8
- package/bundled/skills/prizm-kit/SKILL.md +10 -10
- package/bundled/skills/prizmkit-committer/SKILL.md +2 -2
- package/bundled/skills/prizmkit-implement/SKILL.md +2 -2
- package/bundled/skills/prizmkit-init/SKILL.md +17 -18
- package/bundled/skills/prizmkit-plan/SKILL.md +3 -3
- package/bundled/skills/prizmkit-plan/references/verification-checklist.md +2 -2
- package/bundled/skills/prizmkit-prizm-docs/SKILL.md +17 -17
- package/bundled/skills/prizmkit-prizm-docs/assets/prizm-docs-format.md +45 -45
- package/bundled/skills/prizmkit-prizm-docs/references/op-init.md +9 -9
- package/bundled/skills/prizmkit-prizm-docs/references/op-rebuild.md +1 -1
- package/bundled/skills/prizmkit-prizm-docs/references/op-status.md +2 -2
- package/bundled/skills/prizmkit-prizm-docs/references/op-update.md +3 -3
- package/bundled/skills/prizmkit-prizm-docs/references/op-validate.md +1 -1
- package/bundled/skills/prizmkit-retrospective/SKILL.md +10 -10
- package/bundled/skills/prizmkit-retrospective/references/knowledge-injection-steps.md +3 -3
- package/bundled/skills/prizmkit-retrospective/references/structural-sync-steps.md +1 -1
- package/bundled/skills/recovery-workflow/SKILL.md +15 -15
- package/bundled/skills/recovery-workflow/scripts/detect-recovery-state.py +0 -1
- package/bundled/skills/refactor-pipeline-launcher/SKILL.md +21 -21
- package/bundled/skills/refactor-planner/SKILL.md +6 -6
- package/bundled/skills/refactor-workflow/SKILL.md +9 -9
- package/bundled/team/prizm-dev-team.json +1 -1
- package/bundled/templates/hooks/commit-intent.json +2 -2
- package/bundled/templates/hooks/diff-prizm-docs.sh +8 -8
- package/bundled/templates/hooks/prizm-pre-commit.sh +4 -4
- package/bundled/templates/hooks/validate-prizm-docs.sh +4 -4
- package/bundled/templates/project-memory-template.md +4 -4
- package/package.json +1 -1
- package/src/clean.js +1 -3
- package/src/config.js +1 -1
- package/src/gitignore-template.js +4 -59
- package/src/scaffold.js +12 -11
- package/src/upgrade.js +3 -3
package/src/clean.js
CHANGED
|
@@ -115,8 +115,6 @@ export async function runClean(directory, options = {}) {
|
|
|
115
115
|
const fullRemoveTargets = [
|
|
116
116
|
'.prizmkit',
|
|
117
117
|
'.dev-team',
|
|
118
|
-
'dev-pipeline',
|
|
119
|
-
'.prizm-docs', // AI-generated project context docs
|
|
120
118
|
'CODEBUDDY.md',
|
|
121
119
|
'CLAUDE.md',
|
|
122
120
|
path.join('.prizmkit', 'plans', 'feature-list.json'), // feature-planner output
|
|
@@ -204,7 +202,7 @@ export async function runClean(directory, options = {}) {
|
|
|
204
202
|
console.log(chalk.green(` 清理完成:已删除 ${removed} 项。`));
|
|
205
203
|
}
|
|
206
204
|
console.log('');
|
|
207
|
-
console.log(chalk.gray(' 注意:.prizm-docs/ 为 AI 生成的项目上下文文档,已一并清理。'));
|
|
205
|
+
console.log(chalk.gray(' 注意:.prizmkit/prizm-docs/ 为 AI 生成的项目上下文文档,已一并清理。'));
|
|
208
206
|
console.log(chalk.gray(' 用户自定义的 agent/skill/rule 文件未受影响。'));
|
|
209
207
|
console.log('');
|
|
210
208
|
}
|
package/src/config.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Flow: READ manifest → PROMPT user → COMPUTE DIFF → DISPLAY SUMMARY → EXECUTE
|
|
8
8
|
*
|
|
9
|
-
* Preserves runtime files (.prizm-docs/,
|
|
9
|
+
* Preserves runtime files (.prizmkit/prizm-docs/, .prizmkit/state/, .prizmkit/specs/).
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import chalk from 'chalk';
|
|
@@ -9,66 +9,11 @@
|
|
|
9
9
|
* @returns {string}
|
|
10
10
|
*/
|
|
11
11
|
export function generateGitignore(options = {}) {
|
|
12
|
+
void options;
|
|
12
13
|
const lines = [
|
|
13
|
-
'#
|
|
14
|
-
'
|
|
15
|
-
'# ===========================',
|
|
16
|
-
'',
|
|
17
|
-
'# PrizmKit 运行时状态(不提交)',
|
|
18
|
-
'.prizmkit/state/',
|
|
19
|
-
'',
|
|
20
|
-
'# 多 Agent 协作临时工作区',
|
|
21
|
-
'.dev-team/',
|
|
22
|
-
'',
|
|
23
|
-
'# Prizm 文档(按需决定是否提交)',
|
|
24
|
-
'# .prizm-docs/',
|
|
25
|
-
'',
|
|
26
|
-
'# 规划产物(按需决定是否提交)',
|
|
27
|
-
'# .prizmkit/plans/',
|
|
28
|
-
'',
|
|
14
|
+
'# PrizmKit 运行时全部产物(state/、prizm-docs/、.env、logs 等)',
|
|
15
|
+
'.prizmkit/*',
|
|
29
16
|
];
|
|
30
17
|
|
|
31
|
-
if (options.pipeline) {
|
|
32
|
-
lines.push(
|
|
33
|
-
'# Dev-Pipeline 运行时状态(已迁移到 .prizmkit/state/)',
|
|
34
|
-
'.prizmkit/state/features/',
|
|
35
|
-
'.prizmkit/state/bugfix/',
|
|
36
|
-
'.prizmkit/state/refactor/',
|
|
37
|
-
'dev-pipeline/logs/',
|
|
38
|
-
'dev-pipeline/*.pid',
|
|
39
|
-
'',
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
lines.push(
|
|
44
|
-
'# Playwright CLI 快照和截图',
|
|
45
|
-
'.playwright-cli/',
|
|
46
|
-
'',
|
|
47
|
-
);
|
|
48
|
-
|
|
49
|
-
lines.push(
|
|
50
|
-
'# ===========================',
|
|
51
|
-
'# Common',
|
|
52
|
-
'# ===========================',
|
|
53
|
-
'',
|
|
54
|
-
'# Dependencies',
|
|
55
|
-
'node_modules/',
|
|
56
|
-
'',
|
|
57
|
-
'# OS files',
|
|
58
|
-
'.DS_Store',
|
|
59
|
-
'Thumbs.db',
|
|
60
|
-
'',
|
|
61
|
-
'# IDE',
|
|
62
|
-
'.idea/',
|
|
63
|
-
'.vscode/',
|
|
64
|
-
'*.swp',
|
|
65
|
-
'*.swo',
|
|
66
|
-
'',
|
|
67
|
-
'# Environment',
|
|
68
|
-
'.env',
|
|
69
|
-
'.env.local',
|
|
70
|
-
'',
|
|
71
|
-
);
|
|
72
|
-
|
|
73
18
|
return lines.join('\n');
|
|
74
|
-
}
|
|
19
|
+
}
|
package/src/scaffold.js
CHANGED
|
@@ -405,7 +405,7 @@ export async function installSettings(platform, projectRoot, options, dryRun) {
|
|
|
405
405
|
|
|
406
406
|
// Settings
|
|
407
407
|
const permissions = [
|
|
408
|
-
'Bash(python3 dev-pipeline/scripts/*)',
|
|
408
|
+
'Bash(python3 .prizmkit/dev-pipeline/scripts/*)',
|
|
409
409
|
'Bash(git add *)',
|
|
410
410
|
'Bash(git commit *)',
|
|
411
411
|
'Bash(git diff *)',
|
|
@@ -420,7 +420,7 @@ export async function installSettings(platform, projectRoot, options, dryRun) {
|
|
|
420
420
|
const pipelineEntries = await fs.readdir(pipelineDir);
|
|
421
421
|
const entryScripts = pipelineEntries.filter(f => /^(run-|launch-|retry-|reset-).*\.sh$/.test(f));
|
|
422
422
|
for (const script of entryScripts) {
|
|
423
|
-
permissions.push(`Bash(
|
|
423
|
+
permissions.push(`Bash(./.prizmkit/dev-pipeline/${script} *)`);
|
|
424
424
|
}
|
|
425
425
|
} catch {
|
|
426
426
|
// Fallback: if readdir fails, add no pipeline permissions
|
|
@@ -437,7 +437,7 @@ export async function installSettings(platform, projectRoot, options, dryRun) {
|
|
|
437
437
|
hooks: [
|
|
438
438
|
{
|
|
439
439
|
type: 'command',
|
|
440
|
-
command: 'test -f .prizm-docs/root.prizm && echo "PrizmKit: .prizm-docs found. Read root.prizm for project context." || echo "PrizmKit: No .prizm-docs found. Run /prizmkit-init to bootstrap."',
|
|
440
|
+
command: 'test -f .prizmkit/prizm-docs/root.prizm && echo "PrizmKit: .prizmkit/prizm-docs found. Read root.prizm for project context." || echo "PrizmKit: No .prizmkit/prizm-docs found. Run /prizmkit-init to bootstrap."',
|
|
441
441
|
},
|
|
442
442
|
],
|
|
443
443
|
},
|
|
@@ -634,14 +634,15 @@ export function resolvePipelineFileList() {
|
|
|
634
634
|
|
|
635
635
|
/**
|
|
636
636
|
* 安装 dev-pipeline(纯 Copy 模式)
|
|
637
|
-
*
|
|
637
|
+
* 安装目标:.prizmkit/dev-pipeline/
|
|
638
|
+
* Returns an array of installed file relative paths (relative to .prizmkit/dev-pipeline/).
|
|
638
639
|
*/
|
|
639
640
|
export async function installPipeline(projectRoot, dryRun, { forceOverwrite = false } = {}) {
|
|
640
641
|
const pipelineSource = getPipelineDir();
|
|
641
|
-
const pipelineTarget = path.join(projectRoot, 'dev-pipeline');
|
|
642
|
+
const pipelineTarget = path.join(projectRoot, '.prizmkit', 'dev-pipeline');
|
|
642
643
|
|
|
643
644
|
if (dryRun) {
|
|
644
|
-
console.log(chalk.gray(` [dry-run] dev-pipeline/`));
|
|
645
|
+
console.log(chalk.gray(` [dry-run] .prizmkit/dev-pipeline/`));
|
|
645
646
|
return [];
|
|
646
647
|
}
|
|
647
648
|
|
|
@@ -666,7 +667,7 @@ export async function installPipeline(projectRoot, dryRun, { forceOverwrite = fa
|
|
|
666
667
|
const srcStat = await fs.stat(src);
|
|
667
668
|
|
|
668
669
|
if (await fs.pathExists(tgt) && !forceOverwrite) {
|
|
669
|
-
console.log(chalk.yellow(` ⚠ dev-pipeline/${item} 已存在,跳过`));
|
|
670
|
+
console.log(chalk.yellow(` ⚠ .prizmkit/dev-pipeline/${item} 已存在,跳过`));
|
|
670
671
|
// Still collect existing files for manifest tracking
|
|
671
672
|
if (srcStat.isDirectory()) {
|
|
672
673
|
installedFiles.push(...collectFilesRecursive(src, item));
|
|
@@ -687,14 +688,14 @@ export async function installPipeline(projectRoot, dryRun, { forceOverwrite = fa
|
|
|
687
688
|
}
|
|
688
689
|
}
|
|
689
690
|
|
|
690
|
-
console.log(chalk.green(` ✓ dev-pipeline/ (${installedCount} 项)`));
|
|
691
|
+
console.log(chalk.green(` ✓ .prizmkit/dev-pipeline/ (${installedCount} 项)`));
|
|
691
692
|
|
|
692
|
-
// Copy .env.example to
|
|
693
|
+
// Copy .env.example to .prizmkit/.env.example if it exists in pipeline source
|
|
693
694
|
const envExampleSrc = path.join(pipelineSource, '.env.example');
|
|
694
|
-
const envExampleTgt = path.join(projectRoot, '.env.example');
|
|
695
|
+
const envExampleTgt = path.join(projectRoot, '.prizmkit', '.env.example');
|
|
695
696
|
if (await fs.pathExists(envExampleSrc) && !await fs.pathExists(envExampleTgt)) {
|
|
696
697
|
await fs.copy(envExampleSrc, envExampleTgt);
|
|
697
|
-
console.log(chalk.green(` ✓ .env.example (pipeline environment configuration)`));
|
|
698
|
+
console.log(chalk.green(` ✓ .prizmkit/.env.example (pipeline environment configuration)`));
|
|
698
699
|
}
|
|
699
700
|
|
|
700
701
|
return installedFiles;
|
package/src/upgrade.js
CHANGED
|
@@ -125,13 +125,13 @@ export async function removeRuleFiles(platform, projectRoot, ruleFileNames, dryR
|
|
|
125
125
|
*/
|
|
126
126
|
export async function removePipelineFiles(projectRoot, fileList, dryRun) {
|
|
127
127
|
for (const relPath of fileList) {
|
|
128
|
-
const filePath = path.join(projectRoot, 'dev-pipeline', relPath);
|
|
128
|
+
const filePath = path.join(projectRoot, '.prizmkit', 'dev-pipeline', relPath);
|
|
129
129
|
if (await fs.pathExists(filePath)) {
|
|
130
130
|
if (dryRun) {
|
|
131
|
-
console.log(chalk.gray(` [dry-run] remove dev-pipeline/${relPath}`));
|
|
131
|
+
console.log(chalk.gray(` [dry-run] remove .prizmkit/dev-pipeline/${relPath}`));
|
|
132
132
|
} else {
|
|
133
133
|
await fs.remove(filePath);
|
|
134
|
-
console.log(chalk.red(` ✗ removed dev-pipeline/${relPath}`));
|
|
134
|
+
console.log(chalk.red(` ✗ removed .prizmkit/dev-pipeline/${relPath}`));
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
}
|