Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 1.91 KB

File metadata and controls

23 lines (18 loc) · 1.91 KB

Project Standards

This project follows DevRail development standards. See DEVELOPMENT.md for the complete reference.

Critical Rules

  1. Run make check before completing any story or task. Never mark work done without passing checks. This is the single gate for all linting, formatting, security, and test validation.
  2. Use conventional commits. Every commit message follows the type(scope): description format. No exceptions.
  3. Never install tools outside the container. All linters, formatters, scanners, and test runners live inside ghcr.io/devrail-dev/dev-toolchain:v1. The Makefile delegates to Docker. Do not install tools on the host.
  4. Respect .editorconfig. Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction.
  5. Write idempotent scripts. Every script must be safe to re-run. Check before acting: command -v tool || install_tool, mkdir -p, guard file writes with existence checks.
  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.
  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.
  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.

Quick Reference

  • Run make check to validate all standards
  • Run make help to see available targets
  • Run make build to build the Hugo site
  • Run make serve to start the local development server
  • All tools run inside the dev-toolchain container