maxsim-flutter 1.12.0 → 1.13.0
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/dist/claude-setup/setup-orchestrator.d.ts +11 -1
- package/dist/claude-setup/setup-orchestrator.d.ts.map +1 -1
- package/dist/claude-setup/setup-orchestrator.js +8 -6
- package/dist/claude-setup/setup-orchestrator.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +17 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -0
- package/dist/cli/commands/upgrade.js +137 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,10 +2,20 @@ import type { ProjectContext } from '../core/context.js';
|
|
|
2
2
|
export interface ClaudeSetupResult {
|
|
3
3
|
filesWritten: string[];
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Options for runClaudeSetup. All fields optional for backward compatibility.
|
|
7
|
+
*/
|
|
8
|
+
export interface ClaudeSetupOptions {
|
|
9
|
+
/**
|
|
10
|
+
* If true, skip regenerating prd.json.
|
|
11
|
+
* Use this for the upgrade command since users may have marked stories complete.
|
|
12
|
+
*/
|
|
13
|
+
skipPrd?: boolean;
|
|
14
|
+
}
|
|
5
15
|
/**
|
|
6
16
|
* Runs the full Claude setup for a scaffolded Flutter project.
|
|
7
17
|
* Generates CLAUDE.md, agent definitions, skills, hooks, MCP config,
|
|
8
18
|
* slash commands, and prd.json.
|
|
9
19
|
*/
|
|
10
|
-
export declare function runClaudeSetup(context: ProjectContext, outputPath: string): Promise<ClaudeSetupResult>;
|
|
20
|
+
export declare function runClaudeSetup(context: ProjectContext, outputPath: string, options?: ClaudeSetupOptions): Promise<ClaudeSetupResult>;
|
|
11
21
|
//# sourceMappingURL=setup-orchestrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-orchestrator.d.ts","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASzD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"setup-orchestrator.d.ts","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASzD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAiD5B"}
|
|
@@ -12,7 +12,7 @@ import { generatePrd } from './prd-generator.js';
|
|
|
12
12
|
* Generates CLAUDE.md, agent definitions, skills, hooks, MCP config,
|
|
13
13
|
* slash commands, and prd.json.
|
|
14
14
|
*/
|
|
15
|
-
export async function runClaudeSetup(context, outputPath) {
|
|
15
|
+
export async function runClaudeSetup(context, outputPath, options) {
|
|
16
16
|
const filesWritten = [];
|
|
17
17
|
// Ensure .claude directory exists
|
|
18
18
|
await mkdir(join(outputPath, '.claude'), { recursive: true });
|
|
@@ -36,11 +36,13 @@ export async function runClaudeSetup(context, outputPath) {
|
|
|
36
36
|
// 6. Write slash commands (.claude/commands/)
|
|
37
37
|
await writeCommands(context, outputPath);
|
|
38
38
|
filesWritten.push(join(outputPath, '.claude', 'commands', 'add-feature.md'), join(outputPath, '.claude', 'commands', 'analyze.md'));
|
|
39
|
-
// 7. Generate and write prd.json
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
// 7. Generate and write prd.json (skipped when skipPrd is true)
|
|
40
|
+
if (!options?.skipPrd) {
|
|
41
|
+
const prdContent = generatePrd(context);
|
|
42
|
+
const prdPath = join(outputPath, 'prd.json');
|
|
43
|
+
await writeFile(prdPath, prdContent, 'utf-8');
|
|
44
|
+
filesWritten.push(prdPath);
|
|
45
|
+
}
|
|
44
46
|
return { filesWritten };
|
|
45
47
|
}
|
|
46
48
|
//# sourceMappingURL=setup-orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-orchestrator.js","sourceRoot":"","sources":["../../src/claude-setup/setup-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Back up existing agent markdown files in a .claude/agents/ directory.
|
|
4
|
+
* Each *.md file is copied to *.md.bak (overwriting any previous backup).
|
|
5
|
+
* Only .md files are backed up — subdirectories and non-.md files are ignored.
|
|
6
|
+
* If the agents directory does not exist, returns an empty array (no-op).
|
|
7
|
+
*
|
|
8
|
+
* @param agentsDir - Absolute path to the .claude/agents/ directory
|
|
9
|
+
* @returns Absolute paths of the .bak files created
|
|
10
|
+
*/
|
|
11
|
+
export declare function backupAgentFiles(agentsDir: string): Promise<string[]>;
|
|
12
|
+
/**
|
|
13
|
+
* Commander command factory for the upgrade command.
|
|
14
|
+
* Usage: maxsim-flutter upgrade [path] [--yes] [--dry-run] [--regenerate-prd]
|
|
15
|
+
*/
|
|
16
|
+
export declare function createUpgradeCommand(): Command;
|
|
17
|
+
//# sourceMappingURL=upgrade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwB3E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAmB9C"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { copyFile, readdir, stat } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import * as p from '@clack/prompts';
|
|
5
|
+
import { loadConfig } from '../../core/config/loader.js';
|
|
6
|
+
import { parseConfig } from '../../core/config/loader.js';
|
|
7
|
+
import { createProjectContext } from '../../core/context.js';
|
|
8
|
+
import { runClaudeSetup } from '../../claude-setup/setup-orchestrator.js';
|
|
9
|
+
import { findProjectRoot } from './add.js';
|
|
10
|
+
/**
|
|
11
|
+
* Back up existing agent markdown files in a .claude/agents/ directory.
|
|
12
|
+
* Each *.md file is copied to *.md.bak (overwriting any previous backup).
|
|
13
|
+
* Only .md files are backed up — subdirectories and non-.md files are ignored.
|
|
14
|
+
* If the agents directory does not exist, returns an empty array (no-op).
|
|
15
|
+
*
|
|
16
|
+
* @param agentsDir - Absolute path to the .claude/agents/ directory
|
|
17
|
+
* @returns Absolute paths of the .bak files created
|
|
18
|
+
*/
|
|
19
|
+
export async function backupAgentFiles(agentsDir) {
|
|
20
|
+
let entries;
|
|
21
|
+
try {
|
|
22
|
+
entries = await readdir(agentsDir);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
// Directory doesn't exist — nothing to backup
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const bakPaths = [];
|
|
29
|
+
for (const entry of entries) {
|
|
30
|
+
if (!entry.endsWith('.md'))
|
|
31
|
+
continue;
|
|
32
|
+
const filePath = join(agentsDir, entry);
|
|
33
|
+
const fileStat = await stat(filePath);
|
|
34
|
+
if (!fileStat.isFile())
|
|
35
|
+
continue;
|
|
36
|
+
const bakPath = `${filePath}.bak`;
|
|
37
|
+
await copyFile(filePath, bakPath);
|
|
38
|
+
bakPaths.push(bakPath);
|
|
39
|
+
}
|
|
40
|
+
return bakPaths;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Commander command factory for the upgrade command.
|
|
44
|
+
* Usage: maxsim-flutter upgrade [path] [--yes] [--dry-run] [--regenerate-prd]
|
|
45
|
+
*/
|
|
46
|
+
export function createUpgradeCommand() {
|
|
47
|
+
const cmd = new Command('upgrade');
|
|
48
|
+
cmd
|
|
49
|
+
.description('Upgrade and refresh the .claude/ directory with latest templates')
|
|
50
|
+
.argument('[path]', 'Path to the project root (default: current directory)')
|
|
51
|
+
.option('--yes', 'Skip confirmation prompt')
|
|
52
|
+
.option('--dry-run', 'Show what would change without writing files')
|
|
53
|
+
.option('--regenerate-prd', 'Also regenerate prd.json (default: preserve existing)')
|
|
54
|
+
.action(async (pathArg, options) => {
|
|
55
|
+
try {
|
|
56
|
+
await runUpgrade(pathArg, options);
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
p.log.error(err instanceof Error ? err.message : String(err));
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return cmd;
|
|
64
|
+
}
|
|
65
|
+
async function runUpgrade(pathArg, options) {
|
|
66
|
+
const dryRun = options.dryRun === true;
|
|
67
|
+
const yes = options.yes === true;
|
|
68
|
+
const regeneratePrd = options.regeneratePrd === true;
|
|
69
|
+
p.intro(`maxsim-flutter — Upgrade .claude/ directory${dryRun ? ' (dry run)' : ''}`);
|
|
70
|
+
// 1. Resolve project root
|
|
71
|
+
const searchDir = pathArg ?? process.cwd();
|
|
72
|
+
const projectRoot = await findProjectRoot(searchDir);
|
|
73
|
+
if (!projectRoot) {
|
|
74
|
+
throw new Error(`No maxsim.config.yaml found in ${searchDir} or its parent directories.\n` +
|
|
75
|
+
'Run this command from inside a maxsim-flutter project, or pass the path as an argument.');
|
|
76
|
+
}
|
|
77
|
+
const configPath = join(projectRoot, 'maxsim.config.yaml');
|
|
78
|
+
p.log.info(`Found project at: ${projectRoot}`);
|
|
79
|
+
// 2. Load config
|
|
80
|
+
const rawConfig = await loadConfig(configPath);
|
|
81
|
+
const config = parseConfig(rawConfig);
|
|
82
|
+
const context = createProjectContext(config, projectRoot);
|
|
83
|
+
const agentsDir = join(projectRoot, '.claude', 'agents');
|
|
84
|
+
// 3. Dry-run mode — show what would change, write nothing
|
|
85
|
+
if (dryRun) {
|
|
86
|
+
p.log.info('Files that would be regenerated:');
|
|
87
|
+
p.log.step(' CLAUDE.md');
|
|
88
|
+
p.log.step(' .claude/agents/*.md (5 agent files)');
|
|
89
|
+
p.log.step(' .claude/skills/*.md');
|
|
90
|
+
p.log.step(' .claude/settings.local.json');
|
|
91
|
+
p.log.step(' .mcp.json');
|
|
92
|
+
p.log.step(' .claude/commands/*.md');
|
|
93
|
+
if (regeneratePrd) {
|
|
94
|
+
p.log.step(' prd.json');
|
|
95
|
+
}
|
|
96
|
+
p.log.info('Agent files that would be backed up (→ .bak):');
|
|
97
|
+
let bakEntries = [];
|
|
98
|
+
try {
|
|
99
|
+
const entries = await readdir(agentsDir);
|
|
100
|
+
bakEntries = entries.filter((e) => e.endsWith('.md'));
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
// agents dir doesn't exist — nothing to backup
|
|
104
|
+
}
|
|
105
|
+
if (bakEntries.length > 0) {
|
|
106
|
+
for (const e of bakEntries) {
|
|
107
|
+
p.log.step(` ${e} → ${e}.bak`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
p.log.step(' (no existing agent files found)');
|
|
112
|
+
}
|
|
113
|
+
p.outro('Dry run complete — no changes made.');
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
// 4. Confirm prompt (unless --yes)
|
|
117
|
+
if (!yes) {
|
|
118
|
+
const confirmed = await p.confirm({
|
|
119
|
+
message: 'This will regenerate .claude/ files and back up existing agents. Continue?',
|
|
120
|
+
initialValue: true,
|
|
121
|
+
});
|
|
122
|
+
if (p.isCancel(confirmed) || !confirmed) {
|
|
123
|
+
p.cancel('Upgrade cancelled.');
|
|
124
|
+
process.exit(0);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
// 5. Back up existing agent files BEFORE regenerating
|
|
128
|
+
const backedUp = await backupAgentFiles(agentsDir);
|
|
129
|
+
if (backedUp.length > 0) {
|
|
130
|
+
p.log.info(`Backed up ${backedUp.length} agent file(s) to .bak`);
|
|
131
|
+
}
|
|
132
|
+
// 6. Re-run Claude setup (skipPrd unless --regenerate-prd)
|
|
133
|
+
const result = await runClaudeSetup(context, projectRoot, { skipPrd: !regeneratePrd });
|
|
134
|
+
p.log.success(`Regenerated ${result.filesWritten.length} file(s)`);
|
|
135
|
+
p.outro('Upgrade complete!');
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { createCreateCommand } from './commands/create.js';
|
|
|
5
5
|
import { createAddCommand } from './commands/add.js';
|
|
6
6
|
import { createMigrateCommand } from './commands/migrate.js';
|
|
7
7
|
import { createListCommand } from './commands/list.js';
|
|
8
|
+
import { createUpgradeCommand } from './commands/upgrade.js';
|
|
8
9
|
import { checkForUpdate } from './version-check.js';
|
|
9
10
|
const program = new Command();
|
|
10
11
|
program
|
|
@@ -16,6 +17,7 @@ program.addCommand(createCreateCommand());
|
|
|
16
17
|
program.addCommand(createAddCommand());
|
|
17
18
|
program.addCommand(createMigrateCommand());
|
|
18
19
|
program.addCommand(createListCommand());
|
|
20
|
+
program.addCommand(createUpgradeCommand());
|
|
19
21
|
program.parse();
|
|
20
22
|
// Non-blocking update nudge (fires after the command completes)
|
|
21
23
|
const opts = program.opts();
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,gBAAgB,CAAC;KACtB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4GAA4G,CAAC;KACzH,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;AAE5D,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,gBAAgB,CAAC;KACtB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4GAA4G,CAAC;KACzH,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;AAE5D,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAE3C,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,gEAAgE;AAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAA4B,CAAC;AACtD,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;IAC/B,cAAc,EAAE;SACb,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;QACtB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC;YAC7C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,uBAAuB,OAAO,MAAM,aAAa,gDAAgD,CAClG,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE;QACV,kBAAkB;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}
|