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
| Type | When to use |
|---|---|
| feat | New lab, new feature, new validator |
| fix | Bug fix in validator, CLI, or UI |
| docs | Documentation only changes |
| chore | Build scripts, deps, CI |
| refactor | Code change with no behavior change |
| style | Formatting, CSS, whitespace |
| test | Adding or improving tests |
Code style
| Area | Standard |
|---|---|
| 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 |
