This project follows DevRail development standards. See DEVELOPMENT.md for the complete reference.
- Run
make checkbefore 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. - Use conventional commits. Every commit message follows the
type(scope): descriptionformat. No exceptions. - 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. - Respect
.editorconfig. Never override formatting rules (indent style, line endings, trailing whitespace) without explicit instruction. - 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. - Use the shared logging library. No raw
echofor status messages. Uselog_info,log_warn,log_error,log_debug, anddiefromlib/log.sh. - 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.
- Run
make checkto validate all standards - Run
make helpto see available targets - Run
make buildto build the Hugo site - Run
make serveto start the local development server - All tools run inside the dev-toolchain container