- apply.sh: direct-run guard (only curl | bash allowed) - apply.sh: DEV_ROOT passed as explicit arg from bootstrap - apply.sh: .ai/ copied to dev root as real folder; projects symlink there - apply.sh: counters + detailed summary (version prev→new, templated, refreshed, no-docs) - apply.sh: find errors silenced, no crash on empty dev root - .ai-superpower: added warning comment about deletion side effects - .gitignore: .ai-instructions.conf → .ai-superpower.version - scripts/: removed (hello.sh, scan-projects-with-git.sh, verify-docs-folder.sh, add-ai-context-to-docs-folder.sh) - templates: monorepo sections split into AI instructions + developer instructions - README.md: rewritten to match current architecture and behaviour - docs/apply-requirements.md: FR-2.4, FR-3, FR-5, FR-6, FR-7, FR-8 updated - docs/apply-usecases.md: full detailed Mermaid flowchart replacing placeholder
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# apply.sh — use cases
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
A([Developer]) -- "curl | bash" --> B[Bootstrap: clone or pull ai-superpower]
|
|
B -- "exec apply.sh --bootstrapped" --> C[Copy .ai/ into DEV_ROOT]
|
|
|
|
A -- "bash apply.sh" --> ERR[✗ Error: must run via curl]
|
|
|
|
C --> D[Scan dev root for .git projects]
|
|
|
|
D --> E{Projects found?}
|
|
E -- "No" --> NP[Print: no projects found]
|
|
E -- "Yes" --> G[Per-project setup]
|
|
|
|
G --> H{.ai symlink → DEV_ROOT/.ai ok?}
|
|
H -- "Missing or broken" --> I[Create symlink]
|
|
H -- "Ok" --> J[Skip]
|
|
|
|
I --> K
|
|
J --> K
|
|
|
|
K{.ai in .gitignore?}
|
|
K -- "No" --> L[Add .ai to .gitignore]
|
|
K -- "Yes" --> M[Skip]
|
|
|
|
L --> N
|
|
M --> N
|
|
|
|
N{docs/ exists?}
|
|
N -- "No" --> O[⚠ Warning: no docs/ folder]
|
|
N -- "Yes" --> P{ai-context.md exists?}
|
|
|
|
O --> S
|
|
P -- "No" --> Q[Create from template]
|
|
P -- "Yes, marker present" --> QR[Refresh from template]
|
|
P -- "Yes, no marker" --> R[Skip — developer owns file]
|
|
|
|
Q --> S
|
|
QR --> S
|
|
R --> S
|
|
|
|
S{architecture.md exists?}
|
|
S -- "No" --> T[Create from template]
|
|
S -- "Yes, marker present" --> TR[Refresh from template]
|
|
S -- "Yes, no marker" --> U[Skip — developer owns file]
|
|
|
|
T --> V
|
|
TR --> V
|
|
U --> V
|
|
|
|
V{More projects?}
|
|
V -- "Yes" --> G
|
|
V -- "No" --> W[Write .ai-superpower.version]
|
|
W --> X([✅ Done])
|