1.0.4 GitHub Actions CI (lint + typecheck + build) + README documenting the stack
Estimate: 15m · Depends on: 1.0.2, 1.0.3
Set up GitHub Actions CI in both repos (motir-core and motir-ai) so every pull request gets a green check (or fails fast). For motir-core: three jobs (lint, typecheck, build). For motir-ai: a smaller two-job setup (lint, build) since the service is minimal until Epic 4. Plus write the canonical READMEs.
Why a real README matters more than usual: Motir's planner agent (Epic 4) will inject README.md as context into every subtask prompt. A vague README ("a web app") produces vague output. A specific README ("Next.js 15 App Router + Prisma + Postgres + Tailwind + tRPC v11 + NextAuth v5") gives the coding agent everything it needs to make stack-appropriate choices.
The open-source pitch goes in motir-core's README: "Motir is the open-source PM substrate for AI-native project management. GPL-3.0 licensed. Companion to the closed-source motir-ai planning service." This is the first thing a security-cautious enterprise will read; it should be specific about what's open and what isn't, and link to vision.html principle #19 for the rationale.
What you'll do: In motir-core, create .github/workflows/ci.yml with three jobs running in parallel (lint, typecheck, build); all need Node 20+, pnpm, and the pnpm cache action; build also needs a Postgres service container. Write motir-core/README.md with the structure below (acceptance criteria). In motir-ai, create a smaller CI workflow with two jobs (lint, build) — no DB needed yet. Write motir-ai/README.md declaring it's closed-source, companion to motir-core.
Acceptance criteria
- motir-core:
.github/workflows/ci.ymlexists; runs on every PR + push tomain; three jobs (lint,typecheck,build) in parallel; Node 20 LTS + pnpm cache;buildjob has a Postgres service container. - motir-ai:
.github/workflows/ci.ymlexists with two jobs (lint,build); no DB service needed yet. - Both repos: CI completes in <3 min on a fresh clone.
- motir-core README.md has these sections in order:
- Title + 1-line pitch.
- Open source — explicit "GPL-3.0; this is the PM substrate. The closed-source planning intelligence ships separately as
motir-ai" — with a link to vision.html principle #19. - Stack (bulleted: framework, runtime, DB, ORM, auth, styling, tests, deploy).
- Local setup (3 commands:
pnpm install,./scripts/db-up.sh,pnpm dev). - Project layout.
- Testing.
- Docs (links to
/docsand the discovery tier docs in this very planning corpus). - License — name GPL-3.0, link to LICENSE file.
- motir-ai README.md is short: title, "closed-source AI service — see
motir-corefor the open-source companion", proprietary license notice, dev-setup commands. - README's Stack section is the authoritative reference for every later prompt. Keep it short, specific, link-rich.
- Open a placeholder PR in each repo; verify CI passes.
Context refs
- GitHub Actions docs (Node + pnpm setup pattern)
package.json— the lint/typecheck/build scripts exist by nowdocker-compose.yml(from 1.0.2) — for the Postgres service config- Project pitch from
vision.htmlhero — to seed the README intro