project-engineeringlisted
Install: claude install-skill HeyEddi-com/heyeddi-skills
# Project Engineering
Baseline **code engineering** for HeyEddi **Vue** apps. For **Flutter** frontends use `@flutter-engineering` instead. Detects which stacks apply and adds the **correct tooling** — not one-size-fits-all.
## Subagents (default)
Delegate scaffold/audit/test scripts to **Task** `shell`; repo discovery to `explore`. Main chat picks stack from audit JSON. See `reference/subagents.md`.
## Stacks
| Stack | When | Tooling added |
|-------|------|----------------|
| **Vue** | Always for frontend work | Vite, Vitest, npm scripts, router |
| **FastAPI** | REST API backend | `backend/`, pytest, `openapi.json`, uvicorn |
| **Firebase** | Firestore / Auth client | `firebase.json`, rules, emulators, env template |
Declare intent in `.heyeddi/stack.json`:
```json
{ "frontend": "vue", "backends": ["fastapi"], "api_port": 8090 }
```
Flutter projects: `"frontend": "flutter"`, `"web_port": 8085` — see `@flutter-engineering`.
Or `"backends": ["firebase"]` or `["fastapi", "firebase"]`.
`audit_scaffold` also infers from `openapi.json`, `firestore.rules`, and `.heyeddi/product.md` (or legacy `PRODUCT.md`).
## `.heyeddi/` workspace
Every HeyEddi app should have a **`.heyeddi/`** folder (created by `scaffold_stack` / `scaffold_heyeddi`):
| Path | Purpose |
|------|---------|
| `README.md` | What HeyEddi is, free skills, how we use this folder |
| `stack.json` | Declared stacks |
| `product.md` | Product brief |
| `design.md` | DESIGN.md format — tokens, rationale, De