|
1 | 1 | # GitHub Copilot Instructions for eForm Angular Frontend |
2 | 2 |
|
| 3 | +> **Note**: These instructions follow the [GitHub Copilot coding agent best practices](https://docs.github.com/en/copilot/using-github-copilot/using-github-copilot-coding-agent). For more information about using Copilot effectively in this repository, refer to the official documentation. |
| 4 | +
|
| 5 | +## Quick Start for Copilot |
| 6 | + |
| 7 | +**Critical requirements before starting:** |
| 8 | +- ✅ .NET 9.x SDK installed |
| 9 | +- ✅ Node.js 22.19.x+ and yarn 1.22.19+ installed |
| 10 | +- ✅ Repository structure: `eFormAPI/` (backend) + `eform-client/` (frontend) |
| 11 | + |
| 12 | +**Essential commands for validation:** |
| 13 | +```bash |
| 14 | +# Backend: Restore & Build |
| 15 | +cd eFormAPI && dotnet restore && dotnet build |
| 16 | + |
| 17 | +# Frontend: Install & Build |
| 18 | +cd eform-client && yarn install && yarn build |
| 19 | + |
| 20 | +# Run tests |
| 21 | +cd eFormAPI && dotnet test |
| 22 | +cd eform-client && yarn test:unit |
| 23 | + |
| 24 | +# Lint code |
| 25 | +cd eform-client && yarn lint |
| 26 | +cd eFormAPI && dotnet format --verify-no-changes |
| 27 | +``` |
| 28 | + |
| 29 | +**Remember:** |
| 30 | +- Always run build/test commands with adequate timeouts (see Build Process section) |
| 31 | +- Never cancel long-running operations early |
| 32 | +- Make minimal, surgical changes to existing code |
| 33 | +- Test both frontend and backend if changes affect both |
| 34 | + |
3 | 35 | ## Repository Overview |
4 | 36 |
|
5 | 37 | This is **eForm Angular Frontend**, a multi-component application consisting of: |
@@ -383,6 +415,22 @@ When making changes, always: |
383 | 415 | - Sensitive configuration via environment variables |
384 | 416 | - Database connections use secure connection strings |
385 | 417 |
|
| 418 | +## When to Ask for Help |
| 419 | + |
| 420 | +Copilot should request human assistance when encountering: |
| 421 | + |
| 422 | +- **Ambiguous Requirements**: Issue description lacks clarity or contains conflicting requirements |
| 423 | +- **Missing Information**: Cannot determine which files to modify or what the expected behavior should be |
| 424 | +- **Build Failures**: Cannot resolve build errors after reasonable attempts |
| 425 | +- **Test Failures**: Existing tests fail and the root cause is unclear or requires business logic knowledge |
| 426 | +- **Security Concerns**: Uncertain about security implications of a change |
| 427 | +- **Breaking Changes**: Proposed changes would significantly alter existing functionality |
| 428 | +- **Architecture Decisions**: Need to make architectural choices that affect multiple components |
| 429 | +- **Access Issues**: Cannot access required external services, databases, or dependencies |
| 430 | +- **Scope Concerns**: The issue appears larger than initially described and might need to be split |
| 431 | + |
| 432 | +Always provide context about what you've attempted and what's blocking progress when asking for help. |
| 433 | + |
386 | 434 | --- |
387 | 435 |
|
388 | 436 | **Important**: All build commands have been tested with actual execution times. The timeouts specified are based on real measurements plus buffer time. Never cancel long-running operations early - they are designed to complete successfully within the specified timeframes. |
0 commit comments