From 0da814ac8db18c1bdb15ff5d2c391e532b834f50 Mon Sep 17 00:00:00 2001 From: Aman Varshney Date: Wed, 13 Aug 2025 18:31:59 +0530 Subject: [PATCH] chore: rename vibe-rules to ruler --- .changeset/chatty-trams-joke.md | 5 +++++ apps/cli/src/constants.ts | 2 +- apps/cli/src/helpers/project-generation/template-manager.ts | 2 +- apps/cli/src/helpers/setup/addons-setup.ts | 4 ++-- .../helpers/setup/{vibe-rules-setup.ts => ruler-setup.ts} | 2 +- apps/cli/src/prompts/addons.ts | 6 +++--- apps/cli/src/types.ts | 2 +- apps/cli/templates/addons/vibe-rules/.ruler/bts.md.hbs | 2 +- apps/web/content/docs/cli/options.mdx | 2 +- apps/web/content/docs/index.mdx | 2 +- apps/web/src/app/(home)/_components/stack-builder.tsx | 2 +- apps/web/src/lib/constant.ts | 6 +++--- 12 files changed, 21 insertions(+), 16 deletions(-) create mode 100644 .changeset/chatty-trams-joke.md rename apps/cli/src/helpers/setup/{vibe-rules-setup.ts => ruler-setup.ts} (99%) diff --git a/.changeset/chatty-trams-joke.md b/.changeset/chatty-trams-joke.md new file mode 100644 index 0000000..51c4f52 --- /dev/null +++ b/.changeset/chatty-trams-joke.md @@ -0,0 +1,5 @@ +--- +"create-better-t-stack": patch +--- + +rename vibe-rules to ruler diff --git a/apps/cli/src/constants.ts b/apps/cli/src/constants.ts index a9968db..2edb2f5 100644 --- a/apps/cli/src/constants.ts +++ b/apps/cli/src/constants.ts @@ -135,7 +135,7 @@ export const ADDON_COMPATIBILITY: Record = { turborepo: [], starlight: [], ultracite: [], - "vibe-rules": [], + "ruler": [], oxlint: [], fumadocs: [], none: [], diff --git a/apps/cli/src/helpers/project-generation/template-manager.ts b/apps/cli/src/helpers/project-generation/template-manager.ts index 7b308f2..d0048f4 100644 --- a/apps/cli/src/helpers/project-generation/template-manager.ts +++ b/apps/cli/src/helpers/project-generation/template-manager.ts @@ -539,7 +539,7 @@ export async function setupAddonsTemplate( for (const addon of context.addons) { if (addon === "none") continue; - if (addon === "vibe-rules") continue; + if (addon === "ruler") continue; let addonSrcDir = path.join(PKG_ROOT, `templates/addons/${addon}`); let addonDestDir = projectDir; diff --git a/apps/cli/src/helpers/setup/addons-setup.ts b/apps/cli/src/helpers/setup/addons-setup.ts index 7b0bb0a..b89d829 100644 --- a/apps/cli/src/helpers/setup/addons-setup.ts +++ b/apps/cli/src/helpers/setup/addons-setup.ts @@ -10,7 +10,7 @@ import { setupFumadocs } from "./fumadocs-setup"; import { setupStarlight } from "./starlight-setup"; import { setupTauri } from "./tauri-setup"; import { setupUltracite } from "./ultracite-setup"; -import { setupVibeRules } from "./vibe-rules-setup"; +import { setupVibeRules } from "./ruler-setup"; import { addPwaToViteConfig } from "./vite-pwa-setup"; export async function setupAddons(config: ProjectConfig, isAddCommand = false) { @@ -87,7 +87,7 @@ ${pc.cyan("Docs:")} ${pc.underline("https://turborepo.com/docs")} await setupStarlight(config); } - if (addons.includes("vibe-rules")) { + if (addons.includes("ruler")) { await setupVibeRules(config); } if (addons.includes("fumadocs")) { diff --git a/apps/cli/src/helpers/setup/vibe-rules-setup.ts b/apps/cli/src/helpers/setup/ruler-setup.ts similarity index 99% rename from apps/cli/src/helpers/setup/vibe-rules-setup.ts rename to apps/cli/src/helpers/setup/ruler-setup.ts index 8c76500..7885e36 100644 --- a/apps/cli/src/helpers/setup/vibe-rules-setup.ts +++ b/apps/cli/src/helpers/setup/ruler-setup.ts @@ -20,7 +20,7 @@ export async function setupVibeRules(config: ProjectConfig) { PKG_ROOT, "templates", "addons", - "vibe-rules", + "ruler", ".ruler", ); diff --git a/apps/cli/src/prompts/addons.ts b/apps/cli/src/prompts/addons.ts index c844673..9da2fbd 100644 --- a/apps/cli/src/prompts/addons.ts +++ b/apps/cli/src/prompts/addons.ts @@ -42,8 +42,8 @@ function getAddonDisplay(addon: Addons): { label: string; hint: string } { label = "Ultracite"; hint = "Zero-config Biome preset with AI integration"; break; - case "vibe-rules": - label = "vibe-rules"; + case "ruler": + label = "Ruler"; hint = "Install and apply BTS rules to editors"; break; case "husky": @@ -69,7 +69,7 @@ function getAddonDisplay(addon: Addons): { label: string; hint: string } { const ADDON_GROUPS = { Documentation: ["starlight", "fumadocs"], Linting: ["biome", "oxlint", "ultracite"], - Other: ["vibe-rules", "turborepo", "pwa", "tauri", "husky"], + Other: ["ruler", "turborepo", "pwa", "tauri", "husky"], }; export async function getAddonsChoice( diff --git a/apps/cli/src/types.ts b/apps/cli/src/types.ts index 2f5d57d..a769345 100644 --- a/apps/cli/src/types.ts +++ b/apps/cli/src/types.ts @@ -43,7 +43,7 @@ export const AddonsSchema = z "starlight", "biome", "husky", - "vibe-rules", + "ruler", "turborepo", "fumadocs", "ultracite", diff --git a/apps/cli/templates/addons/vibe-rules/.ruler/bts.md.hbs b/apps/cli/templates/addons/vibe-rules/.ruler/bts.md.hbs index 58d2443..2ad0229 100644 --- a/apps/cli/templates/addons/vibe-rules/.ruler/bts.md.hbs +++ b/apps/cli/templates/addons/vibe-rules/.ruler/bts.md.hbs @@ -106,7 +106,7 @@ add Available addons you can add: - **Documentation**: Starlight, Fumadocs - **Linting**: Biome, Oxlint, Ultracite -- **Other**: vibe-rules, Turborepo, PWA, Tauri, Husky +- **Other**: Ruler, Turborepo, PWA, Tauri, Husky You can also add web deployment configurations like Cloudflare Workers support. diff --git a/apps/web/content/docs/cli/options.mdx b/apps/web/content/docs/cli/options.mdx index 9e891b2..7650925 100644 --- a/apps/web/content/docs/cli/options.mdx +++ b/apps/web/content/docs/cli/options.mdx @@ -228,7 +228,7 @@ Additional features to include: - `turborepo`: Turborepo monorepo setup - `ultracite`: Ultracite configuration - `oxlint`: Oxlint fast linting -- `vibe-rules`: Vibe Rules configuration +- `ruler`: Centralize your AI rules with Ruler ```bash create-better-t-stack --addons pwa biome husky diff --git a/apps/web/content/docs/index.mdx b/apps/web/content/docs/index.mdx index aaf0ae4..3e9e76f 100644 --- a/apps/web/content/docs/index.mdx +++ b/apps/web/content/docs/index.mdx @@ -255,7 +255,7 @@ See the full list in the [CLI Reference](/docs/cli). Key flags: - `--orm`: drizzle, prisma, mongoose, none - `--api`: trpc, orpc, none - `--addons`: turborepo, pwa, tauri, biome, husky, starlight, none -- `--addons`: turborepo, pwa, tauri, biome, husky, starlight, fumadocs, ultracite, oxlint, vibe-rules, none +- `--addons`: turborepo, pwa, tauri, biome, husky, starlight, fumadocs, ultracite, oxlint, ruler, none - `--examples`: todo, ai, none ## Next Steps diff --git a/apps/web/src/app/(home)/_components/stack-builder.tsx b/apps/web/src/app/(home)/_components/stack-builder.tsx index b073348..cc24712 100644 --- a/apps/web/src/app/(home)/_components/stack-builder.tsx +++ b/apps/web/src/app/(home)/_components/stack-builder.tsx @@ -1004,7 +1004,7 @@ const generateCommand = (stackState: StackState): string => { "ultracite", "fumadocs", "oxlint", - "vibe-rules", + "ruler", ].includes(addon), ); if (validAddons.length > 0) { diff --git a/apps/web/src/lib/constant.ts b/apps/web/src/lib/constant.ts index ff7fa76..792de34 100644 --- a/apps/web/src/lib/constant.ts +++ b/apps/web/src/lib/constant.ts @@ -470,9 +470,9 @@ export const TECH_OPTIONS: Record< default: false, }, { - id: "vibe-rules", - name: "Vibe Rules", - description: "Install and apply BTS rules to editors", + id: "ruler", + name: "Ruler", + description: "Centralize your AI rules", icon: "", color: "from-violet-500 to-violet-700", default: false,