Skip to content

Commit 03362b1

Browse files
docs(standards): add critical rule 9 — ensure DevRail Makefile is active (#16)
GNU Make prefers GNUmakefile over makefile over Makefile. Projects with a GNUmakefile (e.g., Terraform providers) silently ignore the DevRail Makefile. Add rule to all 4 agent instruction templates. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1390606 commit 03362b1

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

scripts/devrail-init.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ See DEVELOPMENT.md for the complete reference.
366366
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
367367
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
368368
8. **Update documentation when changing behavior.** When a change affects public interfaces, configuration, CLI usage, or setup steps, update the relevant documentation (README, DEVELOPMENT.md, inline docs) in the same commit or PR. Do not leave documentation out of sync with code.
369+
9. **Ensure the DevRail `Makefile` is active.** GNU Make prefers `GNUmakefile` over `makefile` over `Makefile`. If the project has a `GNUmakefile` or `makefile`, the DevRail `Makefile` will be silently ignored. Merge project-specific targets into the DevRail `Makefile`, or add `include Makefile` to the existing `GNUmakefile`.
369370
370371
## Quick Reference
371372
@@ -388,6 +389,7 @@ See DEVELOPMENT.md for the complete reference.
388389
6. **Use the shared logging library.** No raw `echo` for status messages. Use `log_info`, `log_warn`, `log_error`, `log_debug`, and `die` from `lib/log.sh`.
389390
7. **Never suppress failing checks.** When a lint, format, security, or test check fails, fix the underlying issue. Never comment out code, add suppression annotations, disable rules, or mark CI jobs as allowed-to-fail to bypass a failing check.
390391
8. **Update documentation when changing behavior.** When a change affects public interfaces, configuration, CLI usage, or setup steps, update the relevant documentation (README, DEVELOPMENT.md, inline docs) in the same commit or PR. Do not leave documentation out of sync with code.
392+
9. **Ensure the DevRail `Makefile` is active.** GNU Make prefers `GNUmakefile` over `makefile` over `Makefile`. If the project has a `GNUmakefile` or `makefile`, the DevRail `Makefile` will be silently ignored. Merge project-specific targets into the DevRail `Makefile`, or add `include Makefile` to the existing `GNUmakefile`.
391393
392394
## Quick Reference
393395
@@ -425,6 +427,11 @@ Critical Rules:
425427
the relevant documentation (README, DEVELOPMENT.md, inline docs) in
426428
the same commit or PR. Do not leave documentation out of sync with
427429
code.
430+
9. Ensure the DevRail Makefile is active. GNU Make prefers GNUmakefile
431+
over makefile over Makefile. If the project has a GNUmakefile or
432+
makefile, the DevRail Makefile will be silently ignored. Merge
433+
project-specific targets into the DevRail Makefile, or add
434+
`include Makefile` to the existing GNUmakefile.
428435
429436
Quick Reference:
430437
@@ -467,6 +474,11 @@ Quick Reference:
467474
the relevant documentation (README, DEVELOPMENT.md, inline docs) in
468475
the same commit or PR. Do not leave documentation out of sync with
469476
code.
477+
9. Ensure the DevRail Makefile is active. GNU Make prefers GNUmakefile
478+
over makefile over Makefile. If the project has a GNUmakefile or
479+
makefile, the DevRail Makefile will be silently ignored. Merge
480+
project-specific targets into the DevRail Makefile, or add
481+
`include Makefile` to the existing GNUmakefile.
470482
471483
Quick Reference:
472484

0 commit comments

Comments
 (0)