frontier-os-app-builder 1.0.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.
Files changed (55) hide show
  1. package/README.md +92 -0
  2. package/agents/fos-executor.md +460 -0
  3. package/agents/fos-plan-checker.md +386 -0
  4. package/agents/fos-planner.md +416 -0
  5. package/agents/fos-researcher.md +358 -0
  6. package/agents/fos-verifier.md +491 -0
  7. package/bin/fos-tools.cjs +794 -0
  8. package/bin/install.js +234 -0
  9. package/commands/fos/add-feature.md +29 -0
  10. package/commands/fos/discuss.md +31 -0
  11. package/commands/fos/execute.md +35 -0
  12. package/commands/fos/new-app.md +39 -0
  13. package/commands/fos/new-milestone.md +28 -0
  14. package/commands/fos/next.md +29 -0
  15. package/commands/fos/plan.md +37 -0
  16. package/commands/fos/ship.md +29 -0
  17. package/commands/fos/status.md +22 -0
  18. package/package.json +30 -0
  19. package/references/app-patterns.md +501 -0
  20. package/references/deployment.md +395 -0
  21. package/references/module-inference.md +349 -0
  22. package/references/sdk-surface.md +1622 -0
  23. package/references/verification-rules.md +404 -0
  24. package/templates/app/gitignore +25 -0
  25. package/templates/app/index.css +111 -0
  26. package/templates/app/index.html +19 -0
  27. package/templates/app/layout.tsx +45 -0
  28. package/templates/app/main-router.tsx +17 -0
  29. package/templates/app/main-simple.tsx +19 -0
  30. package/templates/app/package.json +36 -0
  31. package/templates/app/postcss.config.js +5 -0
  32. package/templates/app/router.tsx +22 -0
  33. package/templates/app/sdk-context.tsx +33 -0
  34. package/templates/app/test-setup.ts +19 -0
  35. package/templates/app/tsconfig.json +22 -0
  36. package/templates/app/vercel.json +127 -0
  37. package/templates/app/vite.config.ts +15 -0
  38. package/templates/state/context.md +248 -0
  39. package/templates/state/manifest.json +11 -0
  40. package/templates/state/plan.md +187 -0
  41. package/templates/state/project.md +118 -0
  42. package/templates/state/requirements.md +133 -0
  43. package/templates/state/roadmap.md +129 -0
  44. package/templates/state/state.md +131 -0
  45. package/templates/state/summary.md +273 -0
  46. package/workflows/add-feature.md +234 -0
  47. package/workflows/discuss.md +310 -0
  48. package/workflows/execute-plan.md +222 -0
  49. package/workflows/execute.md +338 -0
  50. package/workflows/new-app.md +331 -0
  51. package/workflows/new-milestone.md +258 -0
  52. package/workflows/next.md +157 -0
  53. package/workflows/plan.md +310 -0
  54. package/workflows/ship.md +296 -0
  55. package/workflows/status.md +145 -0
@@ -0,0 +1,145 @@
1
+ <purpose>
2
+ Display a comprehensive, formatted status of the current Frontier OS app project. Shows app identity, milestone, SDK modules, phase progress, permissions, and the next recommended action. Read-only — does not modify any state.
3
+ </purpose>
4
+
5
+ <required_reading>
6
+ Read all files referenced by the invoking prompt's execution_context before starting.
7
+ </required_reading>
8
+
9
+ <available_agent_types>
10
+ This workflow does not spawn subagents — it reads state and displays.
11
+ </available_agent_types>
12
+
13
+ <process>
14
+
15
+ <step name="check_project_exists" priority="first">
16
+ **Verify .frontier-app/ exists.**
17
+
18
+ ```bash
19
+ test -d .frontier-app && echo "exists" || echo "missing"
20
+ ```
21
+
22
+ **If missing:**
23
+ ```
24
+ No Frontier OS app found in this directory.
25
+
26
+ Run `/fos:new-app` to create one.
27
+ ```
28
+ Exit workflow.
29
+ </step>
30
+
31
+ <step name="load_all_state">
32
+ **Read all state files.**
33
+
34
+ ```bash
35
+ STATE_JSON=$(node "$HOME/.claude/frontier-os-app-builder/bin/fos-tools.cjs" state json)
36
+ MANIFEST=$(cat .frontier-app/manifest.json)
37
+ ```
38
+
39
+ Read these files:
40
+ 1. `.frontier-app/STATE.md` — Full state with frontmatter and body
41
+ 2. `.frontier-app/ROADMAP.md` — Phase list, details, progress table
42
+ 3. `.frontier-app/manifest.json` — Modules, permissions, phase definitions
43
+ 4. `.frontier-app/PROJECT.md` — App name, description, core value, SDK modules
44
+
45
+ Parse from STATE.md frontmatter: `milestone`, `phase`, `plan`, `status`, `next_action`.
46
+ Parse from manifest: `name`, `description`, `devPort`, `modules`, `permissions`, `phases`.
47
+ </step>
48
+
49
+ <step name="scan_phase_artifacts">
50
+ **Scan each phase directory for artifacts.**
51
+
52
+ For each phase defined in the manifest or ROADMAP.md:
53
+
54
+ ```bash
55
+ PHASES_DIR=".frontier-app/phases"
56
+ for PHASE_DIR in "$PHASES_DIR"/*/; do
57
+ PHASE_NUM=$(basename "$PHASE_DIR" | cut -d- -f1)
58
+ PHASE_NAME=$(basename "$PHASE_DIR" | cut -d- -f2-)
59
+
60
+ # Count artifacts
61
+ CONTEXT=$(test -f "$PHASE_DIR/${PHASE_NUM}-CONTEXT.md" && echo "yes" || echo "no")
62
+ RESEARCH=$(test -f "$PHASE_DIR/${PHASE_NUM}-RESEARCH.md" && echo "yes" || echo "no")
63
+ PLANS=$(ls "$PHASE_DIR/"*-PLAN.md 2>/dev/null | wc -l | tr -d ' ')
64
+ SUMMARIES=$(ls "$PHASE_DIR/"*-SUMMARY.md 2>/dev/null | wc -l | tr -d ' ')
65
+
66
+ echo "$PHASE_NUM|$PHASE_NAME|$CONTEXT|$RESEARCH|$PLANS|$SUMMARIES"
67
+ done
68
+ ```
69
+
70
+ **Determine phase status from artifacts:**
71
+ - No context, no plans: "Not started"
72
+ - Context exists, no plans: "Discussed"
73
+ - Plans exist, no summaries: "Planned"
74
+ - Some summaries: "In progress ([done]/[total])"
75
+ - All summaries: "Complete"
76
+ </step>
77
+
78
+ <step name="display_status">
79
+ **Display the formatted status report.**
80
+
81
+ ```
82
+ ## [App Name] — Project Status
83
+
84
+ **Description:** [from manifest or PROJECT.md]
85
+ **Milestone:** [version] | **Status:** [from STATE.md]
86
+ **Dev Port:** [from manifest]
87
+
88
+ ### SDK Modules
89
+
90
+ | Module | Key Methods | Status |
91
+ |--------|-------------|--------|
92
+ | Storage | get, set, remove | Active |
93
+ | Chain | getCurrentNetwork | Active |
94
+ | [Module] | [methods] | Active |
95
+
96
+ ### Phase Progress
97
+
98
+ | # | Phase | Context | Plans | Done | Status |
99
+ |---|-------|---------|-------|------|--------|
100
+ | 1 | Scaffold + SDK Core | [yes/no] | [count] | [count]/[total] | [status] |
101
+ | 2 | [Feature Name] | [yes/no] | [count] | [count]/[total] | [status] |
102
+ | 3 | [Feature Name] | [yes/no] | [count] | [count]/[total] | [status] |
103
+
104
+ **Overall Progress:** [completed phases]/[total phases] phases | [completed plans]/[total plans] plans
105
+
106
+ [Progress bar visualization:]
107
+ [##########..........] 50%
108
+
109
+ ### Current Position
110
+
111
+ **Phase [N]:** [Phase Name]
112
+ **Status:** [Human-readable: "Discussed, ready to plan" / "2 of 3 plans executed" / etc.]
113
+ **Last Activity:** [from STATE.md]
114
+
115
+ ### Permissions ([count])
116
+
117
+ ```
118
+ [List all permissions from manifest, grouped by module:]
119
+
120
+ wallet:
121
+ - wallet:getBalance
122
+ - wallet:getBalanceFormatted
123
+ - wallet:transferFrontierDollar
124
+
125
+ events:
126
+ - events:listEvents
127
+ - events:createEvent
128
+
129
+ [etc.]
130
+ ```
131
+
132
+ ### Next Action
133
+
134
+ [From STATE.md next_action, with explanation:]
135
+
136
+ ────────────────────────────────────────
137
+ Next up: `/fos:[command] [args]`
138
+ [One-line description]
139
+
140
+ Run `/clear` first to free your context window.
141
+ ────────────────────────────────────────
142
+ ```
143
+ </step>
144
+
145
+ </process>