{"owner":"AmanVarshney01","repo":"create-better-t-stack","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":["AGENTS.md"],"skills":{"AGENTS.md":"# Repository Guidelines\n\n## Project Structure & Module Organization\n\nThis repo is a Bun + Turborepo monorepo.\n\n- `apps/cli`: published CLI (`create-better-t-stack`), with source in `apps/cli/src` and tests in `apps/cli/test`.\n- `apps/web`: Next.js docs/site (`apps/web/src`, `apps/web/content/docs`, `apps/web/public`).\n- `packages/template-generator`: template generation engine used by the CLI.\n- `packages/types`: shared schemas/types.\n- `packages/backend`: Convex backend used by web features.\n- `plugin/`: installable agent plugin (Claude Code + Codex) — skills, commands, and MCP wiring; published via the root marketplaces (`.claude-plugin/`, `.agents/plugins/`).\n\n## Build, Test, and Development Commands\n\n- `bun install`: install workspace dependencies.\n- `bun dev:cli`: watch-build CLI package.\n- `bun dev:web`: run web app locally (`next dev --port 3333`).\n- `bun build`: build all packages/apps through Turbo.\n- `bun build:cli`: build only the CLI target.\n- `bun run check`: format + lint (`oxfmt . && oxlint .`).\n- `cd apps/cli && bun run test`: run CLI tests.\n\n## Coding Style & Naming Conventions\n\n- Language: TypeScript (strict mode enabled across projects).\n- Modules: ESM-first (`\"type\": \"module\"` where applicable).\n- Formatting/linting: `oxfmt` and `oxlint`; run `bun run check` before committing.\n- File naming: prefer kebab-case files (for example `database-setup.ts`).\n- Symbols: `camelCase` for functions/variables, `PascalCase` for types/components.\n- Keep feature logic near domain folders (`helpers`, `utils`, `template-handlers`).\n\n## Error Handling Conventions\n\n- In CLI code, prefer `better-result` over ad-hoc `try/catch` for recoverable flows.\n- Return typed `Result<T, E>` and use `Result.ok`, `Result.err`, `Result.try`, and `Result.tryPromise`.\n- Reuse domain errors from `apps/cli/src/utils/errors.ts` (`CLIError`, `ProjectCreationError`, `UserCancelledError`) and convert thrown prompt errors at boundaries.\n\n## Template Authoring (Handlebars)\n\n- Templates live in `packages/template-generator/templates` and use helpers from `packages/template-generator/src/core/template-processor.ts` (`eq`, `ne`, `and`, `or`, `includes`).\n- For conditional ORM-specific output, use helper form with quoted values:\n  - `{{#if (eq orm \"prisma\")}}`\n  - `{{else if (eq orm \"drizzle\")}}`\n  - `{{/if}}`\n  - Example: `packages/template-generator/templates/packages/infra/alchemy.run.ts.hbs`.\n- When files must contain literal `{{ ... }}` (Vue/JSX/template syntax), escape opening braces as `\\{{` in `.hbs` files so Handlebars does not evaluate them.\n  - Example: `packages/template-generator/templates/frontend/nuxt/app/pages/index.vue.hbs`.\n\n## Testing Guidelines\n\n- Framework: `bun:test`.\n- Test files use `*.test.ts` naming (see `apps/cli/test` and `packages/template-generator/test`).\n- Add or update tests with behavior changes, especially prompt flows, template output, and config validation.\n- Keep tests deterministic; reuse shared setup utilities in `apps/cli/test/setup.ts`.\n\n## Commit & Pull Request Guidelines\n\n- Use Conventional Commits with scope, matching history:\n  - `feat(cli): ...`, `fix(web): ...`, `docs(cli): ...`\n- Open an issue/discussion before major feature work.\n- PRs should include:\n  - clear summary,\n  - linked issue (if applicable),\n  - verification steps run (`bun run check`, relevant tests),\n  - screenshots/GIFs for web UI changes.\n\n## Agent skills\n\n### Issue tracker\n\nIssues are tracked in GitHub Issues for `AmanVarshney01/create-better-t-stack` using the `gh` CLI. See `docs/agents/issue-tracker.md`.\n\n### Triage labels\n\nThe canonical triage roles map directly to same-named GitHub labels. See `docs/agents/triage-labels.md`.\n\n### Domain docs\n\nThis repo uses a single-context domain doc layout. See `docs/agents/domain.md`.\n"},"files":{"AGENTS.md":"# Repository Guidelines\n\n## Project Structure & Module Organization\n\nThis repo is a Bun + Turborepo monorepo.\n\n- `apps/cli`: published CLI (`create-better-t-stack`), with source in `apps/cli/src` and tests in `apps/cli/test`.\n- `apps/web`: Next.js docs/site (`apps/web/src`, `apps/web/content/docs`, `apps/web/public`).\n- `packages/template-generator`: template generation engine used by the CLI.\n- `packages/types`: shared schemas/types.\n- `packages/backend`: Convex backend used by web features.\n- `plugin/`: installable agent plugin (Claude Code + Codex) — skills, commands, and MCP wiring; published via the root marketplaces (`.claude-plugin/`, `.agents/plugins/`).\n\n## Build, Test, and Development Commands\n\n- `bun install`: install workspace dependencies.\n- `bun dev:cli`: watch-build CLI package.\n- `bun dev:web`: run web app locally (`next dev --port 3333`).\n- `bun build`: build all packages/apps through Turbo.\n- `bun build:cli`: build only the CLI target.\n- `bun run check`: format + lint (`oxfmt . && oxlint .`).\n- `cd apps/cli && bun run test`: run CLI tests.\n\n## Coding Style & Naming Conventions\n\n- Language: TypeScript (strict mode enabled across projects).\n- Modules: ESM-first (`\"type\": \"module\"` where applicable).\n- Formatting/linting: `oxfmt` and `oxlint`; run `bun run check` before committing.\n- File naming: prefer kebab-case files (for example `database-setup.ts`).\n- Symbols: `camelCase` for functions/variables, `PascalCase` for types/components.\n- Keep feature logic near domain folders (`helpers`, `utils`, `template-handlers`).\n\n## Error Handling Conventions\n\n- In CLI code, prefer `better-result` over ad-hoc `try/catch` for recoverable flows.\n- Return typed `Result<T, E>` and use `Result.ok`, `Result.err`, `Result.try`, and `Result.tryPromise`.\n- Reuse domain errors from `apps/cli/src/utils/errors.ts` (`CLIError`, `ProjectCreationError`, `UserCancelledError`) and convert thrown prompt errors at boundaries.\n\n## Template Authoring (Handlebars)\n\n- Templates live in `packages/template-generator/templates` and use helpers from `packages/template-generator/src/core/template-processor.ts` (`eq`, `ne`, `and`, `or`, `includes`).\n- For conditional ORM-specific output, use helper form with quoted values:\n  - `{{#if (eq orm \"prisma\")}}`\n  - `{{else if (eq orm \"drizzle\")}}`\n  - `{{/if}}`\n  - Example: `packages/template-generator/templates/packages/infra/alchemy.run.ts.hbs`.\n- When files must contain literal `{{ ... }}` (Vue/JSX/template syntax), escape opening braces as `\\{{` in `.hbs` files so Handlebars does not evaluate them.\n  - Example: `packages/template-generator/templates/frontend/nuxt/app/pages/index.vue.hbs`.\n\n## Testing Guidelines\n\n- Framework: `bun:test`.\n- Test files use `*.test.ts` naming (see `apps/cli/test` and `packages/template-generator/test`).\n- Add or update tests with behavior changes, especially prompt flows, template output, and config validation.\n- Keep tests deterministic; reuse shared setup utilities in `apps/cli/test/setup.ts`.\n\n## Commit & Pull Request Guidelines\n\n- Use Conventional Commits with scope, matching history:\n  - `feat(cli): ...`, `fix(web): ...`, `docs(cli): ...`\n- Open an issue/discussion before major feature work.\n- PRs should include:\n  - clear summary,\n  - linked issue (if applicable),\n  - verification steps run (`bun run check`, relevant tests),\n  - screenshots/GIFs for web UI changes.\n\n## Agent skills\n\n### Issue tracker\n\nIssues are tracked in GitHub Issues for `AmanVarshney01/create-better-t-stack` using the `gh` CLI. See `docs/agents/issue-tracker.md`.\n\n### Triage labels\n\nThe canonical triage roles map directly to same-named GitHub labels. See `docs/agents/triage-labels.md`.\n\n### Domain docs\n\nThis repo uses a single-context domain doc layout. See `docs/agents/domain.md`.\n"},"items":[{"name":"AGENTS.md","path":"AGENTS.md","title":"AGENTS.md","content":"# Repository Guidelines\n\n## Project Structure & Module Organization\n\nThis repo is a Bun + Turborepo monorepo.\n\n- `apps/cli`: published CLI (`create-better-t-stack`), with source in `apps/cli/src` and tests in `apps/cli/test`.\n- `apps/web`: Next.js docs/site (`apps/web/src`, `apps/web/content/docs`, `apps/web/public`).\n- `packages/template-generator`: template generation engine used by the CLI.\n- `packages/types`: shared schemas/types.\n- `packages/backend`: Convex backend used by web features.\n- `plugin/`: installable agent plugin (Claude Code + Codex) — skills, commands, and MCP wiring; published via the root marketplaces (`.claude-plugin/`, `.agents/plugins/`).\n\n## Build, Test, and Development Commands\n\n- `bun install`: install workspace dependencies.\n- `bun dev:cli`: watch-build CLI package.\n- `bun dev:web`: run web app locally (`next dev --port 3333`).\n- `bun build`: build all packages/apps through Turbo.\n- `bun build:cli`: build only the CLI target.\n- `bun run check`: format + lint (`oxfmt . && oxlint .`).\n- `cd apps/cli && bun run test`: run CLI tests.\n\n## Coding Style & Naming Conventions\n\n- Language: TypeScript (strict mode enabled across projects).\n- Modules: ESM-first (`\"type\": \"module\"` where applicable).\n- Formatting/linting: `oxfmt` and `oxlint`; run `bun run check` before committing.\n- File naming: prefer kebab-case files (for example `database-setup.ts`).\n- Symbols: `camelCase` for functions/variables, `PascalCase` for types/components.\n- Keep feature logic near domain folders (`helpers`, `utils`, `template-handlers`).\n\n## Error Handling Conventions\n\n- In CLI code, prefer `better-result` over ad-hoc `try/catch` for recoverable flows.\n- Return typed `Result<T, E>` and use `Result.ok`, `Result.err`, `Result.try`, and `Result.tryPromise`.\n- Reuse domain errors from `apps/cli/src/utils/errors.ts` (`CLIError`, `ProjectCreationError`, `UserCancelledError`) and convert thrown prompt errors at boundaries.\n\n## Template Authoring (Handlebars)\n\n- Templates live in `packages/template-generator/templates` and use helpers from `packages/template-generator/src/core/template-processor.ts` (`eq`, `ne`, `and`, `or`, `includes`).\n- For conditional ORM-specific output, use helper form with quoted values:\n  - `{{#if (eq orm \"prisma\")}}`\n  - `{{else if (eq orm \"drizzle\")}}`\n  - `{{/if}}`\n  - Example: `packages/template-generator/templates/packages/infra/alchemy.run.ts.hbs`.\n- When files must contain literal `{{ ... }}` (Vue/JSX/template syntax), escape opening braces as `\\{{` in `.hbs` files so Handlebars does not evaluate them.\n  - Example: `packages/template-generator/templates/frontend/nuxt/app/pages/index.vue.hbs`.\n\n## Testing Guidelines\n\n- Framework: `bun:test`.\n- Test files use `*.test.ts` naming (see `apps/cli/test` and `packages/template-generator/test`).\n- Add or update tests with behavior changes, especially prompt flows, template output, and config validation.\n- Keep tests deterministic; reuse shared setup utilities in `apps/cli/test/setup.ts`.\n\n## Commit & Pull Request Guidelines\n\n- Use Conventional Commits with scope, matching history:\n  - `feat(cli): ...`, `fix(web): ...`, `docs(cli): ...`\n- Open an issue/discussion before major feature work.\n- PRs should include:\n  - clear summary,\n  - linked issue (if applicable),\n  - verification steps run (`bun run check`, relevant tests),\n  - screenshots/GIFs for web UI changes.\n\n## Agent skills\n\n### Issue tracker\n\nIssues are tracked in GitHub Issues for `AmanVarshney01/create-better-t-stack` using the `gh` CLI. See `docs/agents/issue-tracker.md`.\n\n### Triage labels\n\nThe canonical triage roles map directly to same-named GitHub labels. See `docs/agents/triage-labels.md`.\n\n### Domain docs\n\nThis repo uses a single-context domain doc layout. See `docs/agents/domain.md`.\n","category":"root","tokens":945}]}