@topy-ai/maggie 0.2.6 → 0.2.7
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 +15 -0
- package/bin/maggie.js +31 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# @topy-ai/maggie
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@topy-ai/maggie)
|
|
4
|
+
[](https://github.com/TOPY-AI-LTD/ai-cmo-skills/blob/main/LICENSE)
|
|
5
|
+
|
|
3
6
|
Installable AI workflows for building, operating, and growing websites.
|
|
4
7
|
|
|
5
8
|
Maggie gives Codex, Claude Code, and compatible coding agents a set of
|
|
@@ -51,6 +54,7 @@ The CLI provides the installer plus durable workflow commands:
|
|
|
51
54
|
|
|
52
55
|
```text
|
|
53
56
|
maggie init | install | update | remove | list | doctor
|
|
57
|
+
maggie cleanup --project . [--confirm]
|
|
54
58
|
maggie bootstrap interview | phase ...
|
|
55
59
|
maggie dash init | status | migrate
|
|
56
60
|
maggie clone ... # authorized homepage capture
|
|
@@ -68,6 +72,17 @@ maggie api lifecycle | site-audit | ops audit
|
|
|
68
72
|
Run `maggie --help` for the complete syntax. `maggie-emdash` is migration
|
|
69
73
|
history only and is not an installable package skill.
|
|
70
74
|
|
|
75
|
+
`update` never deletes files removed upstream. `cleanup` first previews and,
|
|
76
|
+
with `--confirm`, removes only known retired EmDash artifacts. It preserves
|
|
77
|
+
`docs/de-emdash-*` migration history and `.maggie` marketplace state.
|
|
78
|
+
|
|
79
|
+
Recommended upgrade sequence for the current release:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npx @topy-ai/maggie@0.2.7 update --project . --force
|
|
83
|
+
npx @topy-ai/maggie@0.2.7 cleanup --project .
|
|
84
|
+
```
|
|
85
|
+
|
|
71
86
|
## MaggieDash lifecycle
|
|
72
87
|
|
|
73
88
|
For a new project, establish the local content and approval foundation before
|
package/bin/maggie.js
CHANGED
|
@@ -35,6 +35,16 @@ const SKILL_NAMES = [
|
|
|
35
35
|
"maggie-content-localization",
|
|
36
36
|
"maggie-feedback",
|
|
37
37
|
];
|
|
38
|
+
const RETIRED_PATHS = [
|
|
39
|
+
".agents/skills/maggie-emdash",
|
|
40
|
+
".claude/skills/maggie-emdash",
|
|
41
|
+
"contracts/emdash",
|
|
42
|
+
"templates/emdash",
|
|
43
|
+
"references/emdash-integration.md",
|
|
44
|
+
"tools/clis/maggie_emdash.py",
|
|
45
|
+
"tools/tests/test_maggie_emdash.py",
|
|
46
|
+
"docs/ai-cmo-emdash",
|
|
47
|
+
];
|
|
38
48
|
|
|
39
49
|
function usage() {
|
|
40
50
|
console.log(`Maggie Skills installer
|
|
@@ -52,6 +62,7 @@ Usage:
|
|
|
52
62
|
maggie content FILE --source PROVIDER --project PATH --confirm
|
|
53
63
|
maggie bootstrap phase <start|pass|fail|status> <phase> [project]
|
|
54
64
|
maggie remove [SKILL ...] [--project PATH] [--agent codex|claude|all]
|
|
65
|
+
maggie cleanup --project PATH [--confirm]
|
|
55
66
|
maggie marketplace add <template-url> clone <preview-url> --rename <id>
|
|
56
67
|
maggie marketplace list
|
|
57
68
|
maggie marketplace suggest "premium London medical spa"
|
|
@@ -295,6 +306,25 @@ function remove(args) {
|
|
|
295
306
|
}
|
|
296
307
|
}
|
|
297
308
|
|
|
309
|
+
function cleanup(args) {
|
|
310
|
+
const root = projectRoot(args);
|
|
311
|
+
const existing = RETIRED_PATHS
|
|
312
|
+
.map((relativePath) => ({ relativePath, target: join(root, relativePath) }))
|
|
313
|
+
.filter(({ target }) => existsSync(target));
|
|
314
|
+
if (!existing.length) {
|
|
315
|
+
console.log("Maggie cleanup: no retired artifacts found");
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
for (const { relativePath, target } of existing) console.log(`${args.includes("--confirm") ? "removing" : "would remove"} ${relativePath}`);
|
|
319
|
+
if (!args.includes("--confirm")) {
|
|
320
|
+
console.log("Nothing was deleted. Rerun with --confirm to remove these retired artifacts.");
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
for (const { target } of existing) rmSync(target, { recursive: true, force: false });
|
|
324
|
+
console.log(`Maggie cleanup complete: removed ${existing.length} retired artifact(s)`);
|
|
325
|
+
console.log("Migration history under docs/de-emdash-* and marketplace/.maggie were preserved.");
|
|
326
|
+
}
|
|
327
|
+
|
|
298
328
|
const [command = "help", ...args] = process.argv.slice(2);
|
|
299
329
|
try {
|
|
300
330
|
if (["help", "--help", "-h"].includes(command)) usage();
|
|
@@ -322,6 +352,7 @@ try {
|
|
|
322
352
|
else if (command === "update") update(args);
|
|
323
353
|
else if (command === "doctor") doctor(args);
|
|
324
354
|
else if (command === "remove") remove(args);
|
|
355
|
+
else if (command === "cleanup") cleanup(args);
|
|
325
356
|
else throw new Error(`unknown command: ${command}`);
|
|
326
357
|
} catch (error) {
|
|
327
358
|
console.error(`maggie: ${error.message}`);
|