This directory contains instruction files that help GitHub Copilot understand how to work with this repository.
This repository uses a three-tier instruction system to provide comprehensive guidance to GitHub Copilot and other AI coding assistants:
File: copilot-instructions.md
- Applies to all files in the repository
- Contains core architectural principles, coding standards, and patterns
- Includes technology stack overview, documentation policies, and testing guidelines
- When to use: Understanding overall architecture, coding style, and project-wide conventions
File: ../AGENTS.md (repository root)
- Detailed command reference and test execution workflows
- Docker environment setup and debugging practices
- Comprehensive testing guidelines and common patterns
- When to use: Running commands, executing tests, debugging issues, understanding development workflows
Directory: instructions/
- Technology-specific guidelines that apply to particular file types
- Automatically loaded based on file path glob patterns
- 13 specialized instruction files covering different technologies
- When to use: Working with specific technologies (Hotwire, accessibility, i18n, etc.)
- Setting up the project: See AGENTS.md → Setup section
- Running tests: See AGENTS.md → Test Commands section
- Code style and patterns: See copilot-instructions.md → Core Principles
- Technology-specific help: Browse instructions/README.md
When you receive a request:
- Check which files are being modified
- Load relevant path-specific instructions from
instructions/directory - Apply repository-wide principles from
copilot-instructions.md - Reference
AGENTS.mdfor command execution and testing guidance
- copilot-instructions.md (624+ lines)
- Core principles and technology stack
- Documentation and diagram standards
- Coding guidelines (accessibility, debugging, security, testing)
- Timezone management
- Common issues and solutions
- ../AGENTS.md (960+ lines)
- Project setup and environment
- Test execution guidelines (CRITICAL section)
- Security requirements and conventions
- String enum and migration standards
- Database query standards
- Documentation maintenance
- Testing architecture patterns
- Timezone management best practices
See instructions/README.md for complete list:
- accessibility.instructions.md - WCAG AA/AAA compliance
- bootstrap.instructions.md - Bootstrap 5.3 & Font Awesome 6
- deployment.instructions.md - Dokku, Cloudflare, backups
- hotwire.instructions.md - Turbo + Stimulus patterns
- hotwire-native.instructions.md - Native mobile integration
- i18n-mobility.instructions.md - Internationalization
- importmaps.instructions.md - JavaScript modules
- notifications-noticed.instructions.md - Noticed gem
- rails-engine.instructions.md - Rails 7.1+ conventions
- search-elasticsearch.instructions.md - Elasticsearch 7
- security-encryption.instructions.md - Security practices
- sidekiq-redis.instructions.md - Background jobs
- view-helpers.instructions.md - Action View patterns
When you attach this repository to a Copilot conversation:
- Repository-wide instructions from
copilot-instructions.mdare automatically included - Path-specific instructions are loaded based on the files you're working with
- References to these instruction files appear in the chat response
When reviewing pull requests:
- Copilot loads instructions relevant to the modified files
- Applies coding standards and best practices from instructions
- Flags violations of documented patterns and conventions
When working on issues:
- Loads all relevant instruction files based on task
- Follows test-driven development practices from AGENTS.md
- Applies technology-specific patterns from path instructions
- Validates changes against documented standards
- Technology versions change (Rails, Ruby, dependencies)
- New architectural patterns are established
- Common issues/solutions are identified
- Testing practices evolve
- Security requirements change
- Repository-wide changes: Edit
copilot-instructions.md - Command/workflow changes: Edit
../AGENTS.md - Technology-specific changes: Edit relevant file in
instructions/ - New technologies: Add new file to
instructions/with frontmatter
- Keep instructions concise (copilot-instructions.md should stay under 2 pages conceptually)
- Include code examples for complex patterns
- Cross-reference related files
- Test that glob patterns match intended files
- Update this README if adding new instruction files
- Ensure no duplication between files
- Be specific: Provide concrete examples, not just rules
- Be concise: Copilot has context limits - prioritize essential information
- Be actionable: Focus on what to do, not just what not to do
- Cross-reference: Link to detailed documentation instead of duplicating
- Include common errors: Document frequently encountered issues and solutions
- Repository-wide: Architectural principles, core patterns that apply everywhere
- Agent-specific: Commands, workflows, environment-specific details
- Path-specific: Technology patterns that only apply to certain file types
- Avoid duplication: Each concept should be documented in one primary location
- Ask Copilot to generate code and verify it follows the instructions
- Check that glob patterns in frontmatter match intended files
- Ensure instructions don't conflict with each other
- Verify cross-references are accurate
- docs/table_of_contents.md - Complete documentation index
- docs/development/ - Development guides
- README.md - Project overview
- CONTRIBUTING.md - Contribution guidelines
When contributing to instruction files:
- Test your changes: Verify Copilot uses the instructions correctly
- Keep it maintainable: Don't duplicate information
- Document patterns: Include "why" not just "what"
- Update cross-references: If you change file organization
- Get feedback: Have others review for clarity
- For technical issues: See AGENTS.md → Common Issues
- For architecture questions: See copilot-instructions.md
- For contribution guidelines: See CONTRIBUTING.md
- For general help: See docs/