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.
- package/README.md +92 -0
- package/agents/fos-executor.md +460 -0
- package/agents/fos-plan-checker.md +386 -0
- package/agents/fos-planner.md +416 -0
- package/agents/fos-researcher.md +358 -0
- package/agents/fos-verifier.md +491 -0
- package/bin/fos-tools.cjs +794 -0
- package/bin/install.js +234 -0
- package/commands/fos/add-feature.md +29 -0
- package/commands/fos/discuss.md +31 -0
- package/commands/fos/execute.md +35 -0
- package/commands/fos/new-app.md +39 -0
- package/commands/fos/new-milestone.md +28 -0
- package/commands/fos/next.md +29 -0
- package/commands/fos/plan.md +37 -0
- package/commands/fos/ship.md +29 -0
- package/commands/fos/status.md +22 -0
- package/package.json +30 -0
- package/references/app-patterns.md +501 -0
- package/references/deployment.md +395 -0
- package/references/module-inference.md +349 -0
- package/references/sdk-surface.md +1622 -0
- package/references/verification-rules.md +404 -0
- package/templates/app/gitignore +25 -0
- package/templates/app/index.css +111 -0
- package/templates/app/index.html +19 -0
- package/templates/app/layout.tsx +45 -0
- package/templates/app/main-router.tsx +17 -0
- package/templates/app/main-simple.tsx +19 -0
- package/templates/app/package.json +36 -0
- package/templates/app/postcss.config.js +5 -0
- package/templates/app/router.tsx +22 -0
- package/templates/app/sdk-context.tsx +33 -0
- package/templates/app/test-setup.ts +19 -0
- package/templates/app/tsconfig.json +22 -0
- package/templates/app/vercel.json +127 -0
- package/templates/app/vite.config.ts +15 -0
- package/templates/state/context.md +248 -0
- package/templates/state/manifest.json +11 -0
- package/templates/state/plan.md +187 -0
- package/templates/state/project.md +118 -0
- package/templates/state/requirements.md +133 -0
- package/templates/state/roadmap.md +129 -0
- package/templates/state/state.md +131 -0
- package/templates/state/summary.md +273 -0
- package/workflows/add-feature.md +234 -0
- package/workflows/discuss.md +310 -0
- package/workflows/execute-plan.md +222 -0
- package/workflows/execute.md +338 -0
- package/workflows/new-app.md +331 -0
- package/workflows/new-milestone.md +258 -0
- package/workflows/next.md +157 -0
- package/workflows/plan.md +310 -0
- package/workflows/ship.md +296 -0
- 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>
|