cleanup - removing ai agent for deterministic code and better formatting
This commit is contained in:
13
README.md
13
README.md
@@ -2,7 +2,7 @@
|
||||
|
||||
A shared, multi-user web app with two meeting tools:
|
||||
|
||||
- **Field Problem Workshop** — capture field problems, cluster them into root problems, dot-vote, build "breadcrumb" trails from problem to measurable outcome, and assign actions. Includes an optional AI draft feature.
|
||||
- **Field Problem Workshop** — capture field problems, cluster them into root problems, dot-vote, build "breadcrumb" trails from problem to measurable outcome, and assign actions. A "Suggest fields" button fills each breadcrumb from built-in construction-execution methodology (no external service).
|
||||
- **Scope Lock Meeting Suite** — Scope Boundary Board, MVP Priority Ranker, Decision Registry, and Micron Pilot Readiness.
|
||||
|
||||
Everyone who opens the same link works from the **same data**, stored on a shared server. Edits autosave, and a version check stops two people from silently overwriting each other. The original single-file HTML versions are kept in [`legacy/`](./legacy) for reference.
|
||||
@@ -32,14 +32,14 @@ docker compose logs -f app # watch app logs
|
||||
|
||||
Data persists in a Docker volume (`db_data`), so it survives restarts.
|
||||
|
||||
To enable the **AI draft** feature, provide an Anthropic API key before starting — either export `ANTHROPIC_API_KEY` in your shell or put it in a `.env` file next to `docker-compose.yml`. Without a key the AI button simply fails politely; everything else works.
|
||||
There are no API keys or external accounts to set up. The "Suggest fields" button runs entirely in-app from a built-in methodology table.
|
||||
|
||||
## Local development (without Docker)
|
||||
|
||||
Needs Node 20+ and a PostgreSQL you can reach.
|
||||
|
||||
```bash
|
||||
cp .env.example .env # edit DATABASE_URL (and ANTHROPIC_API_KEY if wanted)
|
||||
cp .env.example .env # edit DATABASE_URL
|
||||
npm install
|
||||
psql "$DATABASE_URL" -f db/init.sql # create the schema once
|
||||
npm run dev # http://localhost:5173
|
||||
@@ -54,8 +54,6 @@ All config is via environment variables — see [`.env.example`](./.env.example)
|
||||
| Variable | Purpose |
|
||||
|---|---|
|
||||
| `DATABASE_URL` | Postgres connection string. Set automatically by docker-compose. |
|
||||
| `ANTHROPIC_API_KEY` | Enables the "AI draft" button. Blank = feature disabled. |
|
||||
| `ANTHROPIC_MODEL` | Model for AI drafting (default `claude-sonnet-5`). |
|
||||
| `PORT` | Server port (default 3000). |
|
||||
| `ORIGIN` | Public URL the app is served from; used to validate POST origins. |
|
||||
|
||||
@@ -67,6 +65,7 @@ src/
|
||||
app.html page shell
|
||||
lib/
|
||||
types.ts data shapes for both tools
|
||||
breadcrumbs.ts methodology table + keyword classifier ("Suggest fields")
|
||||
workspace.svelte.ts client sync: load / autosave / poll / conflict handling
|
||||
toast.svelte.ts shared toast controller
|
||||
components/ Toast.svelte, SyncBadge.svelte
|
||||
@@ -74,7 +73,6 @@ src/
|
||||
server/
|
||||
db/index.ts Postgres connection pool (lazy)
|
||||
db/workspaces.ts load / save / reset with optimistic concurrency
|
||||
ai.ts Anthropic proxy (holds the API key server-side)
|
||||
routes/
|
||||
+layout.svelte imports global CSS
|
||||
+page.svelte home / tool picker
|
||||
@@ -83,7 +81,6 @@ src/
|
||||
api/
|
||||
workspaces/[tool]/[name]/+server.ts GET (load) + PUT (save)
|
||||
workspaces/[tool]/[name]/reset/+server.ts POST (reset to baseline)
|
||||
ai/draft/+server.ts POST (AI breadcrumb draft)
|
||||
db/init.sql database schema (runs once on first DB startup)
|
||||
static/favicon.svg
|
||||
Dockerfile, docker-compose.yml
|
||||
@@ -108,7 +105,7 @@ It requires, on your Gitea instance: Actions enabled with a registered `act_runn
|
||||
|
||||
## The `.skill` file
|
||||
|
||||
`legacy/construction-breadcrumbs.skill` is a **Claude skill** (a zip of instructions + a methodology knowledge base). It is not part of the website — it teaches Claude how to draft breadcrumb fields using construction methodology (EVM, CII AWP, Last Planner, first-time quality). The same knowledge is embedded server-side in `src/lib/server/ai.ts`, which powers the app's AI draft button. Install the skill in Claude (via "Save skill") to use the methodology in any chat.
|
||||
`legacy/construction-breadcrumbs.skill` is a **Claude skill** (a zip of instructions + a methodology knowledge base). It is not part of the website — it teaches Claude how to draft breadcrumb fields using construction methodology (EVM, CII AWP, Last Planner, first-time quality). The same methodology is encoded, deterministically and offline, in [`src/lib/breadcrumbs.ts`](./src/lib/breadcrumbs.ts), which powers the app's "Suggest fields" button. Install the skill in Claude (via "Save skill") to use the methodology in any chat.
|
||||
|
||||
## Possible next steps
|
||||
|
||||
|
||||
Reference in New Issue
Block a user