Project engineering
Ensures HeyEddi projects have the right engineering stack: Vue (Vite/Vitest), FastAPI backend, or Firebase tooling. Audits gaps, scaffolds as needed, installs deps, runs tests, documents local dev servers. Use when the repo is thin or before design/feature work on any HeyEddi app.From its SKILL.md
npx -y skills add HeyEddi-com/skills --skill project-engineeringAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.3 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
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:
{ "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 | HeyEddi intro (agents + humans workspace), free skills, heyeddi.com/humans |
stack.json | Declared stacks |
product.md | Product brief |
design.md | DESIGN.md format: tokens, rationale, Decision log |
designs/<feature>/ | Handoff PNGs, briefs, wireframes |
docs/ | Skill-generated reports (ship, PR tracking, drift audits) |
Save all skill-created documents under .heyeddi/docs/ (or the paths above) so the team can reference them later. Root PRODUCT.md / DESIGN.md / designs/ remain supported as legacy fallbacks.
Workflow
audit_scaffold: per-layer JSON (vue / fastapi / firebase).scaffold_stack --stack auto: fills gaps (preferred overscaffold_vuealone).ensure_npm+ensure_pythonas needed.dev_server_info: all local servers (Vue :5173, API :8090, Firebase emulators :4000).- Implement features (design skills, composables, etc.).
write_test_stub+run_tests+run_backend_tests.verify-build+pre-merge-gate.
Local dev servers
| Stack | Command | URL |
|---|---|---|
| Vue | npm run dev | http://localhost:5173 |
| FastAPI | cd backend && poetry run uvicorn app.main:app --reload --port 8090 | http://localhost:8090/docs |
| Firebase | firebase emulators:start | http://localhost:4000 (UI) |
Run dev_server_info for project-specific steps. Each server needs its own terminal.
References
reference/dev-server.md: Vuereference/fastapi-backend.md: FastAPIreference/firebase-backend.md: Firebase emulators
Related skills
backend-type-bridger: OpenAPI / Firestore → TypeScript typescomposable-patterns: FastAPI JWT vs Firebase client composablesverify-build: production frontend build
When the task is complete: suggest next skills
When you have finished the user's request for this skill (not after every tool call or subagent phase), suggest what to run next:
-
Run:
python .agents/skills/heyeddi-orchestrator/scripts/suggest_next_skill.py --current-skill project-engineering --project-root .Add
--route /pathif you worked a specific route. -
Include the script's
### Next stepblock in your final reply. The user copies the Prompt line into chat (e.g.@heyeddi-design craft /settings).
Pass --mode shape (or craft, audit, etc.) when you know which sub-command just finished.
See @heyeddi-orchestrator → reference/next-skill-handoff.md.
What ships with it: 62 files
76.5 KB alongside SKILL.md, 27 of them executable
context/
- ANTI_PATTERNS.md512 B
- EXAMPLES.md412 B
- PROSE_ANTI_SLOP.md5.6 KB
- VOCABULARY.md534 B
reference/
- dev-server.md764 B
- fastapi-backend.md814 B
- firebase-backend.md753 B
- subagents.md609 B
scaffold/
- fastapi/app/__init__.pyruns35 B
- fastapi/app/main.pyruns501 B
- fastapi/openapi.json1.1 KB
- fastapi/pyproject.toml501 B
- fastapi/tests/test_health.pyruns244 B
- firebase/.env.firebase.example260 B
- firebase/firebase.json228 B
- firebase/.firebaserc53 B
- firebase/firestore.indexes.json44 B
- firebase/firestore.rules209 B
- heyeddi/design.md8.3 KB
- heyeddi/docs/README.md220 B
- heyeddi/product.md932 B
- heyeddi/README.md2.8 KB
- heyeddi/stack.json42 B
- stack-fastapi.json71 B
- stack-firebase.json52 B
- stack-full.json83 B
- vue/DESIGN.md115 B
- vue/index.html296 B
- vue/package.json648 B
- vue/PRODUCT.md65 B
- vue/src/App.vue251 B
- vue/src/env.d.tsruns201 B
- vue/src/main.tsruns822 B
- vue/src/router/index.tsruns165 B
- vue/src/styles/tokens.css1.0 KB
- vue/tests/helpers/createViewRouter.tsruns734 B
- vue/tests/unit/App.spec.tsruns847 B
- vue/tests/unit/setup.tsruns132 B
- manifest.json5.1 KB
- reference.md145 B
22 more files not listed here. See all 62 in the repository.