lacolaco/contributors-img Copilot Instructions
Instructions for GitHub Copilot when working on the contributors-img project — a monorepo containing a Go API service for contributor image generation, an Angular frontend, and a TypeScript background worker.
Warning
If you find any differences between these instructions and the actual implementation, update these instructions accordingly.
Language Preferences
Match the user's language (Japanese, English, etc.)Default to English if the user's language is unclearCommands
Build, test, lint, and format commands using Nx:
**Build**: `npx nx build <project>`**Test**: `npx nx test <project>`**Lint**: `npx nx lint <project>`**Format**: `npx nx format:write`Workspace Structure
The repository is an Nx monorepo with the following structure:
`/apps/api` — Go API service (contributor image generation)`/apps/webapp` — Angular frontend application`/apps/worker` — TypeScript background worker`/firebase` — Firebase configuration`/tools` — Build and utility scriptsCoding Rules
Go (API)
Follow standard Go idioms and error handling patternsUse go modules for dependency managementUpdate Go dependencies: `go get -u ./...`TypeScript & Angular (Webapp & Worker)
Use strict typing; avoid `any` typeAngular: Use standalone components and signals APINode.js: Use `pnpm` for package managementUpdate npm packages: `pnpm update`Follow Angular versioning policyTesting
Write unit tests for all new functionalityCommits
Use conventional commit format (e.g., `feat:`, `fix:`, `chore:`)Documentation & Comments
**All code comments and inline documentation must be written in English**, regardless of the language used in instructionsKeep comments minimal and focused on "why" rather than "what" or "how"Only add comments when: - The code involves complex logic that's not immediately obvious
- The code handles edge cases or uses non-standard approaches
- The implementation deviates from common patterns for a specific reason
Avoid redundant comments that merely repeat what the code clearly expressesUse meaningful variable and function names instead of comments when possibleFor public APIs, ensure proper documentation of parameters and return valuesDependencies Management
**Node.js**: Use `pnpm` for package management**Go**: Use go modules for dependency management**Angular**: Follow Angular versioning policy**Security updates**: Prioritize security-related dependency updatesUpdate commands:
npm packages: `pnpm update`Go modules: `go get -u ./...`