Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion apps/cli/ai/agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,10 @@ export function startAiAgent( config: AiAgentConfig ): Query {
pathApprovalSession,
} );
},
plugins: [ { type: 'local' as const, path: path.resolve( import.meta.dirname, 'plugin' ) } ],
plugins: [
{ type: 'local' as const, path: path.resolve( import.meta.dirname, 'plugin' ) },
{ type: 'local' as const, path: path.resolve( import.meta.dirname, 'plugins/impeccable' ) },
],
model,
resume,
},
Expand Down
27 changes: 27 additions & 0 deletions apps/cli/ai/slash-commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,31 @@ export const AI_CHAT_SLASH_COMMANDS: SlashCommandDef[] = [
{ name: 'exit', description: __( 'Exit the chat' ) },
{ name: 'taxonomist', description: __( 'Optimize category taxonomy with AI' ) },
{ name: 'need-for-speed', description: __( 'Run a performance audit on a site' ) },
// Impeccable design skills
{
name: 'audit',
description: __( 'Run technical quality checks (a11y, performance, responsive)' ),
},
{
name: 'critique',
description: __( 'UX design review: hierarchy, clarity, emotional resonance' ),
},
{ name: 'normalize', description: __( 'Align with design system standards' ) },
{ name: 'polish', description: __( 'Final design pass before shipping' ) },
{ name: 'distill', description: __( 'Strip design to its essence' ) },
{ name: 'clarify', description: __( 'Improve unclear UX copy' ) },
{ name: 'optimize', description: __( 'Performance improvements' ) },
{ name: 'harden', description: __( 'Error handling, i18n, and edge cases' ) },
{ name: 'animate', description: __( 'Add purposeful motion and animation' ) },
{ name: 'colorize', description: __( 'Introduce strategic color' ) },
{ name: 'bolder', description: __( 'Amplify boring designs' ) },
{ name: 'quieter', description: __( 'Tone down overly bold designs' ) },
{ name: 'delight', description: __( 'Add moments of joy' ) },
{ name: 'extract', description: __( 'Pull into reusable components' ) },
{ name: 'adapt', description: __( 'Adapt for different devices' ) },
{ name: 'onboard', description: __( 'Design onboarding flows' ) },
{ name: 'typeset', description: __( 'Fix font choices, hierarchy, sizing' ) },
{ name: 'arrange', description: __( 'Fix layout, spacing, visual rhythm' ) },
{ name: 'overdrive', description: __( 'Add technically extraordinary effects' ) },
{ name: 'teach-impeccable', description: __( 'Set up design context for the project' ) },
];
27 changes: 1 addition & 26 deletions apps/cli/ai/system-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -180,31 +180,6 @@ const LOCAL_DESIGN_GUIDELINES = `## Design guidelines

**Important**: Always use sophisticated scroll effects and add animations unless specifically asked otherwise.

Understand the context and commit to a BOLD aesthetic direction:
- **Purpose**: What problem does this interface solve? Who uses it?
- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
- **Constraints**: Technical requirements (framework, performance, accessibility).
- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember?

**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.

Then implement working code (HTML/CSS/JS etc.) that is:
- Production-grade and functional
- Visually striking and memorable
- Cohesive with a clear aesthetic point-of-view
- Meticulously refined in every detail

Focus on:
- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font.
- **Color & Theme**: Commit to a cohesive aesthetic. Dominant colors with sharp accents outperform timid, evenly-distributed palettes.
- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.

NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.

Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.

**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.
For design direction, typography, color, layout, motion, and interaction design guidance, invoke the \`frontend-design\` skill. It contains comprehensive design principles, anti-patterns to avoid, and reference material for creating distinctive, production-grade interfaces.

Remember: You are capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.`;
1 change: 1 addition & 0 deletions apps/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
"chalk": "^5.6.2",
"cli-table3": "^0.6.5",
"http-proxy": "^1.18.1",
"impeccable": "github:pbakaus/impeccable",
"node-forge": "^1.3.3",
"ora": "^8.2.0",
"patch-package": "^8.0.1",
Expand Down
4 changes: 4 additions & 0 deletions apps/cli/vite.config.dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ export default mergeConfig(
src: 'ai/plugin',
dest: '.',
},
{
src: '../../node_modules/impeccable',
dest: 'plugins',
},
],
} ),
],
Expand Down
Loading
Loading