62 lines
3.0 KiB
Markdown
62 lines
3.0 KiB
Markdown
# Phast app
|
|
|
|
Canonical source of truth for Phast app.
|
|
|
|
> **Connect your tools once. Bring your tool belt anywhere.**
|
|
|
|
Phast app gives a person one portable MCP plus a programmable Prefab home. Connect `my.phast.app/mcp` to an agent to create and manage Phast apps. A created Phast app has two matching surfaces:
|
|
|
|
- `user.phast.app` — human / Prefab home
|
|
- `user.phast.app/mcp` — the user's portable MCP tool belt
|
|
|
|
## V0 contract
|
|
|
|
`phast.json` is deliberately boring. It is mostly:
|
|
|
|
1. the MCP tool list and provider connections;
|
|
2. references to delegated credential authority (Persimmons, never raw secrets);
|
|
3. Prefab home/widget settings.
|
|
|
|
The browser and chat are two editors for the same declaration.
|
|
|
|
### Browser flow
|
|
|
|
Home → Edit Home → Add Widget → provider search → connect if necessary → place/configure widget.
|
|
|
|
### Agent flow
|
|
|
|
Connect once to `my.phast.app/mcp` → create/manage `user.phast.app` → search providers → add tools/widgets → stream/taste-test Prefab in chat → persist accepted UI to the same `phast.json`.
|
|
|
|
## Boundaries
|
|
|
|
- **Phast app composes.** It owns the portable MCP/tool belt and Prefab composition.
|
|
- **Oracle discovers.** Provider/MCP/OAuth discovery comes from the capability graph, not a hard-coded Phast app directory.
|
|
- **Persimmons holds secrets.** Phast app stores connection/authority references, not secret values.
|
|
- **Factory builds/operates.** Provisioning uses bounded deterministic infrastructure routes.
|
|
- **Clients are replaceable.** ChatGPT, Claude, Codex, or another MCP client should be able to use the same Phast app without recollecting the user's tools.
|
|
|
|
V0 is intentionally not arbitrary app generation. Prove the portable-tool-belt + editable-home loop first.
|
|
|
|
## Naming and copy
|
|
|
|
Use **Phast app** when naming the product or one of its instances; use
|
|
**Phast apps** for the plural. Write “your Phast app,” “create a Phast app,”
|
|
and “My Phast app” for the management connector. Existing all-caps display
|
|
styles may use “PHAST APP.” Apply this to page titles, metadata, navigation,
|
|
buttons, examples, generated homes, MCP display text, and documentation.
|
|
|
|
Keep deliberate substitutions for “fast”: “make something phast,”
|
|
“built phast,” and “make MCP apps phast.” Do not rename literal domains,
|
|
URLs, `phast.json`, environment variables, CSS classes, tool names, or
|
|
schema keys/values as part of a copy edit. Preserve user-chosen app names.
|
|
|
|
The public copy lives in `index.html` (phast.app), `my/index.html`
|
|
(my.phast.app), and `server.py` (generated personal homes and MCP display
|
|
text). `phast.json` supplies the management display name. Review these
|
|
surfaces together when changing product naming.
|
|
|
|
Chair review: the standalone “PHAST.” wordmark and the “My Phast” connector
|
|
label could be separate brand treatments. This change proposes “PHAST APP.”
|
|
and “My Phast app” consistently; the chair should confirm those treatments.
|
|
The phrase “your Phast” names an app instance, so it becomes “your Phast app.”
|