- Use atomic commits with conventional commit messages
- After making any fix, always run
bun run clean && bun run setup && bun testto do a clean rebuild and confirm everything works from scratch before considering the fix complete. A fix is not verified until clean build + tests pass. - Every user-facing change (new features, API changes, new components, config changes) requires updating the relevant docs under
docs/content/docs/. - Breaking changes require a migration guide in
docs/content/docs/guides/migration.mdx. - ink-web bundles ink (a Node.js CLI framework) for the browser. Any new dependency that imports Node.js built-ins (fs, child_process, tty, net, etc.) will break the Next.js docs build unless
packages/ink-web/scripts/fix-bundled-fs.tsis updated to stub the import. The script must handle all import forms: static (import X from), namespace (import * as X from), and dynamic (await import()). - To release a new version: bump
versioninpackages/ink-web/package.json, runbun run buildandbun test, commit asrelease: vX.Y.Z, thencd packages/ink-web && npm publish, thengit tag vX.Y.Z && git push && git push --tags.