diff --git a/AGENTS.md b/AGENTS.md index f8edd506c..ced401e27 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -32,17 +32,21 @@ vibe-design-plugins/ │ └── frontend-design.md ├── dist/ # Generated outputs (committed for users) │ ├── cursor/ # Downgraded (no frontmatter) -│ │ ├── commands/*.md -│ │ └── rules/*.md +│ │ └── .cursor/ +│ │ ├── commands/*.md +│ │ └── rules/*.md │ ├── claude-code/ # Full featured -│ │ ├── commands/*.md -│ │ └── skills/*/SKILL.md +│ │ └── .claude/ +│ │ ├── commands/*.md +│ │ └── skills/*/SKILL.md │ ├── gemini/ # TOML commands + modular skills -│ │ ├── commands/*.toml +│ │ ├── .gemini/ +│ │ │ └── commands/*.toml │ │ ├── GEMINI.md │ │ └── GEMINI.*.md │ └── codex/ # Custom prompts + modular skills -│ ├── prompts/*.md +│ ├── .codex/ +│ │ └── prompts/*.md │ ├── AGENTS.md │ └── AGENTS.*.md ├── public/ # Website for impeccable.style @@ -135,33 +139,37 @@ Run: `bun run build` ## Provider Transformations ### 1. Cursor (Downgraded) -- **Commands**: Body only → `dist/cursor/commands/*.md` -- **Skills**: Body only → `dist/cursor/rules/*.md` +- **Commands**: Body only → `dist/cursor/.cursor/commands/*.md` +- **Skills**: Body only → `dist/cursor/.cursor/rules/*.md` - **Strips**: All frontmatter, all metadata - **Args**: Not supported, arguments get appended to end of prompt +- **Installation**: Extract ZIP into your project root, creates `.cursor/` folder ### 2. Claude Code (Full Featured) -- **Commands**: Full YAML frontmatter → `dist/claude-code/commands/*.md` -- **Skills**: Full YAML frontmatter → `dist/claude-code/skills/{name}/SKILL.md` +- **Commands**: Full YAML frontmatter → `dist/claude-code/.claude/commands/*.md` +- **Skills**: Full YAML frontmatter → `dist/claude-code/.claude/skills/{name}/SKILL.md` - **Preserves**: All metadata, all args - **Format**: Matches [Anthropic Skills spec](https://github.com/anthropics/skills) +- **Installation**: Extract ZIP into your project root, creates `.claude/` folder ### 3. Gemini CLI (Full Featured) -- **Commands**: TOML format → `dist/gemini/commands/*.toml` +- **Commands**: TOML format → `dist/gemini/.gemini/commands/*.toml` - Uses `description` and `prompt` keys - Transforms `{{argname}}` → `{{args}}` (Gemini uses single args string) -- **Skills**: Modular with imports → `dist/gemini/GEMINI.{name}.md` +- **Skills**: Modular with imports → `dist/gemini/GEMINI.{name}.md` (root level) - Main `GEMINI.md` uses `@./GEMINI.{name}.md` import syntax - Gemini automatically loads imported files +- **Installation**: Extract ZIP into your project root, creates `.gemini/` folder + skill files ### 4. Codex CLI (Full Featured) -- **Commands**: Custom prompt format → `dist/codex/prompts/*.md` +- **Commands**: Custom prompt format → `dist/codex/.codex/prompts/*.md` - Uses `description` and `argument-hint` in frontmatter - Transforms `{{argname}}` → `$ARGNAME` (uppercase variables) - Invoked as `/prompts:` -- **Skills**: Modular with routing → `dist/codex/AGENTS.{name}.md` +- **Skills**: Modular with routing → `dist/codex/AGENTS.{name}.md` (root level) - Main `AGENTS.md` provides routing instructions - Tells Codex when to read which skill file +- **Installation**: Extract ZIP into your project root, creates `.codex/` folder + skill files ## Key Design Decisions diff --git a/README.md b/README.md index 5ea726d4a..28372a815 100644 --- a/README.md +++ b/README.md @@ -98,19 +98,18 @@ After downloading from [impeccable.style](https://impeccable.style) or cloning t ### Cursor -**From Website**: Download the Cursor bundle ZIP from [impeccable.style](https://impeccable.style), unzip, and copy to your project: +**From Website**: Download the Cursor bundle ZIP from [impeccable.style](https://impeccable.style) and extract directly into your project: ```bash -# After unzipping the downloaded bundle -cp -r cursor/commands/* your-project/.cursor/commands/ -cp -r cursor/rules/* your-project/.cursor/rules/ +# Extract the ZIP directly into your project root +# The ZIP contains a .cursor/ folder ready to use +unzip impeccable-style-cursor.zip -d your-project/ ``` **From Repo**: Copy directly from the dist directory: ```bash -cp -r dist/cursor/commands/* .cursor/commands/ -cp -r dist/cursor/rules/* .cursor/rules/ +cp -r dist/cursor/.cursor .cursor/ ``` **Note**: Cursor doesn't support command arguments or frontmatter, so commands work but with simplified functionality. @@ -121,23 +120,25 @@ cp -r dist/cursor/rules/* .cursor/rules/ ### Claude Code -**From Website**: Download the Claude Code bundle ZIP from [impeccable.style](https://impeccable.style), unzip, and copy: +**From Website**: Download the Claude Code bundle ZIP from [impeccable.style](https://impeccable.style) and extract: ```bash # Global installation -cp -r claude-code/commands/* ~/.claude/commands/ -cp -r claude-code/skills/* ~/.claude/skills/ +unzip impeccable-style-claude-code.zip +cp -r .claude/* ~/.claude/ # Or project-specific -cp -r claude-code/commands/* .claude/commands/ -cp -r claude-code/skills/* .claude/skills/ +unzip impeccable-style-claude-code.zip -d your-project/ ``` **From Repo**: ```bash -cp -r dist/claude-code/commands/* ~/.claude/commands/ -cp -r dist/claude-code/skills/* ~/.claude/skills/ +# Global installation +cp -r dist/claude-code/.claude/* ~/.claude/ + +# Or project-specific +cp -r dist/claude-code/.claude .claude/ ``` **Reference**: @@ -146,20 +147,23 @@ cp -r dist/claude-code/skills/* ~/.claude/skills/ ### Gemini CLI -**From Website**: Download the Gemini CLI bundle ZIP from [impeccable.style](https://impeccable.style), unzip, and copy: +**From Website**: Download the Gemini CLI bundle ZIP from [impeccable.style](https://impeccable.style) and extract: ```bash +# Extract and install +unzip impeccable-style-gemini.zip + # Commands (global) -cp -r gemini/commands/* ~/.gemini/commands/ +cp -r .gemini/* ~/.gemini/ # Skills (project-specific) -cp gemini/GEMINI*.md ~/your-project-root/ +cp GEMINI*.md ~/your-project-root/ ``` **From Repo**: ```bash -cp -r dist/gemini/commands/* ~/.gemini/commands/ +cp -r dist/gemini/.gemini/* ~/.gemini/ cp dist/gemini/GEMINI*.md ~/your-project-root/ ``` @@ -175,20 +179,23 @@ cp dist/gemini/GEMINI*.md ~/your-project-root/ ### Codex CLI -**From Website**: Download the Codex CLI bundle ZIP from [impeccable.style](https://impeccable.style), unzip, and copy: +**From Website**: Download the Codex CLI bundle ZIP from [impeccable.style](https://impeccable.style) and extract: ```bash +# Extract and install +unzip impeccable-style-codex.zip + # Prompts (global) -cp -r codex/prompts/* ~/.codex/prompts/ +cp -r .codex/* ~/.codex/ # Skills (project-specific) -cp codex/AGENTS*.md ~/your-project-root/ +cp AGENTS*.md ~/your-project-root/ ``` **From Repo**: ```bash -cp -r dist/codex/prompts/* ~/.codex/prompts/ +cp -r dist/codex/.codex/* ~/.codex/ cp dist/codex/AGENTS*.md ~/your-project-root/ ``` diff --git a/dist/claude-code/commands/adapt.md b/dist/claude-code/.claude/commands/adapt.md similarity index 100% rename from dist/claude-code/commands/adapt.md rename to dist/claude-code/.claude/commands/adapt.md diff --git a/dist/claude-code/commands/animate.md b/dist/claude-code/.claude/commands/animate.md similarity index 100% rename from dist/claude-code/commands/animate.md rename to dist/claude-code/.claude/commands/animate.md diff --git a/dist/claude-code/commands/audit.md b/dist/claude-code/.claude/commands/audit.md similarity index 100% rename from dist/claude-code/commands/audit.md rename to dist/claude-code/.claude/commands/audit.md diff --git a/dist/claude-code/commands/bolder.md b/dist/claude-code/.claude/commands/bolder.md similarity index 100% rename from dist/claude-code/commands/bolder.md rename to dist/claude-code/.claude/commands/bolder.md diff --git a/dist/claude-code/commands/clarify.md b/dist/claude-code/.claude/commands/clarify.md similarity index 100% rename from dist/claude-code/commands/clarify.md rename to dist/claude-code/.claude/commands/clarify.md diff --git a/dist/claude-code/commands/colorize.md b/dist/claude-code/.claude/commands/colorize.md similarity index 100% rename from dist/claude-code/commands/colorize.md rename to dist/claude-code/.claude/commands/colorize.md diff --git a/dist/claude-code/commands/delight.md b/dist/claude-code/.claude/commands/delight.md similarity index 100% rename from dist/claude-code/commands/delight.md rename to dist/claude-code/.claude/commands/delight.md diff --git a/dist/claude-code/commands/extract.md b/dist/claude-code/.claude/commands/extract.md similarity index 100% rename from dist/claude-code/commands/extract.md rename to dist/claude-code/.claude/commands/extract.md diff --git a/dist/claude-code/commands/harden.md b/dist/claude-code/.claude/commands/harden.md similarity index 100% rename from dist/claude-code/commands/harden.md rename to dist/claude-code/.claude/commands/harden.md diff --git a/dist/claude-code/commands/normalize.md b/dist/claude-code/.claude/commands/normalize.md similarity index 100% rename from dist/claude-code/commands/normalize.md rename to dist/claude-code/.claude/commands/normalize.md diff --git a/dist/claude-code/commands/onboard.md b/dist/claude-code/.claude/commands/onboard.md similarity index 100% rename from dist/claude-code/commands/onboard.md rename to dist/claude-code/.claude/commands/onboard.md diff --git a/dist/claude-code/commands/optimize.md b/dist/claude-code/.claude/commands/optimize.md similarity index 100% rename from dist/claude-code/commands/optimize.md rename to dist/claude-code/.claude/commands/optimize.md diff --git a/dist/claude-code/commands/polish.md b/dist/claude-code/.claude/commands/polish.md similarity index 100% rename from dist/claude-code/commands/polish.md rename to dist/claude-code/.claude/commands/polish.md diff --git a/dist/claude-code/commands/quieter.md b/dist/claude-code/.claude/commands/quieter.md similarity index 100% rename from dist/claude-code/commands/quieter.md rename to dist/claude-code/.claude/commands/quieter.md diff --git a/dist/claude-code/commands/simplify.md b/dist/claude-code/.claude/commands/simplify.md similarity index 100% rename from dist/claude-code/commands/simplify.md rename to dist/claude-code/.claude/commands/simplify.md diff --git a/dist/claude-code/skills/color-and-contrast/SKILL.md b/dist/claude-code/.claude/skills/color-and-contrast/SKILL.md similarity index 100% rename from dist/claude-code/skills/color-and-contrast/SKILL.md rename to dist/claude-code/.claude/skills/color-and-contrast/SKILL.md diff --git a/dist/claude-code/skills/frontend-design/SKILL.md b/dist/claude-code/.claude/skills/frontend-design/SKILL.md similarity index 100% rename from dist/claude-code/skills/frontend-design/SKILL.md rename to dist/claude-code/.claude/skills/frontend-design/SKILL.md diff --git a/dist/claude-code/skills/interaction-design/SKILL.md b/dist/claude-code/.claude/skills/interaction-design/SKILL.md similarity index 100% rename from dist/claude-code/skills/interaction-design/SKILL.md rename to dist/claude-code/.claude/skills/interaction-design/SKILL.md diff --git a/dist/claude-code/skills/motion-design/SKILL.md b/dist/claude-code/.claude/skills/motion-design/SKILL.md similarity index 100% rename from dist/claude-code/skills/motion-design/SKILL.md rename to dist/claude-code/.claude/skills/motion-design/SKILL.md diff --git a/dist/claude-code/skills/responsive-design/SKILL.md b/dist/claude-code/.claude/skills/responsive-design/SKILL.md similarity index 100% rename from dist/claude-code/skills/responsive-design/SKILL.md rename to dist/claude-code/.claude/skills/responsive-design/SKILL.md diff --git a/dist/claude-code/skills/spatial-design/SKILL.md b/dist/claude-code/.claude/skills/spatial-design/SKILL.md similarity index 100% rename from dist/claude-code/skills/spatial-design/SKILL.md rename to dist/claude-code/.claude/skills/spatial-design/SKILL.md diff --git a/dist/claude-code/skills/typography/SKILL.md b/dist/claude-code/.claude/skills/typography/SKILL.md similarity index 100% rename from dist/claude-code/skills/typography/SKILL.md rename to dist/claude-code/.claude/skills/typography/SKILL.md diff --git a/dist/claude-code/skills/ux-writing/SKILL.md b/dist/claude-code/.claude/skills/ux-writing/SKILL.md similarity index 100% rename from dist/claude-code/skills/ux-writing/SKILL.md rename to dist/claude-code/.claude/skills/ux-writing/SKILL.md diff --git a/dist/codex/prompts/adapt.md b/dist/codex/.codex/prompts/adapt.md similarity index 100% rename from dist/codex/prompts/adapt.md rename to dist/codex/.codex/prompts/adapt.md diff --git a/dist/codex/prompts/animate.md b/dist/codex/.codex/prompts/animate.md similarity index 100% rename from dist/codex/prompts/animate.md rename to dist/codex/.codex/prompts/animate.md diff --git a/dist/codex/prompts/audit.md b/dist/codex/.codex/prompts/audit.md similarity index 100% rename from dist/codex/prompts/audit.md rename to dist/codex/.codex/prompts/audit.md diff --git a/dist/codex/prompts/bolder.md b/dist/codex/.codex/prompts/bolder.md similarity index 100% rename from dist/codex/prompts/bolder.md rename to dist/codex/.codex/prompts/bolder.md diff --git a/dist/codex/prompts/clarify.md b/dist/codex/.codex/prompts/clarify.md similarity index 100% rename from dist/codex/prompts/clarify.md rename to dist/codex/.codex/prompts/clarify.md diff --git a/dist/codex/prompts/colorize.md b/dist/codex/.codex/prompts/colorize.md similarity index 100% rename from dist/codex/prompts/colorize.md rename to dist/codex/.codex/prompts/colorize.md diff --git a/dist/codex/prompts/delight.md b/dist/codex/.codex/prompts/delight.md similarity index 100% rename from dist/codex/prompts/delight.md rename to dist/codex/.codex/prompts/delight.md diff --git a/dist/codex/prompts/extract.md b/dist/codex/.codex/prompts/extract.md similarity index 100% rename from dist/codex/prompts/extract.md rename to dist/codex/.codex/prompts/extract.md diff --git a/dist/codex/prompts/harden.md b/dist/codex/.codex/prompts/harden.md similarity index 100% rename from dist/codex/prompts/harden.md rename to dist/codex/.codex/prompts/harden.md diff --git a/dist/codex/prompts/normalize.md b/dist/codex/.codex/prompts/normalize.md similarity index 100% rename from dist/codex/prompts/normalize.md rename to dist/codex/.codex/prompts/normalize.md diff --git a/dist/codex/prompts/onboard.md b/dist/codex/.codex/prompts/onboard.md similarity index 100% rename from dist/codex/prompts/onboard.md rename to dist/codex/.codex/prompts/onboard.md diff --git a/dist/codex/prompts/optimize.md b/dist/codex/.codex/prompts/optimize.md similarity index 100% rename from dist/codex/prompts/optimize.md rename to dist/codex/.codex/prompts/optimize.md diff --git a/dist/codex/prompts/polish.md b/dist/codex/.codex/prompts/polish.md similarity index 100% rename from dist/codex/prompts/polish.md rename to dist/codex/.codex/prompts/polish.md diff --git a/dist/codex/prompts/quieter.md b/dist/codex/.codex/prompts/quieter.md similarity index 100% rename from dist/codex/prompts/quieter.md rename to dist/codex/.codex/prompts/quieter.md diff --git a/dist/codex/prompts/simplify.md b/dist/codex/.codex/prompts/simplify.md similarity index 100% rename from dist/codex/prompts/simplify.md rename to dist/codex/.codex/prompts/simplify.md diff --git a/dist/cursor/commands/adapt.md b/dist/cursor/.cursor/commands/adapt.md similarity index 100% rename from dist/cursor/commands/adapt.md rename to dist/cursor/.cursor/commands/adapt.md diff --git a/dist/cursor/commands/animate.md b/dist/cursor/.cursor/commands/animate.md similarity index 100% rename from dist/cursor/commands/animate.md rename to dist/cursor/.cursor/commands/animate.md diff --git a/dist/cursor/commands/audit.md b/dist/cursor/.cursor/commands/audit.md similarity index 100% rename from dist/cursor/commands/audit.md rename to dist/cursor/.cursor/commands/audit.md diff --git a/dist/cursor/commands/bolder.md b/dist/cursor/.cursor/commands/bolder.md similarity index 100% rename from dist/cursor/commands/bolder.md rename to dist/cursor/.cursor/commands/bolder.md diff --git a/dist/cursor/commands/clarify.md b/dist/cursor/.cursor/commands/clarify.md similarity index 100% rename from dist/cursor/commands/clarify.md rename to dist/cursor/.cursor/commands/clarify.md diff --git a/dist/cursor/commands/colorize.md b/dist/cursor/.cursor/commands/colorize.md similarity index 100% rename from dist/cursor/commands/colorize.md rename to dist/cursor/.cursor/commands/colorize.md diff --git a/dist/cursor/commands/delight.md b/dist/cursor/.cursor/commands/delight.md similarity index 100% rename from dist/cursor/commands/delight.md rename to dist/cursor/.cursor/commands/delight.md diff --git a/dist/cursor/commands/extract.md b/dist/cursor/.cursor/commands/extract.md similarity index 100% rename from dist/cursor/commands/extract.md rename to dist/cursor/.cursor/commands/extract.md diff --git a/dist/cursor/commands/harden.md b/dist/cursor/.cursor/commands/harden.md similarity index 100% rename from dist/cursor/commands/harden.md rename to dist/cursor/.cursor/commands/harden.md diff --git a/dist/cursor/commands/normalize.md b/dist/cursor/.cursor/commands/normalize.md similarity index 100% rename from dist/cursor/commands/normalize.md rename to dist/cursor/.cursor/commands/normalize.md diff --git a/dist/cursor/commands/onboard.md b/dist/cursor/.cursor/commands/onboard.md similarity index 100% rename from dist/cursor/commands/onboard.md rename to dist/cursor/.cursor/commands/onboard.md diff --git a/dist/cursor/commands/optimize.md b/dist/cursor/.cursor/commands/optimize.md similarity index 100% rename from dist/cursor/commands/optimize.md rename to dist/cursor/.cursor/commands/optimize.md diff --git a/dist/cursor/commands/polish.md b/dist/cursor/.cursor/commands/polish.md similarity index 100% rename from dist/cursor/commands/polish.md rename to dist/cursor/.cursor/commands/polish.md diff --git a/dist/cursor/commands/quieter.md b/dist/cursor/.cursor/commands/quieter.md similarity index 100% rename from dist/cursor/commands/quieter.md rename to dist/cursor/.cursor/commands/quieter.md diff --git a/dist/cursor/commands/simplify.md b/dist/cursor/.cursor/commands/simplify.md similarity index 100% rename from dist/cursor/commands/simplify.md rename to dist/cursor/.cursor/commands/simplify.md diff --git a/dist/cursor/rules/color-and-contrast.md b/dist/cursor/.cursor/rules/color-and-contrast.md similarity index 100% rename from dist/cursor/rules/color-and-contrast.md rename to dist/cursor/.cursor/rules/color-and-contrast.md diff --git a/dist/cursor/rules/frontend-design.md b/dist/cursor/.cursor/rules/frontend-design.md similarity index 100% rename from dist/cursor/rules/frontend-design.md rename to dist/cursor/.cursor/rules/frontend-design.md diff --git a/dist/cursor/rules/interaction-design.md b/dist/cursor/.cursor/rules/interaction-design.md similarity index 100% rename from dist/cursor/rules/interaction-design.md rename to dist/cursor/.cursor/rules/interaction-design.md diff --git a/dist/cursor/rules/motion-design.md b/dist/cursor/.cursor/rules/motion-design.md similarity index 100% rename from dist/cursor/rules/motion-design.md rename to dist/cursor/.cursor/rules/motion-design.md diff --git a/dist/cursor/rules/responsive-design.md b/dist/cursor/.cursor/rules/responsive-design.md similarity index 100% rename from dist/cursor/rules/responsive-design.md rename to dist/cursor/.cursor/rules/responsive-design.md diff --git a/dist/cursor/rules/spatial-design.md b/dist/cursor/.cursor/rules/spatial-design.md similarity index 100% rename from dist/cursor/rules/spatial-design.md rename to dist/cursor/.cursor/rules/spatial-design.md diff --git a/dist/cursor/rules/typography.md b/dist/cursor/.cursor/rules/typography.md similarity index 100% rename from dist/cursor/rules/typography.md rename to dist/cursor/.cursor/rules/typography.md diff --git a/dist/cursor/rules/ux-writing.md b/dist/cursor/.cursor/rules/ux-writing.md similarity index 100% rename from dist/cursor/rules/ux-writing.md rename to dist/cursor/.cursor/rules/ux-writing.md diff --git a/dist/gemini/commands/adapt.toml b/dist/gemini/.gemini/commands/adapt.toml similarity index 100% rename from dist/gemini/commands/adapt.toml rename to dist/gemini/.gemini/commands/adapt.toml diff --git a/dist/gemini/commands/animate.toml b/dist/gemini/.gemini/commands/animate.toml similarity index 100% rename from dist/gemini/commands/animate.toml rename to dist/gemini/.gemini/commands/animate.toml diff --git a/dist/gemini/commands/audit.toml b/dist/gemini/.gemini/commands/audit.toml similarity index 100% rename from dist/gemini/commands/audit.toml rename to dist/gemini/.gemini/commands/audit.toml diff --git a/dist/gemini/commands/bolder.toml b/dist/gemini/.gemini/commands/bolder.toml similarity index 100% rename from dist/gemini/commands/bolder.toml rename to dist/gemini/.gemini/commands/bolder.toml diff --git a/dist/gemini/commands/clarify.toml b/dist/gemini/.gemini/commands/clarify.toml similarity index 100% rename from dist/gemini/commands/clarify.toml rename to dist/gemini/.gemini/commands/clarify.toml diff --git a/dist/gemini/commands/colorize.toml b/dist/gemini/.gemini/commands/colorize.toml similarity index 100% rename from dist/gemini/commands/colorize.toml rename to dist/gemini/.gemini/commands/colorize.toml diff --git a/dist/gemini/commands/delight.toml b/dist/gemini/.gemini/commands/delight.toml similarity index 100% rename from dist/gemini/commands/delight.toml rename to dist/gemini/.gemini/commands/delight.toml diff --git a/dist/gemini/commands/extract.toml b/dist/gemini/.gemini/commands/extract.toml similarity index 100% rename from dist/gemini/commands/extract.toml rename to dist/gemini/.gemini/commands/extract.toml diff --git a/dist/gemini/commands/harden.toml b/dist/gemini/.gemini/commands/harden.toml similarity index 100% rename from dist/gemini/commands/harden.toml rename to dist/gemini/.gemini/commands/harden.toml diff --git a/dist/gemini/commands/normalize.toml b/dist/gemini/.gemini/commands/normalize.toml similarity index 100% rename from dist/gemini/commands/normalize.toml rename to dist/gemini/.gemini/commands/normalize.toml diff --git a/dist/gemini/commands/onboard.toml b/dist/gemini/.gemini/commands/onboard.toml similarity index 100% rename from dist/gemini/commands/onboard.toml rename to dist/gemini/.gemini/commands/onboard.toml diff --git a/dist/gemini/commands/optimize.toml b/dist/gemini/.gemini/commands/optimize.toml similarity index 100% rename from dist/gemini/commands/optimize.toml rename to dist/gemini/.gemini/commands/optimize.toml diff --git a/dist/gemini/commands/polish.toml b/dist/gemini/.gemini/commands/polish.toml similarity index 100% rename from dist/gemini/commands/polish.toml rename to dist/gemini/.gemini/commands/polish.toml diff --git a/dist/gemini/commands/quieter.toml b/dist/gemini/.gemini/commands/quieter.toml similarity index 100% rename from dist/gemini/commands/quieter.toml rename to dist/gemini/.gemini/commands/quieter.toml diff --git a/dist/gemini/commands/simplify.toml b/dist/gemini/.gemini/commands/simplify.toml similarity index 100% rename from dist/gemini/commands/simplify.toml rename to dist/gemini/.gemini/commands/simplify.toml diff --git a/scripts/lib/transformers/claude-code.js b/scripts/lib/transformers/claude-code.js index 5e577ea28..80f572e8d 100644 --- a/scripts/lib/transformers/claude-code.js +++ b/scripts/lib/transformers/claude-code.js @@ -8,10 +8,11 @@ import { cleanDir, ensureDir, writeFile, generateYamlFrontmatter } from '../util * Skills stored in subdirectories with SKILL.md filename. */ export function transformClaudeCode(commands, skills, distDir) { - const commandsDir = path.join(distDir, 'claude-code/commands'); - const skillsDir = path.join(distDir, 'claude-code/skills'); + const claudeDir = path.join(distDir, 'claude-code'); + const commandsDir = path.join(claudeDir, '.claude/commands'); + const skillsDir = path.join(claudeDir, '.claude/skills'); - cleanDir(path.join(distDir, 'claude-code')); + cleanDir(claudeDir); ensureDir(commandsDir); ensureDir(skillsDir); diff --git a/scripts/lib/transformers/codex.js b/scripts/lib/transformers/codex.js index c6fe45d41..5105883e8 100644 --- a/scripts/lib/transformers/codex.js +++ b/scripts/lib/transformers/codex.js @@ -9,7 +9,7 @@ import { cleanDir, ensureDir, writeFile } from '../utils.js'; */ export function transformCodex(commands, skills, distDir) { const codexDir = path.join(distDir, 'codex'); - const promptsDir = path.join(codexDir, 'prompts'); + const promptsDir = path.join(codexDir, '.codex/prompts'); cleanDir(codexDir); ensureDir(promptsDir); diff --git a/scripts/lib/transformers/cursor.js b/scripts/lib/transformers/cursor.js index be3c2377c..f49af8148 100644 --- a/scripts/lib/transformers/cursor.js +++ b/scripts/lib/transformers/cursor.js @@ -8,10 +8,11 @@ import { cleanDir, ensureDir, writeFile } from '../utils.js'; * Cursor doesn't support arguments or frontmatter. */ export function transformCursor(commands, skills, distDir) { - const commandsDir = path.join(distDir, 'cursor/commands'); - const rulesDir = path.join(distDir, 'cursor/rules'); + const cursorDir = path.join(distDir, 'cursor'); + const commandsDir = path.join(cursorDir, '.cursor/commands'); + const rulesDir = path.join(cursorDir, '.cursor/rules'); - cleanDir(path.join(distDir, 'cursor')); + cleanDir(cursorDir); ensureDir(commandsDir); ensureDir(rulesDir); diff --git a/scripts/lib/transformers/gemini.js b/scripts/lib/transformers/gemini.js index f32956f3a..33f2425c2 100644 --- a/scripts/lib/transformers/gemini.js +++ b/scripts/lib/transformers/gemini.js @@ -9,7 +9,7 @@ import { cleanDir, ensureDir, writeFile } from '../utils.js'; */ export function transformGemini(commands, skills, distDir) { const geminiDir = path.join(distDir, 'gemini'); - const commandsDir = path.join(geminiDir, 'commands'); + const commandsDir = path.join(geminiDir, '.gemini/commands'); cleanDir(geminiDir); ensureDir(commandsDir); diff --git a/server/index.js b/server/index.js index a4d4c516f..fcabb982d 100644 --- a/server/index.js +++ b/server/index.js @@ -66,9 +66,9 @@ async function getCommands() { function getFilePath(type, provider, id) { if (type === "skill") { if (provider === "cursor") { - return join(DIST_DIR, "cursor", "rules", `${id}.md`); + return join(DIST_DIR, "cursor", ".cursor", "rules", `${id}.md`); } else if (provider === "claude-code") { - return join(DIST_DIR, "claude-code", "skills", id, "SKILL.md"); + return join(DIST_DIR, "claude-code", ".claude", "skills", id, "SKILL.md"); } else if (provider === "gemini") { return join(DIST_DIR, "gemini", `GEMINI.${id}.md`); } else if (provider === "codex") { @@ -76,13 +76,13 @@ function getFilePath(type, provider, id) { } } else if (type === "command") { if (provider === "cursor") { - return join(DIST_DIR, "cursor", "commands", `${id}.md`); + return join(DIST_DIR, "cursor", ".cursor", "commands", `${id}.md`); } else if (provider === "claude-code") { - return join(DIST_DIR, "claude-code", "commands", `${id}.md`); + return join(DIST_DIR, "claude-code", ".claude", "commands", `${id}.md`); } else if (provider === "gemini") { - return join(DIST_DIR, "gemini", "commands", `${id}.toml`); + return join(DIST_DIR, "gemini", ".gemini", "commands", `${id}.toml`); } else if (provider === "codex") { - return join(DIST_DIR, "codex", "prompts", `${id}.md`); + return join(DIST_DIR, "codex", ".codex", "prompts", `${id}.md`); } } return null;