diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index c963f0b6..1d4ec81d 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -21,9 +21,15 @@ Copilot-focused summary; AGENTS.md is authoritative when they conflict. Read the standard in [`standards/`](../standards/) before touching CI, repo settings, or agent configuration. -Language-specific rules are applied automatically via files in `.github/instructions/`: -`typescript`, `javascript`, `python`, `go`, `terraform`, and `shell` — see those files for -per-language guidance. +Language-specific rules are applied automatically via files in `.github/instructions/` when you +open a matching file type. Canonical files in this repo (deployed verbatim to each target repo): + +- [`typescript.instructions.md`](instructions/typescript.instructions.md) — strict config, branded types, DDD/CQRS, pino, React, Electron IPC +- [`javascript.instructions.md`](instructions/javascript.instructions.md) — style, JSDoc type annotations, error handling +- [`python.instructions.md`](instructions/python.instructions.md) — black/ruff, type annotations, structlog, pytest, GAS companion code +- [`go.instructions.md`](instructions/go.instructions.md) — naming, gofmt, slog, error wrapping, concurrency, HTTP, testing, security +- [`terraform.instructions.md`](instructions/terraform.instructions.md) — fmt, tflint, tfsec, trivy, state management, security +- [`shell.instructions.md`](instructions/shell.instructions.md) — safety flags, ShellCheck, quoting, error handling, Makefile standards ## Core Development Rules diff --git a/.gitignore b/.gitignore index 38463791..b5a94cd1 100644 --- a/.gitignore +++ b/.gitignore @@ -390,3 +390,8 @@ private.yml # End of petry-projects secrets baseline # ============================================================================ .dev-lead/ +.dev-lead/ +.dev-lead/ +.dev-lead/ +.dev-lead/ +.dev-lead/ diff --git a/standards/copilot-instructions-standard.md b/standards/copilot-instructions-standard.md index a2df7080..39f3ec82 100644 --- a/standards/copilot-instructions-standard.md +++ b/standards/copilot-instructions-standard.md @@ -92,6 +92,10 @@ only document what differs or adds detail. A repo-level `copilot-instructions.md` MUST include the following sections. Keep the file to approximately two pages — concise, specific, and actionable. +The `## Org Standards` section MUST list every language-specific `.instructions.md` file deployed +to `.github/instructions/` in that repo, each with a one-line scope description. This makes the +path-specific files discoverable without requiring contributors to browse the directory. + --- ```markdown @@ -147,7 +151,19 @@ apply.] ## Org Standards See [petry-projects/.github — AGENTS.md](https://github.com/petry-projects/.github/blob/main/AGENTS.md) -for full development standards. +for org-wide development standards. + +**Language-specific instructions** (applied automatically by Copilot when you open matching file types): + +- [TypeScript / TSX](instructions/typescript.instructions.md) — [strict config, branded types, DDD/CQRS, pino, React/Electron as applicable] +- [JavaScript](instructions/javascript.instructions.md) — [style, JSDoc, error handling] +- [Go](instructions/go.instructions.md) — [naming, gofmt, slog, error wrapping, concurrency, testing] +- [Shell](instructions/shell.instructions.md) — [safety flags, ShellCheck, quoting, error handling] +- [Python](instructions/python.instructions.md) — [black/ruff, type annotations, structlog, pytest] +- [Terraform](instructions/terraform.instructions.md) — [fmt, tflint, security scanning, state management] + +_List only the files actually deployed to `.github/instructions/` for this repo. +Omit this block entirely if no language instruction files were deployed._ ``` --- @@ -162,6 +178,7 @@ for full development standards. - Coverage thresholds and testing tools specific to this repo - Architecture patterns unique to this repo (e.g., Electron IPC conventions, GAS extraction pattern) - Any rule that overrides or refines the org-level defaults +- Links to every language-specific `.instructions.md` file deployed to `.github/instructions/`, each with a one-line scope description (list only files that are actually present) **Do NOT include in repo-level instructions:** @@ -169,6 +186,7 @@ for full development standards. - Rules already covered in language-specific `.instructions.md` files - Content already documented in `AGENTS.md` - Secrets, API keys, credentials, or example tokens with real values +- Links to language instruction files that were not deployed to this repo's `.github/instructions/` ## Content Quality Rules