Contributing

Coding Standards

Commit conventions, code style, and PR checklist.

Commit convention

TLD follows Conventional Commits. Every commit message must follow this format:

text
<type>(<scope>): <short description>
 
[optional body]
 
Examples:
feat(challenges): add dkr-fix-broken-container-network lab
fix(validator): correct nginx port check in linux-networking
docs: update contributing guide
chore(deps): bump next to 16.2.6
TypeWhen to use
featNew lab, new feature, new validator
fixBug fix in validator, CLI, or UI
docsDocumentation only changes
choreBuild scripts, deps, CI
refactorCode change with no behavior change
styleFormatting, CSS, whitespace
testAdding or improving tests

Code style

AreaStandard
Go (CLI)gofmt + golint — run make lint before committing
Python (API)black + ruff — run ruff check . before committing
TypeScript (frontend)ESLint + Prettier — run npm run lint before committing
Bash (validators)shellcheck — all validators must pass shellcheck