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.