This directory contains a comprehensive framework for AI-assisted development, ensuring consistency, quality, and adherence to best practices across the project.
.github/
βββ README.md # This file
βββ copilot-instructions.md # Main AI architecture guide
βββ GITHUB_AUTH_SETUP.md # GitHub authentication setup
βββ pr-template-commits.md # PR description template
βββ instructions/ # Scope-specific guidelines
β βββ development-standards.instructions.md
β βββ web-interface-guidelines.instructions.md
β βββ github-issue.instructions.md
β βββ github-release-notes.instructions.md
β βββ storybook.instructions.md
βββ rules/ # Architectural principles
β βββ accessibility.md
β βββ component-architecture.md
β βββ react-19-compiler.md
β βββ spec-driven-development.md
β βββ supabase.md
β βββ tailwind-v4.md
β βββ three-js-react.md
β βββ web-performance.md
βββ skills/ # Executable workflows
β βββ accessibility_audit/
β βββ scaffold_component/
β βββ vercel-react-best-practices/
β βββ workflows/
βββ prompts/ # Agent prompt templates
βββ create-pr.prompt.md
Files in instructions/ apply to specific file types or contexts using frontmatter:
---
applyTo: '**/*.tsx'
---When these apply:
- Automatically loaded by AI when working with matching files
- Referenced in code reviews for specific file types
- Used to enforce patterns on particular scopes
Key files:
development-standards.instructions.md- TypeScript/React standards, Airbnb style, APCA contrastweb-interface-guidelines.instructions.md- MUST/SHOULD/NEVER UI rules, accessibility (24px targets, keyboard)github-issue.instructions.md- Issue template and formatgithub-release-notes.instructions.md- Release notes structurestorybook.instructions.md- Storybook usage patterns
Files in rules/ define non-negotiable architectural patterns:
When to reference:
- Making architectural decisions
- Designing new features
- Reviewing code structure
- Setting up infrastructure
Key files:
component-architecture.md- Folder-per-component with named exportsspec-driven-development.md- Create SPEC.md before coding ("Zero Vibe Rule")supabase.md- Database, auth, RLS, storage best practicesaccessibility.md- WCAG compliance requirementsreact-19-compiler.md- React 19 optimization patternsweb-performance.md- Performance optimization guidelines
Files in skills/ provide step-by-step workflows:
When to use:
- Creating new components
- Running audits
- Following complex procedures
- Applying best practice patterns
Key skills:
Component creation workflow with SDD:
- Create SPEC.md with requirements
- Generate component structure
- Implement with tests
- Document in Storybook
Comprehensive accessibility testing:
- Keyboard navigation check
- Screen reader compatibility
- Color contrast validation
- ARIA attributes review
45 performance rules across 8 categories:
- Async (7 rules) - API routes, dependencies, parallel fetching, suspense
- Bundle (6 rules) - Dynamic imports, barrel imports, tree shaking
- Client (4 rules) - Event listeners, localStorage, SWR dedup
- JS (11 rules) - Caching, batching, early exits
- Rendering (8 rules) - SVG, hydration, transitions
- Re-render (10 rules) - Memo, derived state, lazy init
- Server (7 rules) - Auth, caching, serialization
-
Check Instructions
- Read relevant
instructions/files for your file types - Example: Building a component? Read
web-interface-guidelines.instructions.md
- Read relevant
-
Review Rules
- Understand architectural constraints
- Example: New component? Follow
component-architecture.mdfolder structure
-
Follow Skills
- Use workflow templates
- Example: Run
scaffold_component/to create proper structure
-
Reference in PRs
- Cite specific rules when reviewing
- Link to guidance files in comments
# Before coding a component
cat .github/rules/component-architecture.md
cat .github/instructions/web-interface-guidelines.instructions.md
# During development
# Follow patterns in .github/skills/scaffold_component/
# Before PR
cat .github/pr-template-commits.mdThe guidance system is automatically integrated into AI tools:
GitHub Copilot:
- Reads
copilot-instructions.mdfor architecture - Applies
instructions/files based onapplyTopatterns - References
rules/for decision-making
Creating Features:
- Read relevant
instructions/andrules/ - Generate code following patterns
- Reference
skills/for workflows - Use
prompts/for common tasks
# 1. Review guidance
cat .github/rules/component-architecture.md
cat .github/rules/spec-driven-development.md
# 2. Create SPEC.md first (SDD)
# Document requirements, props, behavior
# 3. Scaffold component following folder pattern
mkdir src/components/MyComponent
touch src/components/MyComponent/{MyComponent.tsx,index.ts,SPEC.md}
# 4. Implement with accessibility in mind
cat .github/instructions/web-interface-guidelines.instructions.md# Follow the checklist
cat .github/skills/accessibility_audit/SKILL.md
# Check key requirements:
# - 24px Γ 24px minimum hit targets
# - APCA contrast β₯60 (normal) / β₯45 (large)
# - Keyboard navigation functional
# - Screen reader labels present# Review best practices
cat .github/skills/vercel-react-best-practices/SKILL.md
# Check specific patterns
cat .github/skills/vercel-react-best-practices/rules/rerender-memo.md
cat .github/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.mdFrom rules/spec-driven-development.md:
Create SPEC.md BEFORE writing code. No exceptions.
The "Zero Vibe Rule": If you're coding based on vibes, stop and write the spec.
Template:
# Component/Feature Name
## Purpose
[Why this exists]
## Requirements
- [ ] Requirement 1
- [ ] Requirement 2
## API/Props
[Interface definition]
## Behavior
[How it works]
## Changelog
[Track changes to spec during implementation]From rules/component-architecture.md:
src/components/MyComponent/
βββ MyComponent.tsx # Implementation
βββ MyComponent.test.tsx # Tests
βββ index.ts # export { MyComponent } from './MyComponent'
βββ SPEC.md # Specification
Why: Encapsulation, discoverability, and maintainability.
From instructions/web-interface-guidelines.instructions.md:
MUST:
- Hit targets β₯24px Γ 24px
- APCA contrast β₯60 (normal text)
- Full keyboard navigation
- Proper ARIA labels
SHOULD:
- Focus indicators visible
- Skip links for navigation
- Semantic HTML
- New patterns emerge β Add to
rules/ - Common mistakes β Add to
instructions/ - Repeated workflows β Create in
skills/ - File type standards β Update
instructions/applyTopatterns
- Create/edit file in appropriate directory
- Test with AI to verify it's followed correctly
- Document in this README if structural change
- Update
copilot-instructions.mdif architecture changes - Commit with
docs:prefix
- Instructions:
topic.instructions.md - Rules:
topic.md - Skills:
skill-name/SKILL.md - Prompts:
action-name.prompt.md
See GITHUB_AUTH_SETUP.md for:
- GitHub CLI setup
- Personal access token generation
- mcp_github tools configuration
Use pr-template-commits.md for consistent PR descriptions.
Reusable AI prompts in prompts/:
create-pr.prompt.md- Automated PR creation from commits
- copilot-instructions.md - Complete architecture guide for AI
- CONTRIBUTING.md - Developer contribution guide
- AGENTS.md - AI agent-specific guidelines
- README.md - Project overview
This guidance system embodies:
- Explicit over Implicit - Written standards beat tribal knowledge
- Automation over Documentation - Executable workflows beat manuals
- Consistency over Cleverness - Predictable patterns beat one-off solutions
- Accessibility First - Inclusive design is not optional
- Performance by Default - Optimization patterns built-in
Questions? See CONTRIBUTING.md or open a discussion.