arcane-cli 0.14.0 → 0.15.1

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.
Files changed (66) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +253 -253
  3. package/dist/assets/.arcane/agents/agent-policies-template.md +414 -414
  4. package/dist/assets/.arcane/governance/agent-policies.md +414 -414
  5. package/dist/assets/.arcane/governance/agent-work-queue-model.md +61 -61
  6. package/dist/assets/.arcane/governance/cicd-standards.md +227 -227
  7. package/dist/assets/.arcane/governance/development-methodology.md +384 -384
  8. package/dist/assets/.arcane/governance/git-conventions.md +759 -759
  9. package/dist/assets/.arcane/governance/naming-conventions.md +142 -142
  10. package/dist/assets/.arcane/governance/new-business-setup.md +182 -182
  11. package/dist/assets/.arcane/governance/portable-bootstrap.md +101 -101
  12. package/dist/assets/.arcane/governance/product-excellence-standards.md +211 -211
  13. package/dist/assets/.arcane/governance/testing-standards.md +158 -158
  14. package/dist/assets/.arcane/governance/universal-agent-rules.md +108 -108
  15. package/dist/assets/.arcane/image-prompts/adelaide-image-prompt.md +140 -140
  16. package/dist/assets/.arcane/image-prompts/alexander-image-prompt.md +138 -138
  17. package/dist/assets/.arcane/image-prompts/bess-image-prompt.md +139 -139
  18. package/dist/assets/.arcane/image-prompts/circe-image-prompt.md +143 -143
  19. package/dist/assets/.arcane/image-prompts/custodio-image-prompt.md +140 -140
  20. package/dist/assets/.arcane/image-prompts/iris-image-prompt.md +139 -139
  21. package/dist/assets/.arcane/image-prompts/kellar-image-prompt.md +141 -141
  22. package/dist/assets/.arcane/image-prompts/lafayette-image-prompt.md +140 -140
  23. package/dist/assets/.arcane/image-prompts/lince-image-prompt.md +142 -142
  24. package/dist/assets/.arcane/image-prompts/mercurio-image-prompt.md +140 -140
  25. package/dist/assets/.arcane/image-prompts/merlin-image-prompt.md +139 -139
  26. package/dist/assets/.arcane/image-prompts/prospero-image-prompt.md +141 -141
  27. package/dist/assets/.arcane.json +5 -0
  28. package/dist/assets/.claude/commands/spell-enchant.md +9 -9
  29. package/dist/assets/.github/agents/adelaide.agent.md +44 -44
  30. package/dist/assets/.github/agents/alexander.agent.md +43 -43
  31. package/dist/assets/.github/agents/bess.agent.md +42 -42
  32. package/dist/assets/.github/agents/circe.agent.md +43 -43
  33. package/dist/assets/.github/agents/custodio.agent.md +44 -44
  34. package/dist/assets/.github/agents/iris.agent.md +43 -43
  35. package/dist/assets/.github/agents/kellar.agent.md +43 -43
  36. package/dist/assets/.github/agents/lafayette.agent.md +42 -42
  37. package/dist/assets/.github/agents/lince.agent.md +43 -43
  38. package/dist/assets/.github/agents/mercurio.agent.md +43 -43
  39. package/dist/assets/.github/agents/merlin.agent.md +44 -44
  40. package/dist/assets/.github/agents/prospero.agent.md +43 -43
  41. package/dist/assets/.github/prompts/spell-close-session.prompt.md +17 -5
  42. package/dist/assets/.github/prompts/spell-commit-work.prompt.md +24 -6
  43. package/dist/assets/.github/prompts/spell-create-pull-request.prompt.md +12 -3
  44. package/dist/assets/.github/prompts/spell-enchant.prompt.md +385 -385
  45. package/dist/assets/.github/prompts/spell-feedback.prompt.md +113 -113
  46. package/dist/assets/.github/prompts/spell-full-cycle.prompt.md +202 -201
  47. package/dist/assets/.github/prompts/spell-implement.prompt.md +101 -101
  48. package/dist/assets/.github/prompts/spell-open-session.prompt.md +20 -5
  49. package/dist/assets/.github/prompts/spell-scope.prompt.md +263 -263
  50. package/dist/assets/agents/architecture-lead.yaml +61 -61
  51. package/dist/assets/agents/collaborator.yaml +59 -59
  52. package/dist/assets/agents/devops.yaml +60 -60
  53. package/dist/assets/agents/frontend-dev.yaml +60 -60
  54. package/dist/assets/agents/fullstack-dev.yaml +59 -59
  55. package/dist/assets/agents/marketing-strategist.yaml +60 -60
  56. package/dist/assets/agents/mobile-dev.yaml +59 -59
  57. package/dist/assets/agents/operations-comms.yaml +58 -58
  58. package/dist/assets/agents/orchestrator.yaml +60 -60
  59. package/dist/assets/agents/qa-lead.yaml +60 -60
  60. package/dist/assets/agents/research-analyst.yaml +59 -59
  61. package/dist/assets/agents/security-ops.yaml +61 -61
  62. package/dist/index.js +346 -9
  63. package/dist/index.js.map +1 -1
  64. package/package.json +72 -72
  65. package/dist/assets/.claude/commands/spell-eas-ios-deploy.md +0 -9
  66. package/dist/assets/.github/prompts/spell-eas-ios-deploy.prompt.md +0 -183
@@ -1,142 +1,142 @@
1
- ---
2
- title: Naming Conventions
3
- audience: both
4
- last_updated: YYYY-MM-DD
5
- status: active
6
- distributable: true
7
- tags: [naming, convention, machines, agents, identity]
8
- ---
9
-
10
- # Naming Conventions
11
-
12
- How machines, AI agents, and systems are named across your projects. This is a **template** — adapt the theme and fill in your own roster. Your filled-in instance lives in your ops repo, not here.
13
-
14
- ## Executive Summary
15
-
16
- - Naming is split into three tiers: machines, AI agents, and systems/services.
17
- - Machine names are iconic identities, agent names are persona-based, and service names are functional.
18
- - Names must be unique, memorable, and consistent across projects to reduce operational ambiguity.
19
- - This file is the reference for the patterns and rules; record your actual assigned names in your own ops repo.
20
-
21
- ---
22
-
23
- ## Naming Philosophy
24
-
25
- Two rules govern every name in the system.
26
-
27
- **The Naming Test:** if an established industry term exists for the thing, use the real term — a universe name has to be *earned* by the absence of one. Two dialects result: magic grammar for the personas and vocabulary, plain functional payloads for everything technical. Corollary: the more autonomous the tool, the more boring its name should be.
28
-
29
- **The IP rule:** persona names must be **public domain or your own coinage**. No living people. No franchise-coined characters — a borrowed name is owned by whoever coined it, no matter how well it fits. Before any name ships, run the four checks: who coined it; does an estate still do business in it; do same-audience products already claim it (search live — don't trust memory); and what is its first association in each market you operate in, said aloud in every language your team speaks.
30
-
31
- Names should be memorable, distinctive, and never repeated across categories.
32
-
33
- The naming system has three tiers:
34
-
35
- | Category | What Gets Named | Naming Style | Examples |
36
- | ---------------------- | --------------------------------------------- | ----------------------------------------------------------- | -------------------------- |
37
- | **Machines** | Physical hardware (PCs, servers, laptops) | Legendary / iconic figures — the "heavy hitters" | Atlas, Goliath-class names |
38
- | **AI Agents** | Autonomous agents running operations | Public-domain characters — smart, capable, distinct personality | Merlin, Athena, Prospero |
39
- | **Systems / Services** | Databases, APIs, internal tools | Functional names — clear, descriptive | Inventory API, OrderQueue |
40
-
41
- ---
42
-
43
- ## Machines
44
-
45
- Machines get the most powerful, iconic names. These are the foundational hardware — they deserve heavyweight identifiers.
46
-
47
- | Machine | Example Name | Why |
48
- | ----------------------------- | ------------ | ---------------------------------------------------------------- |
49
- | Primary workstation | **Atlas** | The one that carries the load — your most powerful build/dev box |
50
- | Laptop | **Voyager** | The mobile unit that travels with you |
51
- | Secondary / home server | **Nimbus** | Always-on node bridging local and cloud environments |
52
-
53
- **Hostname convention:** use the same name everywhere, cased per platform — e.g., Windows hostname `ATLAS`, Linux hostname `atlas`, in documentation `Atlas` (TitleCase).
54
-
55
- ---
56
-
57
- ## AI Agents
58
-
59
- Agents get persona names paired with a role. The persona name is the primary identifier — what you call it in conversation, logs, and dashboards. The role is metadata that describes what it does.
60
-
61
- ### Format
62
-
63
- ```
64
- [Persona Name] — [Role Title] / [Responsibility Summary]
65
- ```
66
-
67
- ### Assignment Rules
68
-
69
- - One persona name per agent, globally unique across all projects.
70
- - An agent may serve multiple projects but keeps the same name and role everywhere.
71
- - If an agent's role changes significantly, it gets a new name (don't reuse names for different roles).
72
- - If you collaborate with other operators who run their own Arcane instances, reserve names across instances so they don't collide.
73
-
74
- ### Default Roster (Arcane personas)
75
-
76
- Arcane ships with twelve default agent personas, organized by functional cluster. Use them as-is, rename them to your chosen universe, or define your own. The persona definitions live in `.github/agents/` (and `agents/*.yaml`); deployment state (which projects each serves, status, git identity) belongs in your ops repo.
77
-
78
- | Persona | Epithet | Role | Cluster |
79
- | ------------- | -------------------- | --------------------------- | -------------- |
80
- | **Kellar** | the Maestro | Product Operations Manager | Foundation |
81
- | **Merlin** | the Archmage | CTO / Architecture Lead | Guide |
82
- | **Alexander** | the Man Who Knows | Research & Backlog Analyst | Mind |
83
- | **Custodio** | the Warden | Security Operations | Bridge |
84
- | **Lince** | the Unmasker | QA Lead | Guardian |
85
- | **Mercurio** | the Swift | Mobile Developer | Build Team |
86
- | **Adelaide** | the Illusionist | Frontend Developer | Build Team |
87
- | **Lafayette** | the Conjuror | Full-Stack Developer | Build Team |
88
- | **Circe** | the Charmweaver | Marketing Strategist | Voice |
89
- | **Bess** | the Herald | Operations Communications | Voice |
90
- | **Iris** | the Emissary | External Collaboration Lead | Bridge |
91
- | **Prospero** | the Stormcaller | DevOps / CI/CD Engineer | Infrastructure |
92
-
93
- Twelve legendary agents — the Arcanos. Every namesake is public domain: golden-age stage magicians (Kellar, Lafayette, Adelaide, Alexander, Bess), myth and classic literature (Merlin, Circe, Iris, Prospero, Mercurio), and coinages from living vocabulary (Lince — *ojo de lince*; Custodio — *ángel custodio*). Lince is never anglicized.
94
-
95
- **Role consolidation (ADR-031):** Framework-specific dev roles (.NET, Blazor, React, Flutter, MAUI) are consolidated into generic roles (Full-Stack, Frontend, Mobile). The framework/stack is a prompt parameter, not an agent identity. This scales without needing a new agent for every technology.
96
-
97
- **Naming policy:** All agent names should be positive characters — beings, not objects — with a clear thematic connection to their role.
98
-
99
- **Canonical agent identity domain:** Use a single domain for all agent and tool Git identities — e.g., `merlin@{OPERATOR_DOMAIN}`. See [[DECISIONS#ADR-028|ADR-028]] for the full attribution model.
100
-
101
- ### Power Levels (ADR-032)
102
-
103
- Agent autonomy is assigned per agent × per repo using gamified power levels. See [[DECISIONS#ADR-032|ADR-032]] for full rationale. This is the single canonical ladder — every other document mirrors it. The teachable gradient: **wizards study, sorcerers wield, magi command.**
104
-
105
- | Level | Name | Behavior | Push Model |
106
- | ----- | -------------- | ------------------------------------------------------- | ------------------------------------------- |
107
- | 0 | **Spectator** | Locked — human only | N/A |
108
- | 1 | **Apprentice** | Agent suggests; human executes | Human pushes all |
109
- | 2 | **Wizard** | Scoped autonomous edits in approved paths | Agent pushes branch; PRs queued for review |
110
- | 3 | **Sorcerer** | Autonomous topic-branch work | Agent pushes and creates PR; human approves |
111
- | 4 | **Magus** | Self-merge within approved scope — the "Magus+" gate | Agent merges (fast-forward only) |
112
- | 5 | **Archmage** | Broadest autonomous authority within an approved repo | Agent drives; human approves policy changes |
113
-
114
- A common starting policy: cap ops/docs repos at **Wizard**, allow app repos up to **Archmage**, and keep repo creation at **Spectator** (human only).
115
-
116
- ### Name Suggestions (Available Pool)
117
-
118
- Every pool entry is public domain and pre-screened against the IP rule. Pick from these when assigning agents, or add your own — after running the four checks.
119
-
120
- - **Golden-age magicians (all pre-1955, public domain):** Thurston, Devant, Maskelyne, Talma, Carter, Sherezada
121
- - **Greek / Egyptian / Ancient Mythology:** Athena, Apollo, Hermes, Orpheus, Horus, Maat, Thoth, Enki, Imhotep
122
-
123
- > **Note:** "Pre-screened" is not "cleared forever" — product namespaces shift constantly. Before a pooled name goes onto anything public-facing, re-run the four checks live: coiner, estate, same-audience products, first-association per market.
124
-
125
- ---
126
-
127
- ## Systems / Services
128
-
129
- Internal tools, databases, APIs, and services use **functional names** — no persona names. These need to be immediately understood by anyone reading a log or config file.
130
-
131
- **Format:** `[project-slug]-[function]` or just `[function]` if shared.
132
-
133
- **Examples:**
134
-
135
- - `acme-store-inventory-api`
136
- - `widget-co-booking-db`
137
- - `agent-runtime-monitor`
138
- - `order-queue`
139
-
140
- ---
141
-
142
- > **Keep your real roster in your ops repo.** This template intentionally omits a live machine inventory, per-agent deployment status, and the naming decisions log — those are operator-specific instance data. Record them alongside your other org docs, not in the distributed framework.
1
+ ---
2
+ title: Naming Conventions
3
+ audience: both
4
+ last_updated: YYYY-MM-DD
5
+ status: active
6
+ distributable: true
7
+ tags: [naming, convention, machines, agents, identity]
8
+ ---
9
+
10
+ # Naming Conventions
11
+
12
+ How machines, AI agents, and systems are named across your projects. This is a **template** — adapt the theme and fill in your own roster. Your filled-in instance lives in your ops repo, not here.
13
+
14
+ ## Executive Summary
15
+
16
+ - Naming is split into three tiers: machines, AI agents, and systems/services.
17
+ - Machine names are iconic identities, agent names are persona-based, and service names are functional.
18
+ - Names must be unique, memorable, and consistent across projects to reduce operational ambiguity.
19
+ - This file is the reference for the patterns and rules; record your actual assigned names in your own ops repo.
20
+
21
+ ---
22
+
23
+ ## Naming Philosophy
24
+
25
+ Two rules govern every name in the system.
26
+
27
+ **The Naming Test:** if an established industry term exists for the thing, use the real term — a universe name has to be *earned* by the absence of one. Two dialects result: magic grammar for the personas and vocabulary, plain functional payloads for everything technical. Corollary: the more autonomous the tool, the more boring its name should be.
28
+
29
+ **The IP rule:** persona names must be **public domain or your own coinage**. No living people. No franchise-coined characters — a borrowed name is owned by whoever coined it, no matter how well it fits. Before any name ships, run the four checks: who coined it; does an estate still do business in it; do same-audience products already claim it (search live — don't trust memory); and what is its first association in each market you operate in, said aloud in every language your team speaks.
30
+
31
+ Names should be memorable, distinctive, and never repeated across categories.
32
+
33
+ The naming system has three tiers:
34
+
35
+ | Category | What Gets Named | Naming Style | Examples |
36
+ | ---------------------- | --------------------------------------------- | ----------------------------------------------------------- | -------------------------- |
37
+ | **Machines** | Physical hardware (PCs, servers, laptops) | Legendary / iconic figures — the "heavy hitters" | Atlas, Goliath-class names |
38
+ | **AI Agents** | Autonomous agents running operations | Public-domain characters — smart, capable, distinct personality | Merlin, Athena, Prospero |
39
+ | **Systems / Services** | Databases, APIs, internal tools | Functional names — clear, descriptive | Inventory API, OrderQueue |
40
+
41
+ ---
42
+
43
+ ## Machines
44
+
45
+ Machines get the most powerful, iconic names. These are the foundational hardware — they deserve heavyweight identifiers.
46
+
47
+ | Machine | Example Name | Why |
48
+ | ----------------------------- | ------------ | ---------------------------------------------------------------- |
49
+ | Primary workstation | **Atlas** | The one that carries the load — your most powerful build/dev box |
50
+ | Laptop | **Voyager** | The mobile unit that travels with you |
51
+ | Secondary / home server | **Nimbus** | Always-on node bridging local and cloud environments |
52
+
53
+ **Hostname convention:** use the same name everywhere, cased per platform — e.g., Windows hostname `ATLAS`, Linux hostname `atlas`, in documentation `Atlas` (TitleCase).
54
+
55
+ ---
56
+
57
+ ## AI Agents
58
+
59
+ Agents get persona names paired with a role. The persona name is the primary identifier — what you call it in conversation, logs, and dashboards. The role is metadata that describes what it does.
60
+
61
+ ### Format
62
+
63
+ ```
64
+ [Persona Name] — [Role Title] / [Responsibility Summary]
65
+ ```
66
+
67
+ ### Assignment Rules
68
+
69
+ - One persona name per agent, globally unique across all projects.
70
+ - An agent may serve multiple projects but keeps the same name and role everywhere.
71
+ - If an agent's role changes significantly, it gets a new name (don't reuse names for different roles).
72
+ - If you collaborate with other operators who run their own Arcane instances, reserve names across instances so they don't collide.
73
+
74
+ ### Default Roster (Arcane personas)
75
+
76
+ Arcane ships with twelve default agent personas, organized by functional cluster. Use them as-is, rename them to your chosen universe, or define your own. The persona definitions live in `.github/agents/` (and `agents/*.yaml`); deployment state (which projects each serves, status, git identity) belongs in your ops repo.
77
+
78
+ | Persona | Epithet | Role | Cluster |
79
+ | ------------- | -------------------- | --------------------------- | -------------- |
80
+ | **Kellar** | the Maestro | Product Operations Manager | Foundation |
81
+ | **Merlin** | the Archmage | CTO / Architecture Lead | Guide |
82
+ | **Alexander** | the Man Who Knows | Research & Backlog Analyst | Mind |
83
+ | **Custodio** | the Warden | Security Operations | Bridge |
84
+ | **Lince** | the Unmasker | QA Lead | Guardian |
85
+ | **Mercurio** | the Swift | Mobile Developer | Build Team |
86
+ | **Adelaide** | the Illusionist | Frontend Developer | Build Team |
87
+ | **Lafayette** | the Conjuror | Full-Stack Developer | Build Team |
88
+ | **Circe** | the Charmweaver | Marketing Strategist | Voice |
89
+ | **Bess** | the Herald | Operations Communications | Voice |
90
+ | **Iris** | the Emissary | External Collaboration Lead | Bridge |
91
+ | **Prospero** | the Stormcaller | DevOps / CI/CD Engineer | Infrastructure |
92
+
93
+ Twelve legendary agents — the Arcanos. Every namesake is public domain: golden-age stage magicians (Kellar, Lafayette, Adelaide, Alexander, Bess), myth and classic literature (Merlin, Circe, Iris, Prospero, Mercurio), and coinages from living vocabulary (Lince — *ojo de lince*; Custodio — *ángel custodio*). Lince is never anglicized.
94
+
95
+ **Role consolidation (ADR-031):** Framework-specific dev roles (.NET, Blazor, React, Flutter, MAUI) are consolidated into generic roles (Full-Stack, Frontend, Mobile). The framework/stack is a prompt parameter, not an agent identity. This scales without needing a new agent for every technology.
96
+
97
+ **Naming policy:** All agent names should be positive characters — beings, not objects — with a clear thematic connection to their role.
98
+
99
+ **Canonical agent identity domain:** Use a single domain for all agent and tool Git identities — e.g., `merlin@{OPERATOR_DOMAIN}`. See [[DECISIONS#ADR-028|ADR-028]] for the full attribution model.
100
+
101
+ ### Power Levels (ADR-032)
102
+
103
+ Agent autonomy is assigned per agent × per repo using gamified power levels. See [[DECISIONS#ADR-032|ADR-032]] for full rationale. This is the single canonical ladder — every other document mirrors it. The teachable gradient: **wizards study, sorcerers wield, magi command.**
104
+
105
+ | Level | Name | Behavior | Push Model |
106
+ | ----- | -------------- | ------------------------------------------------------- | ------------------------------------------- |
107
+ | 0 | **Spectator** | Locked — human only | N/A |
108
+ | 1 | **Apprentice** | Agent suggests; human executes | Human pushes all |
109
+ | 2 | **Wizard** | Scoped autonomous edits in approved paths | Agent pushes branch; PRs queued for review |
110
+ | 3 | **Sorcerer** | Autonomous topic-branch work | Agent pushes and creates PR; human approves |
111
+ | 4 | **Magus** | Self-merge within approved scope — the "Magus+" gate | Agent merges (fast-forward only) |
112
+ | 5 | **Archmage** | Broadest autonomous authority within an approved repo | Agent drives; human approves policy changes |
113
+
114
+ A common starting policy: cap ops/docs repos at **Wizard**, allow app repos up to **Archmage**, and keep repo creation at **Spectator** (human only).
115
+
116
+ ### Name Suggestions (Available Pool)
117
+
118
+ Every pool entry is public domain and pre-screened against the IP rule. Pick from these when assigning agents, or add your own — after running the four checks.
119
+
120
+ - **Golden-age magicians (all pre-1955, public domain):** Thurston, Devant, Maskelyne, Talma, Carter, Sherezada
121
+ - **Greek / Egyptian / Ancient Mythology:** Athena, Apollo, Hermes, Orpheus, Horus, Maat, Thoth, Enki, Imhotep
122
+
123
+ > **Note:** "Pre-screened" is not "cleared forever" — product namespaces shift constantly. Before a pooled name goes onto anything public-facing, re-run the four checks live: coiner, estate, same-audience products, first-association per market.
124
+
125
+ ---
126
+
127
+ ## Systems / Services
128
+
129
+ Internal tools, databases, APIs, and services use **functional names** — no persona names. These need to be immediately understood by anyone reading a log or config file.
130
+
131
+ **Format:** `[project-slug]-[function]` or just `[function]` if shared.
132
+
133
+ **Examples:**
134
+
135
+ - `acme-store-inventory-api`
136
+ - `widget-co-booking-db`
137
+ - `agent-runtime-monitor`
138
+ - `order-queue`
139
+
140
+ ---
141
+
142
+ > **Keep your real roster in your ops repo.** This template intentionally omits a live machine inventory, per-agent deployment status, and the naming decisions log — those are operator-specific instance data. Record them alongside your other org docs, not in the distributed framework.