@topy-ai/maggie 0.2.6 → 0.2.8

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 CHANGED
@@ -1,5 +1,8 @@
1
1
  # @topy-ai/maggie
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@topy-ai/maggie)](https://www.npmjs.com/package/@topy-ai/maggie)
4
+ [![license](https://img.shields.io/badge/license-MIT-blue.svg)](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,8 +54,10 @@ 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
60
+ maggie dash transition ... # explicit content approval transition
56
61
  maggie clone ... # authorized homepage capture
57
62
  maggie design ... # authorized interior-page design
58
63
  maggie clone-to-template ... # URL → validated marketplace template
@@ -68,6 +73,17 @@ maggie api lifecycle | site-audit | ops audit
68
73
  Run `maggie --help` for the complete syntax. `maggie-emdash` is migration
69
74
  history only and is not an installable package skill.
70
75
 
76
+ `update` never deletes files removed upstream. `cleanup` first previews and,
77
+ with `--confirm`, removes only known retired EmDash artifacts. It preserves
78
+ `docs/de-emdash-*` migration history and `.maggie` marketplace state.
79
+
80
+ Recommended upgrade sequence for the current release:
81
+
82
+ ```bash
83
+ npx @topy-ai/maggie@0.2.8 update --project . --force
84
+ npx @topy-ai/maggie@0.2.8 cleanup --project .
85
+ ```
86
+
71
87
  ## MaggieDash lifecycle
72
88
 
73
89
  For a new project, establish the local content and approval foundation before
package/bin/maggie.js CHANGED
@@ -35,6 +35,22 @@ 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
+ ".agents/skills/building-emdash-site",
42
+ ".claude/skills/building-emdash-site",
43
+ ".agents/skills/creating-plugins",
44
+ ".claude/skills/creating-plugins",
45
+ ".agents/skills/emdash-cli",
46
+ ".claude/skills/emdash-cli",
47
+ "contracts/emdash",
48
+ "templates/emdash",
49
+ "references/emdash-integration.md",
50
+ "tools/clis/maggie_emdash.py",
51
+ "tools/tests/test_maggie_emdash.py",
52
+ "docs/ai-cmo-emdash",
53
+ ];
38
54
 
39
55
  function usage() {
40
56
  console.log(`Maggie Skills installer
@@ -52,6 +68,7 @@ Usage:
52
68
  maggie content FILE --source PROVIDER --project PATH --confirm
53
69
  maggie bootstrap phase <start|pass|fail|status> <phase> [project]
54
70
  maggie remove [SKILL ...] [--project PATH] [--agent codex|claude|all]
71
+ maggie cleanup --project PATH [--confirm]
55
72
  maggie marketplace add <template-url> clone <preview-url> --rename <id>
56
73
  maggie marketplace list
57
74
  maggie marketplace suggest "premium London medical spa"
@@ -295,6 +312,25 @@ function remove(args) {
295
312
  }
296
313
  }
297
314
 
315
+ function cleanup(args) {
316
+ const root = projectRoot(args);
317
+ const existing = RETIRED_PATHS
318
+ .map((relativePath) => ({ relativePath, target: join(root, relativePath) }))
319
+ .filter(({ target }) => existsSync(target));
320
+ if (!existing.length) {
321
+ console.log("Maggie cleanup: no retired artifacts found");
322
+ return;
323
+ }
324
+ for (const { relativePath, target } of existing) console.log(`${args.includes("--confirm") ? "removing" : "would remove"} ${relativePath}`);
325
+ if (!args.includes("--confirm")) {
326
+ console.log("Nothing was deleted. Rerun with --confirm to remove these retired artifacts.");
327
+ return;
328
+ }
329
+ for (const { target } of existing) rmSync(target, { recursive: true, force: false });
330
+ console.log(`Maggie cleanup complete: removed ${existing.length} retired artifact(s)`);
331
+ console.log("Migration history under docs/de-emdash-* and marketplace/.maggie were preserved.");
332
+ }
333
+
298
334
  const [command = "help", ...args] = process.argv.slice(2);
299
335
  try {
300
336
  if (["help", "--help", "-h"].includes(command)) usage();
@@ -322,6 +358,7 @@ try {
322
358
  else if (command === "update") update(args);
323
359
  else if (command === "doctor") doctor(args);
324
360
  else if (command === "remove") remove(args);
361
+ else if (command === "cleanup") cleanup(args);
325
362
  else throw new Error(`unknown command: ${command}`);
326
363
  } catch (error) {
327
364
  console.error(`maggie: ${error.message}`);
@@ -18,6 +18,21 @@ content operations.
18
18
  4. Keep content in `draft` until a named actor explicitly transitions it
19
19
  through review and approval.
20
20
 
21
+ To move a document through the approval lifecycle, use the explicit
22
+ transition command after checking its current status:
23
+
24
+ ```bash
25
+ maggie dash status --project . --project-id local-project
26
+ maggie dash transition --project . \
27
+ --project-id local-project --document-id <document-id> \
28
+ --status review --actor <actor-id> \
29
+ --reason "ready for factual review" --confirm
30
+ ```
31
+
32
+ Valid transitions and statuses are owned by the MaggieDash storage contract;
33
+ do not edit the database directly. A transition is an auditable state change,
34
+ not a publish shortcut.
35
+
21
36
  All mutating commands require `--confirm`. The default development adapter is
22
37
  SQLite; production adapters must satisfy the same versioned contracts.
23
38
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@topy-ai/maggie",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "Install and manage Maggie Skills for AI coding agents",
5
5
  "license": "MIT",
6
6
  "type": "module",