arcane-cli 0.14.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/LICENSE +21 -0
- package/README.md +253 -0
- package/dist/assets/.arcane/agents/agent-policies-template.md +414 -0
- package/dist/assets/.arcane/governance/agent-approved-paths.md +60 -0
- package/dist/assets/.arcane/governance/agent-policies.md +414 -0
- package/dist/assets/.arcane/governance/agent-work-queue-model.md +61 -0
- package/dist/assets/.arcane/governance/authentication-strategy.md +220 -0
- package/dist/assets/.arcane/governance/cicd-standards.md +227 -0
- package/dist/assets/.arcane/governance/decision-documentation-standard.md +335 -0
- package/dist/assets/.arcane/governance/development-methodology.md +384 -0
- package/dist/assets/.arcane/governance/git-conventions.md +759 -0
- package/dist/assets/.arcane/governance/hardening-checklist.md +117 -0
- package/dist/assets/.arcane/governance/naming-conventions.md +142 -0
- package/dist/assets/.arcane/governance/new-business-setup.md +182 -0
- package/dist/assets/.arcane/governance/poc-management-pattern.md +190 -0
- package/dist/assets/.arcane/governance/portable-bootstrap.md +101 -0
- package/dist/assets/.arcane/governance/product-excellence-standards.md +211 -0
- package/dist/assets/.arcane/governance/rca-process-standard.md +157 -0
- package/dist/assets/.arcane/governance/spell-authoring-standards.md +129 -0
- package/dist/assets/.arcane/governance/testing-standards.md +158 -0
- package/dist/assets/.arcane/governance/threat-model.md +104 -0
- package/dist/assets/.arcane/governance/universal-agent-rules.md +108 -0
- package/dist/assets/.arcane/image-prompts/adelaide-image-prompt.md +140 -0
- package/dist/assets/.arcane/image-prompts/alexander-image-prompt.md +138 -0
- package/dist/assets/.arcane/image-prompts/bess-image-prompt.md +139 -0
- package/dist/assets/.arcane/image-prompts/circe-image-prompt.md +143 -0
- package/dist/assets/.arcane/image-prompts/custodio-image-prompt.md +140 -0
- package/dist/assets/.arcane/image-prompts/iris-image-prompt.md +139 -0
- package/dist/assets/.arcane/image-prompts/kellar-image-prompt.md +141 -0
- package/dist/assets/.arcane/image-prompts/lafayette-image-prompt.md +140 -0
- package/dist/assets/.arcane/image-prompts/lince-image-prompt.md +142 -0
- package/dist/assets/.arcane/image-prompts/mercurio-image-prompt.md +140 -0
- package/dist/assets/.arcane/image-prompts/merlin-image-prompt.md +139 -0
- package/dist/assets/.arcane/image-prompts/prospero-image-prompt.md +141 -0
- package/dist/assets/.arcane/templates/venture-template/overview.md +66 -0
- package/dist/assets/.claude/commands/spell-address-review.md +9 -0
- package/dist/assets/.claude/commands/spell-arcane-version.md +9 -0
- package/dist/assets/.claude/commands/spell-architect.md +9 -0
- package/dist/assets/.claude/commands/spell-bootstrap-business.md +9 -0
- package/dist/assets/.claude/commands/spell-brainstorm.md +9 -0
- package/dist/assets/.claude/commands/spell-bug.md +9 -0
- package/dist/assets/.claude/commands/spell-bump.md +9 -0
- package/dist/assets/.claude/commands/spell-check-drift.md +9 -0
- package/dist/assets/.claude/commands/spell-close-session.md +9 -0
- package/dist/assets/.claude/commands/spell-commit-work.md +9 -0
- package/dist/assets/.claude/commands/spell-create-pull-request.md +9 -0
- package/dist/assets/.claude/commands/spell-document.md +9 -0
- package/dist/assets/.claude/commands/spell-dotnet-expert.md +9 -0
- package/dist/assets/.claude/commands/spell-eas-ios-deploy.md +9 -0
- package/dist/assets/.claude/commands/spell-enchant.md +9 -0
- package/dist/assets/.claude/commands/spell-explain-concept.md +9 -0
- package/dist/assets/.claude/commands/spell-feedback.md +9 -0
- package/dist/assets/.claude/commands/spell-full-cycle.md +9 -0
- package/dist/assets/.claude/commands/spell-generate-bot-icons.md +9 -0
- package/dist/assets/.claude/commands/spell-implement.md +9 -0
- package/dist/assets/.claude/commands/spell-open-session.md +9 -0
- package/dist/assets/.claude/commands/spell-plan.md +9 -0
- package/dist/assets/.claude/commands/spell-present-arcane.md +9 -0
- package/dist/assets/.claude/commands/spell-product-review.md +9 -0
- package/dist/assets/.claude/commands/spell-review-batch.md +9 -0
- package/dist/assets/.claude/commands/spell-review.md +9 -0
- package/dist/assets/.claude/commands/spell-save-idea.md +9 -0
- package/dist/assets/.claude/commands/spell-scope.md +9 -0
- package/dist/assets/.claude/commands/spell-security-review.md +9 -0
- package/dist/assets/.claude/commands/spell-ship.md +9 -0
- package/dist/assets/.claude/commands/spell-status.md +9 -0
- package/dist/assets/.claude/commands/spell-suggest-feature.md +9 -0
- package/dist/assets/.claude/commands/spell-test.md +9 -0
- package/dist/assets/.claude/commands/spell-todo.md +9 -0
- package/dist/assets/.github/agents/adelaide.agent.md +44 -0
- package/dist/assets/.github/agents/alexander.agent.md +43 -0
- package/dist/assets/.github/agents/bess.agent.md +42 -0
- package/dist/assets/.github/agents/circe.agent.md +43 -0
- package/dist/assets/.github/agents/custodio.agent.md +44 -0
- package/dist/assets/.github/agents/iris.agent.md +43 -0
- package/dist/assets/.github/agents/kellar.agent.md +43 -0
- package/dist/assets/.github/agents/lafayette.agent.md +42 -0
- package/dist/assets/.github/agents/lince.agent.md +43 -0
- package/dist/assets/.github/agents/mercurio.agent.md +43 -0
- package/dist/assets/.github/agents/merlin.agent.md +44 -0
- package/dist/assets/.github/agents/prospero.agent.md +43 -0
- package/dist/assets/.github/instructions/agent-output.instructions.md +48 -0
- package/dist/assets/.github/prompts/spell-address-review.prompt.md +114 -0
- package/dist/assets/.github/prompts/spell-arcane-version.prompt.md +82 -0
- package/dist/assets/.github/prompts/spell-architect.prompt.md +116 -0
- package/dist/assets/.github/prompts/spell-bootstrap-business.prompt.md +73 -0
- package/dist/assets/.github/prompts/spell-brainstorm.prompt.md +124 -0
- package/dist/assets/.github/prompts/spell-bug.prompt.md +109 -0
- package/dist/assets/.github/prompts/spell-bump.prompt.md +73 -0
- package/dist/assets/.github/prompts/spell-check-drift.prompt.md +97 -0
- package/dist/assets/.github/prompts/spell-close-session.prompt.md +189 -0
- package/dist/assets/.github/prompts/spell-commit-work.prompt.md +211 -0
- package/dist/assets/.github/prompts/spell-create-pull-request.prompt.md +170 -0
- package/dist/assets/.github/prompts/spell-document.prompt.md +83 -0
- package/dist/assets/.github/prompts/spell-dotnet-expert.prompt.md +117 -0
- package/dist/assets/.github/prompts/spell-eas-ios-deploy.prompt.md +183 -0
- package/dist/assets/.github/prompts/spell-enchant.prompt.md +385 -0
- package/dist/assets/.github/prompts/spell-explain-concept.prompt.md +69 -0
- package/dist/assets/.github/prompts/spell-feedback.prompt.md +113 -0
- package/dist/assets/.github/prompts/spell-full-cycle.prompt.md +201 -0
- package/dist/assets/.github/prompts/spell-generate-bot-icons.prompt.md +84 -0
- package/dist/assets/.github/prompts/spell-implement.prompt.md +101 -0
- package/dist/assets/.github/prompts/spell-open-session.prompt.md +116 -0
- package/dist/assets/.github/prompts/spell-plan.prompt.md +145 -0
- package/dist/assets/.github/prompts/spell-present-arcane.prompt.md +188 -0
- package/dist/assets/.github/prompts/spell-product-review.prompt.md +97 -0
- package/dist/assets/.github/prompts/spell-review-batch.prompt.md +94 -0
- package/dist/assets/.github/prompts/spell-review.prompt.md +131 -0
- package/dist/assets/.github/prompts/spell-save-idea.prompt.md +83 -0
- package/dist/assets/.github/prompts/spell-scope.prompt.md +263 -0
- package/dist/assets/.github/prompts/spell-security-review.prompt.md +129 -0
- package/dist/assets/.github/prompts/spell-ship.prompt.md +104 -0
- package/dist/assets/.github/prompts/spell-status.prompt.md +85 -0
- package/dist/assets/.github/prompts/spell-suggest-feature.prompt.md +110 -0
- package/dist/assets/.github/prompts/spell-test.prompt.md +87 -0
- package/dist/assets/.github/prompts/spell-todo.prompt.md +126 -0
- package/dist/assets/DECISIONS.md +19 -0
- package/dist/assets/TODO.md +7 -0
- package/dist/assets/agents/architecture-lead.yaml +61 -0
- package/dist/assets/agents/collaborator.yaml +59 -0
- package/dist/assets/agents/devops.yaml +60 -0
- package/dist/assets/agents/frontend-dev.yaml +60 -0
- package/dist/assets/agents/fullstack-dev.yaml +59 -0
- package/dist/assets/agents/marketing-strategist.yaml +60 -0
- package/dist/assets/agents/mobile-dev.yaml +59 -0
- package/dist/assets/agents/operations-comms.yaml +58 -0
- package/dist/assets/agents/orchestrator.yaml +60 -0
- package/dist/assets/agents/qa-lead.yaml +60 -0
- package/dist/assets/agents/research-analyst.yaml +59 -0
- package/dist/assets/agents/security-ops.yaml +61 -0
- package/dist/assets/ai-context/system-prompt-context.md +32 -0
- package/dist/assets/journal/.gitkeep +0 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +2313 -0
- package/dist/index.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Linux Security Hardening Checklist
|
|
3
|
+
audience: human
|
|
4
|
+
last_updated: YYYY-MM-DD
|
|
5
|
+
status: active
|
|
6
|
+
distributable: true
|
|
7
|
+
tags: [security, hardening, linux]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Linux Security Hardening Checklist
|
|
11
|
+
|
|
12
|
+
Step-by-step hardening for a Linux host that will run an autonomous agent runtime.
|
|
13
|
+
|
|
14
|
+
## Executive Summary
|
|
15
|
+
|
|
16
|
+
- This checklist is the operational sequence for securing a host before production use.
|
|
17
|
+
- It translates threat-model risks into actionable controls with verification steps.
|
|
18
|
+
- Completion status here should be reflected in your security audit log.
|
|
19
|
+
- Use this as an execution checklist, not a conceptual guide.
|
|
20
|
+
|
|
21
|
+
See also: [Threat Model](threat-model.md), [Authentication Strategy](authentication-strategy.md)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Pre-Checklist: Know Your Environment
|
|
26
|
+
|
|
27
|
+
- [ ] Confirm OS distribution and version (e.g. `lsb_release -a`)
|
|
28
|
+
- [ ] Confirm kernel version (e.g. `uname -r`)
|
|
29
|
+
- [ ] Document machine hostname (`{HOST}`) and primary user account (`{OPERATOR_USERNAME}`)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 1. System Updates
|
|
34
|
+
|
|
35
|
+
- [ ] Update all packages (e.g. `sudo apt update && sudo apt upgrade -y`)
|
|
36
|
+
- [ ] Enable unattended security updates so patches land automatically
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 2. User & Privilege Management
|
|
41
|
+
|
|
42
|
+
- [ ] Disable direct root login; use `sudo` only
|
|
43
|
+
- [ ] Audit the sudoers file — confirm only necessary users have sudo
|
|
44
|
+
- [ ] Remove or lock unused accounts
|
|
45
|
+
- [ ] Keep any `NOPASSWD` sudoers exceptions narrowly scoped to a single binary, never a wildcard
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 3. SSH (if enabled)
|
|
50
|
+
|
|
51
|
+
- [ ] Disable password authentication — key-based only
|
|
52
|
+
- [ ] Disable root login over SSH (`PermitRootLogin no`)
|
|
53
|
+
- [ ] Change the default SSH port if externally exposed
|
|
54
|
+
- [ ] Enable a brute-force guard (e.g. fail2ban) if SSH is reachable from untrusted networks
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 4. Source Control (Git)
|
|
59
|
+
|
|
60
|
+
- [ ] Configure an SSH key for your Git host (prefer Ed25519, fall back to RSA 4096 if rejected)
|
|
61
|
+
- [ ] Use SSH remote URLs so credentials are not embedded in URLs or prompted interactively
|
|
62
|
+
- [ ] Keep SSH private keys with mode `600` (`chmod 600 ~/.ssh/id_*`)
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 5. Firewall & Network
|
|
67
|
+
|
|
68
|
+
- [ ] Enable a host firewall (e.g. UFW)
|
|
69
|
+
- [ ] Default deny inbound traffic
|
|
70
|
+
- [ ] Allow only the inbound ports that are strictly required
|
|
71
|
+
- [ ] Enable firewall logging
|
|
72
|
+
|
|
73
|
+
**Adjacent hosts (general guidance):**
|
|
74
|
+
- [ ] Disable network discovery and file sharing on machines sharing the LAN with the agent host
|
|
75
|
+
Rationale: minimize attack surface, especially with an autonomous agent on the same network. Prefer on-demand, explicit file transfer over always-on sharing.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 6. Drive Protection
|
|
80
|
+
|
|
81
|
+
- [ ] Ensure foreign/sensitive drives are not auto-mounted (omit from `/etc/fstab`, or list with `noauto`)
|
|
82
|
+
- [ ] Enable full-disk encryption on drives holding sensitive data, so they are unreadable from another OS or a stolen disk
|
|
83
|
+
- [ ] Verify encryption: attempt to mount the encrypted volume from another OS and confirm it fails
|
|
84
|
+
|
|
85
|
+
### Full-Disk Encryption Notes (general best practices)
|
|
86
|
+
|
|
87
|
+
- **Never store the only recovery key on the encrypted drive.** Keep it in at least two places: a trusted backup location and an offline printed copy.
|
|
88
|
+
- **Treat boot-partition directories as critical** — deleting boot entries can render the machine unbootable and require recovery media.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## 7. Agent Runtime
|
|
93
|
+
|
|
94
|
+
- [ ] Define which user account the agent runtime runs as — run as a non-root user
|
|
95
|
+
- [ ] Bind the gateway/control plane to loopback only (no LAN exposure)
|
|
96
|
+
- [ ] Authenticate the gateway with a token loaded from an env var / secret manager — never in a committed config file
|
|
97
|
+
- [ ] Set the runtime state directory to mode `700` (user-only)
|
|
98
|
+
- [ ] Remove dead or default-permissive command allow/deny rules left over from onboarding
|
|
99
|
+
- [ ] Run the runtime's security audit and resolve critical findings
|
|
100
|
+
- [ ] Define which directories the runtime has write access to; scope per agent where possible
|
|
101
|
+
- [ ] Define network egress rules — enumerate which external endpoints the runtime may reach
|
|
102
|
+
- [ ] Establish a logging review schedule for agent actions (e.g. spot-check weekly, full review monthly)
|
|
103
|
+
- [ ] Configure tool hardening: deny shell exec where not needed, restrict filesystem scope per agent
|
|
104
|
+
- [ ] Store all API keys via env var / secret manager (mode `600` on any `.env`), never plaintext in config
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 8. Remote Access
|
|
109
|
+
|
|
110
|
+
- [ ] Provide remote access through an encrypted tunnel or VPN rather than open inbound ports
|
|
111
|
+
- [ ] Enable TLS/HTTPS for any remotely reachable endpoint
|
|
112
|
+
- [ ] Review the access list — confirm only expected devices can reach the gateway
|
|
113
|
+
- [ ] Re-verify the device/access list whenever topology changes
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
*Expand each section with the specific commands and verification steps used in your environment, and log completed steps in your security audit log.*
|
|
@@ -0,0 +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.
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: New Business Setup Guide
|
|
3
|
+
audience: both
|
|
4
|
+
status: draft
|
|
5
|
+
distributable: true
|
|
6
|
+
tags: [playbook, setup, onboarding, replicability, attribution]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# New Business Setup Guide
|
|
10
|
+
|
|
11
|
+
The master guide for spinning up a new business ({venture}) under {LLC_NAME} using agent automation.
|
|
12
|
+
|
|
13
|
+
## Executive Summary
|
|
14
|
+
|
|
15
|
+
- This playbook is the replication path from idea to operational business environment.
|
|
16
|
+
- It sequences project creation, infrastructure alignment, security prerequisites, and agent readiness.
|
|
17
|
+
- Follow this guide to reduce setup variance and avoid re-solving known operational decisions.
|
|
18
|
+
- Use this as the default onboarding runbook for every new business launch.
|
|
19
|
+
|
|
20
|
+
**Goal:** Follow this guide once and a new business is fully operational — project, repos, the agent runtime configured, infrastructure documented, legal basics covered.
|
|
21
|
+
|
|
22
|
+
> **How this guide was built:** Every step here is meant to be done manually at least once for a new {venture}. As steps are validated, they get automated. Check the `scripts/` folder — if a script exists for a step, run the script instead of doing it by hand.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Before You Start
|
|
27
|
+
|
|
28
|
+
Have the following ready:
|
|
29
|
+
|
|
30
|
+
- [ ] Business name decided (both brand name and slug, e.g. `{venture}`)
|
|
31
|
+
- [ ] Business type clear (e-commerce, app, protocol, service)
|
|
32
|
+
- [ ] Access to your version-control host / project organization
|
|
33
|
+
- [ ] The agent runtime installed and operational
|
|
34
|
+
- [ ] Full-disk encryption confirmed active on any machine that holds credentials or working copies
|
|
35
|
+
- [ ] System clock correct and time sync enabled. **Critical:** an incorrect system clock breaks all SSL/HTTPS connections silently.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Phase 1 — Project & Repo Setup
|
|
40
|
+
|
|
41
|
+
### Step 1.1 — Create the Project
|
|
42
|
+
|
|
43
|
+
1. Open your version-control host's project organization
|
|
44
|
+
2. Create a **New Project**
|
|
45
|
+
3. Name: the business slug (use your org's naming convention)
|
|
46
|
+
4. Description: brief one-liner describing the business
|
|
47
|
+
5. Visibility: **Private**
|
|
48
|
+
6. Version control: **Git**
|
|
49
|
+
7. Work item process: pick your tracker's default (Agile/Scrum/Kanban)
|
|
50
|
+
|
|
51
|
+
> **Script:** `scripts/create-project.ps1` — automate once the manual steps are validated.
|
|
52
|
+
|
|
53
|
+
### Step 1.2 — Create Repos
|
|
54
|
+
|
|
55
|
+
Inside the new project, create repos based on business type:
|
|
56
|
+
|
|
57
|
+
**E-commerce business:**
|
|
58
|
+
- `storefront` — platform config, theme, automation scripts
|
|
59
|
+
- `inventory` — SKU tracking, reorder logic
|
|
60
|
+
- `marketing` — social content, SEO, copy templates
|
|
61
|
+
|
|
62
|
+
**App business:**
|
|
63
|
+
- `app` — application code
|
|
64
|
+
- `api` — backend/API
|
|
65
|
+
- `requirements` — specs, wireframes, design docs
|
|
66
|
+
|
|
67
|
+
**Protocol / whitepaper:**
|
|
68
|
+
- `whitepaper` — the spec document
|
|
69
|
+
|
|
70
|
+
To create a repo: Project → **Repos** → **New repository** → name → **Create**.
|
|
71
|
+
|
|
72
|
+
### Step 1.3 — Copy Business Template into Docs Repo
|
|
73
|
+
|
|
74
|
+
In your docs/ops repo, copy `ventures/_template/` to `ventures/{venture}/` as a **reference hub** and fill in:
|
|
75
|
+
|
|
76
|
+
- `overview.md` — what the business is, current status, automation scope, blockers
|
|
77
|
+
- links/pointers to the business's dedicated project repos for runtime artifacts
|
|
78
|
+
|
|
79
|
+
> **Boundary rule:** the ops/docs repo stores shared framework + references. Business runtime artifacts live in business-specific project repos.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Phase 2 — Infrastructure & Security
|
|
84
|
+
|
|
85
|
+
### Step 2.1 — Confirm Security Baseline
|
|
86
|
+
|
|
87
|
+
Before running the agent runtime for any new business, verify:
|
|
88
|
+
|
|
89
|
+
- [ ] Full-disk encryption active on machines holding credentials or working copies
|
|
90
|
+
- [ ] Host hardening checklist complete ([[security/hardening-checklist|Hardening Checklist]])
|
|
91
|
+
- [ ] Agent policies reviewed for this business ([[agents/agent-policies|Agent Policies]])
|
|
92
|
+
- [ ] Runtime hardening enforcement checklist executed
|
|
93
|
+
|
|
94
|
+
### Step 2.2 — Clone the Docs Repo
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git clone <docs-repo-url> ~/code/{repo}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Phase 3 — Agent Runtime Configuration
|
|
103
|
+
|
|
104
|
+
### Step 3.1 — Install the Agent Runtime (if not already installed)
|
|
105
|
+
|
|
106
|
+
See [[agents/installation|Runtime Installation]].
|
|
107
|
+
|
|
108
|
+
### Step 3.2 — Configure the Runtime for This Business
|
|
109
|
+
|
|
110
|
+
- Use the reference template in [[ventures/_template/overview|Business Template]] to capture scope and links
|
|
111
|
+
- Apply business-specific runtime configuration in that business's own project repos and environment
|
|
112
|
+
- Review [[agents/agent-policies|Agent Policies]] — adjust permitted actions if needed for this business type
|
|
113
|
+
|
|
114
|
+
### Step 3.3 — Agent Git Identity Setup
|
|
115
|
+
|
|
116
|
+
Every agent that will produce commits for this business must have a registered Git identity **before making its first commit**. See [[governance/git-conventions#agent-attribution-model|Git Conventions — Agent Attribution]].
|
|
117
|
+
|
|
118
|
+
For each agent assigned to this business:
|
|
119
|
+
|
|
120
|
+
1. **Confirm persona name** is registered in [[naming-conventions|Naming Conventions]] agent roster.
|
|
121
|
+
2. **Confirm Git identity** exists in the registered identities table in [[governance/git-conventions#agent-email-convention|Git Conventions]].
|
|
122
|
+
3. **Add agent to `.mailmap`** in every repo the agent will commit to:
|
|
123
|
+
```
|
|
124
|
+
{AGENT_NAME} <{AGENT_EMAIL}>
|
|
125
|
+
```
|
|
126
|
+
4. **Verify** you can commit with the agent's author:
|
|
127
|
+
```bash
|
|
128
|
+
git commit --allow-empty --author="{AGENT_NAME} <{AGENT_EMAIL}>" \
|
|
129
|
+
--trailer="Agent=kellar" --trailer="Model=test" --trailer="Provider=test" \
|
|
130
|
+
-m "test: verify agent git identity for {AGENT_NAME}"
|
|
131
|
+
git log -1 # confirm author shows {AGENT_NAME}
|
|
132
|
+
git reset HEAD~1 # clean up test commit
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Step 3.4 — Test Run
|
|
136
|
+
|
|
137
|
+
Run the agent runtime in dry-run / observation mode first. Do not let it execute live actions until you've reviewed its behavior.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Phase 4 — Legal Baseline
|
|
142
|
+
|
|
143
|
+
### Step 4.1 — Business Entity
|
|
144
|
+
|
|
145
|
+
- Confirm operations run under {LLC_NAME}
|
|
146
|
+
- If this business has meaningfully different liability exposure (e.g. physical goods vs. software), consult an attorney
|
|
147
|
+
|
|
148
|
+
### Step 4.2 — Sales Tax (Physical Goods Only)
|
|
149
|
+
|
|
150
|
+
- Register for sales tax in your home jurisdiction if not already done
|
|
151
|
+
- Identify nexus states based on where you'll sell
|
|
152
|
+
- Configure tax collection on the platform (Shopify, Etsy, etc.)
|
|
153
|
+
|
|
154
|
+
### Step 4.3 — Platform Terms of Service
|
|
155
|
+
|
|
156
|
+
- Review the selling platform's ToS for AI-generated listings/content
|
|
157
|
+
- Review your agent runtime's ToS for commercial use
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Phase 5 — First Launch Checklist
|
|
162
|
+
|
|
163
|
+
- [ ] At least 10 product listings live (or equivalent for non-e-commerce)
|
|
164
|
+
- [ ] Order/fulfillment workflow tested end-to-end
|
|
165
|
+
- [ ] The agent runtime running and monitored (see `agents/monitoring.md`)
|
|
166
|
+
- [ ] Legal baseline complete
|
|
167
|
+
- [ ] `ventures/{venture}/overview.md` status updated to reflect live status
|
|
168
|
+
- [ ] Journal entry written in `journal/YYYY-MM-DD-topic-slug.md` documenting launch
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## What to Automate Next
|
|
173
|
+
|
|
174
|
+
As you complete this guide manually for each business, flag steps that are repetitive and mechanical. Those become scripts. Priority candidates:
|
|
175
|
+
|
|
176
|
+
- Project + repo creation (`scripts/create-project.ps1`)
|
|
177
|
+
- Runtime config generation from a template (`scripts/configure-runtime.sh`)
|
|
178
|
+
- Repo initialization with standard folder structure
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
*Fill in this guide as you go. Every blank or TBD here is something you'll encounter during your first {venture} setup — document it then, not in advance.*
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: POC Management Pattern
|
|
3
|
+
audience: both
|
|
4
|
+
last_updated: YYYY-MM-DD
|
|
5
|
+
status: active
|
|
6
|
+
distributable: true
|
|
7
|
+
tags: [governance, poc, prototypes, ideas, lifecycle, methodology]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# POC Management Pattern
|
|
11
|
+
|
|
12
|
+
How ideas move from concept to product. Establishes folder conventions, artifact expectations per stage, iteration tracking, and promotion criteria. Complements the [[governance/development-methodology|Spell Loop]] methodology.
|
|
13
|
+
|
|
14
|
+
Related: [[governance/development-methodology|Development Methodology]]
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Lifecycle Stages
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
CONCEPT ──► PROTOTYPE ──► FEATURE ──► PRODUCT
|
|
22
|
+
ventures/ Prototypes features/ business repo
|
|
23
|
+
(docs repo) (prototypes repo) (code repo) (code repo)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
| Stage | Location | Purpose | Work item? | Code allowed? |
|
|
27
|
+
|---|---|---|---|---|
|
|
28
|
+
| **Concept** | `ventures/<name>/` in the docs repo | Capture and refine an idea. Permanent archive. | No | No |
|
|
29
|
+
| **Prototype** | `<name>/` in the Prototypes repo | Small throwaway demo generated from specs. | No | Yes |
|
|
30
|
+
| **Feature** | `features/{id}-{slug}/` in target code repo | Full Spell Loop execution with planning artifacts. | Yes (tracker) | Yes |
|
|
31
|
+
| **Product** | Target code repo main branch | Shipped, maintained code. Business docs in the docs repo. | Yes (tracker) | Yes |
|
|
32
|
+
|
|
33
|
+
### Stage Details
|
|
34
|
+
|
|
35
|
+
#### Concept (`ventures/<name>/`)
|
|
36
|
+
|
|
37
|
+
The permanent record of every idea — good, bad, or deferred. Ideas are **never deleted**. Frontmatter `status` tracks where each idea is in its lifecycle.
|
|
38
|
+
|
|
39
|
+
**Required files:**
|
|
40
|
+
- `overview.md` — What is it? Why does it matter? Who is it for? (Minimum viable concept doc.)
|
|
41
|
+
|
|
42
|
+
**Optional files:**
|
|
43
|
+
- `PRD.md` — If the idea has been through `spell-plan`
|
|
44
|
+
- `architecture.md` — If the idea has been through `spell-architect`
|
|
45
|
+
- `stories.json` — If architecture produced story breakdown
|
|
46
|
+
- Screenshots in `assets/screenshots/YYYY-MM-DD/` (linked from docs)
|
|
47
|
+
|
|
48
|
+
**What does NOT belong here:** Code files (`.js`, `.ts`, `.py`, `.html`, `.css`, etc.). The docs repo is a documentation-only repository.
|
|
49
|
+
|
|
50
|
+
#### Prototype (Prototypes repo)
|
|
51
|
+
|
|
52
|
+
Small, self-contained, throwaway code that demonstrates a concept. Prototypes are **convenience snapshots, not source-of-truth code**. In the vibe coding era, the spec (PRD + architecture) is the reproducible artifact — code can be regenerated from it at any time.
|
|
53
|
+
|
|
54
|
+
**Required files per prototype:**
|
|
55
|
+
- `README.md` — What it demos + link back to the concept spec in arcane (e.g., `See specs: arcane/ventures/magic-prompt/`)
|
|
56
|
+
- Whatever code files the demo needs
|
|
57
|
+
|
|
58
|
+
**Folder convention:** `<name>/` at repo root (e.g., `magic-prompt/`, `self-healing-poc/`)
|
|
59
|
+
|
|
60
|
+
**No governance overhead:** No PRs required, no work items, no branch policies. This is a sandbox. Commit directly to main.
|
|
61
|
+
|
|
62
|
+
#### Feature (`features/{id}-{slug}/`)
|
|
63
|
+
|
|
64
|
+
An idea that has entered the [[governance/development-methodology|Spell Loop]] with a tracker work item. Planning artifacts (PRD, architecture, stories.json) live in the target **code repo**, not the docs repo.
|
|
65
|
+
|
|
66
|
+
#### Product
|
|
67
|
+
|
|
68
|
+
Feature merged to main and shipped. Business-level documentation lives in `ventures/<name>/` in arcane.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Idea Frontmatter Status
|
|
73
|
+
|
|
74
|
+
Every file in `ventures/<name>/` uses this frontmatter `status` field:
|
|
75
|
+
|
|
76
|
+
| Status | Meaning |
|
|
77
|
+
|---|---|
|
|
78
|
+
| `concept` | Captured but not yet explored. Initial state. |
|
|
79
|
+
| `exploring` | Actively being refined — PRD in progress, research happening. |
|
|
80
|
+
| `prototyping` | Code prototype exists in the Prototypes repo. |
|
|
81
|
+
| `promoted` | Entered Spell Loop as a feature in a code repo. Link to tracker work item. |
|
|
82
|
+
| `parked` | Not dead, but not active. May revisit later. |
|
|
83
|
+
| `archived` | Explored and intentionally abandoned. Keep for historical record. |
|
|
84
|
+
|
|
85
|
+
Set `status` in the overview.md (or PRD.md if that's the primary doc). When an idea is promoted, add `promoted_to` with the target repo and work item:
|
|
86
|
+
|
|
87
|
+
```yaml
|
|
88
|
+
status: promoted
|
|
89
|
+
promoted_to:
|
|
90
|
+
repo: "{ORG}/{repo}"
|
|
91
|
+
work_item: 0
|
|
92
|
+
date: YYYY-MM-DD
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
When an idea has a prototype, add `prototype_repo`:
|
|
96
|
+
|
|
97
|
+
```yaml
|
|
98
|
+
status: prototyping
|
|
99
|
+
prototype_repo: "{ORG}/prototypes"
|
|
100
|
+
prototype_path: magic-prompt
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Iteration Tracking
|
|
106
|
+
|
|
107
|
+
Ideas evolve. Track iterations without complex versioning:
|
|
108
|
+
|
|
109
|
+
1. **Use the idea's overview.md (or PRD) changelog section.** Add a `## Changelog` heading at the bottom with dated entries:
|
|
110
|
+
```markdown
|
|
111
|
+
## Changelog
|
|
112
|
+
- YYYY-MM-DD: Initial concept captured
|
|
113
|
+
- YYYY-MM-DD: PRD and architecture added (spell-plan + spell-architect)
|
|
114
|
+
- YYYY-MM-DD: Prototype v1 pushed to Prototypes repo
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
2. **Screenshots:** Save evidence of each meaningful state to `assets/screenshots/YYYY-MM-DD/` per [[assets/screenshots/README|screenshot conventions]]. Link from the changelog.
|
|
118
|
+
|
|
119
|
+
3. **Git history is the version control.** Don't create `v1/`, `v2/` folders. The idea folder is a living document — git tracks every change.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Promotion Criteria
|
|
124
|
+
|
|
125
|
+
### Concept → Prototype
|
|
126
|
+
|
|
127
|
+
No formal gate. If someone (human or agent) wants to see the idea running, generate code from the spec and push to the Prototypes repo. The concept spec in `ventures/` stays as-is.
|
|
128
|
+
|
|
129
|
+
### Concept/Prototype → Feature
|
|
130
|
+
|
|
131
|
+
All of these must be true:
|
|
132
|
+
- [ ] A tracker work item exists (User Story or Feature)
|
|
133
|
+
- [ ] A business track owns it (maps to a `ventures/<name>/` folder or a project)
|
|
134
|
+
- [ ] A target code repo exists (or needs to be created; repo creation is human-only)
|
|
135
|
+
- [ ] The idea has at least a PRD (`spell-plan` output)
|
|
136
|
+
|
|
137
|
+
When promoted: update the idea's frontmatter to `status: promoted` with `promoted_to` metadata. The idea folder stays in arcane forever as the historical record.
|
|
138
|
+
|
|
139
|
+
### Feature → Product
|
|
140
|
+
|
|
141
|
+
Standard Spell Loop completion: `spell-implement` → `spell-test` → `spell-review` → `spell-ship`. Feature branch merged to main in the code repo.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Non-Code Ideas
|
|
146
|
+
|
|
147
|
+
Not every idea needs code. Image projects, design concepts, process improvements, and research topics stay at concept stage permanently. They live in `ventures/<name>/` with an `overview.md` and never need a prototype.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Specs-First Principle
|
|
152
|
+
|
|
153
|
+
> **The PRD + architecture are the reproducible artifact. Code is ephemeral.**
|
|
154
|
+
|
|
155
|
+
In the vibe coding era, a well-written spec can regenerate a prototype in minutes. This means:
|
|
156
|
+
- **Invest in the spec**, not the code. A good PRD with clear requirements and a solid architecture doc is worth more than throwaway prototype code.
|
|
157
|
+
- **Don't mourn lost prototypes.** If prototype code is deleted, damaged, or outdated, regenerate it from the spec.
|
|
158
|
+
- **The Prototypes repo is a convenience**, not a vault. It holds the latest snapshot of demo code. It is not versioned, tagged, or released.
|
|
159
|
+
- **When an idea enters the Spell Loop**, the spec travels to the code repo (as `features/{id}-{slug}/PRD.md`). The prototype in the Prototypes repo can be abandoned.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Relationship to Existing Patterns
|
|
164
|
+
|
|
165
|
+
| Pattern | How it connects |
|
|
166
|
+
|---|---|
|
|
167
|
+
| [[governance/development-methodology\|Spell Loop]] | Ideas enter the loop at `spell-plan`. Concept stage is pre-loop exploration. |
|
|
168
|
+
| Repo routing | Code → code repos. Docs → the docs repo. Prototypes → Prototypes repo. |
|
|
169
|
+
| Repo governance | Repo creation is human-only. Prototypes repo is a single shared repo, not per-POC. |
|
|
170
|
+
| Feature folders | Feature planning artifacts live in the target code repo under `features/`. |
|
|
171
|
+
| `ventures/<name>/` | Business-level docs for shipped products. Ideas that graduate here are fully promoted. |
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Quick Reference
|
|
176
|
+
|
|
177
|
+
**I have a new idea:**
|
|
178
|
+
→ Create `ventures/<name>/overview.md` with `status: concept`
|
|
179
|
+
|
|
180
|
+
**I want to see it running:**
|
|
181
|
+
→ Generate code from the spec, push to `Prototypes/<name>/` with a README linking to the spec
|
|
182
|
+
|
|
183
|
+
**I want to build it for real:**
|
|
184
|
+
→ Create a tracker work item, run `spell-plan`, move planning artifacts to target code repo `features/{id}-{slug}/`, update idea status to `promoted`
|
|
185
|
+
|
|
186
|
+
**The idea didn't work out:**
|
|
187
|
+
→ Set `status: archived` in the idea frontmatter. Add a note explaining why. Keep forever.
|
|
188
|
+
|
|
189
|
+
**I want to revisit a parked idea:**
|
|
190
|
+
→ Set `status: exploring`, update the changelog, and continue refining the spec
|