Jarvis Docs
Development

Phase 1 Retrospective

What worked and what should change for Phase 2

Phase 1 Retrospective

What Worked

  • Interface-first architecture — Shared contracts in self/shared/ enabled clean layer boundaries and testability
  • tRPC for API — Single type-safe contract for web and CLI; createCaller simplified integration tests
  • Vitest — Fast, TypeScript-native; consistent across all packages
  • Bootstrap pattern — createNousContext with config fallback and mock provider made development and testing smooth
  • Sub-phase structure — Goals → SDS → Implementation Plan → Code → Completion Report provided clear gates

What Should Change for Phase 2

  • Streaming — Web and CLI use mutation-only; add tRPC subscription for streaming model responses
  • AppRouter type sharing — CLI uses manual type definition; consider extracting router to shared package
  • CLI E2E — Test server works but is custom; consider shared test harness for HTTP-based E2E
  • Trace redaction scope — Document which fields are considered sensitive; refine based on Phase 2 needs
  • Docs integration — Docs run as separate app; consider embedding or unified dev experience

Carried Forward

  • Full installer E2E remains manual per platform (Ollama dependency)
  • next-env.d.ts triple-slash warning; oxlint on .next

On this page