@eristack/ai-knowledge
dev-conventions
51 linesSource
Eristack development conventions: GitHub Flow, Changesets for user-facing package changes, core vs adapter boundaries, examples-first wiring, package docs as source of truth, HARD RULE docs+ai-knowledge every iteration, _ai-docs promote-then-delete. Use when contributing to business-libs or aligning an app with Eristack norms.
Development conventions
Full guide: knowledge/dev-conventions.md. Upgrades / Backseat matrix: load @eristack/ai-knowledge#upgrading-eristack. Repo Intent index: root AGENTS.md (generated via intent install --map).
Package design targets
- Cheap (tokens) — ≤3 files to integrate; export what apps would copy
- Predictable — same core in React + server; string-first; no silent coercion
- Reliable — Drizzle/DB default; tests on real paths; memory stores tests-only
- Clear boundaries — recommend first; consumers must not reinvent domain glue
Full table: knowledge/agent-workflow.md § Design targets.
Quick rules
- New @eristack/* package — same PR: package docs + skills + recipe + apps/web (site.ts, ecosystem-content.ts) + pnpm docs:sync — see § Shipping a new package in the full guide
- GitHub Flow — feature branch → PR → main only
- Changesets required for user-facing package changes; not for docs/CI-only
- Private deploy monorepos (consumer apps, no npm) — @eristack/local-monorepo-versioning + recipe local-monorepo-versioning, not Changesets
- Debottleneck — #package-relationships before multi-package work; pnpm debottleneck:check:ci in PR profile
- One file per package, patch on 0.1.x — pnpm changesets:check enforces (no mega changelog, no accidental 1.0.0)
- Core vs adapters — no framework imports in core; adapters are separate exports
- Child resources — credentials / refresh / formats hang off app-owned entities
- Docs — packages/<category>/<name>/docs is source of truth; don’t duplicate in the web app
- HARD RULE — every package iteration updates docs + Intent skills + recipes (if discoverable) + pnpm knowledge:sync / knowledge:check
- Scope — change only what the task needs
AI working docs (monorepo)
Three buckets: _ai-docs/wip/ (ephemeral), _ai-docs/brainstorm/ (names), _ai-docs/audit/ (snapshot). See _ai-docs/README.md.
- While working: _ai-docs/wip/<topic>/ from _template/overview.md (frontmatter: promotes-to, skills, recipes)
- When finished: promote to package docs / site / skills / recipes; sync catalog
- Delete the WIP folder after promotion