Initialize project structure with core files, environment settings, and basic configurations

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-23 17:19:55 -04:00
commit 14a07bca7a
12 changed files with 622 additions and 0 deletions

29
thoughts.md Normal file
View File

@@ -0,0 +1,29 @@
# thoughts.md
## Current Status
- Scaffold complete: `charactergarden/` folder structure created per spec section 9
- Core contracts defined in `app/src/types.ts`: Entity, Action, Verb, ValidationResult, StateChange, GameEvent, Turn, Belief, Summary
- `docker-compose.yml` created; ollama service gated behind `--profile llm` (not required for MVP)
- `.env` created with defaults
- Nothing is implemented yet — no logic, no database, no server
## Current Architecture Decisions
- App: Node.js + Fastify + TypeScript
- Frontend: React + Vite + TypeScript
- Database: better-sqlite3 (synchronous, no ORM)
- Ollama is optional; system must work without it (per section 14)
- `Event` type renamed `GameEvent` in code to avoid collision with the DOM `Event` global
## Next Steps
1. Implement Truth Engine (`app/src/truthEngine.ts`) — pure validation, no I/O
2. Add SQLite schema + db module (`app/src/db.ts`) with the 5 tables from section 7
3. Implement App service / turn flow (`app/src/index.ts`) per section 6
4. Add Fastify route `POST /turn` that executes the full pipeline
5. Stub LLM adapter (`app/src/llmAdapter.ts`) with a fallback parser
## Open Questions
- Should room/location be an Entity attribute or a separate entity type?
- What is the initial world state for the MVP (12 rooms, ≤3 characters)?
## Session Notes
- 2026-04-23: Project started. Scaffold and type contracts created. No logic yet.