Skip to content

Commit 5d33088

Browse files
docs(changelog): add git-cliff and make changelog to documentation
Update all make target references, OpenClaw/agent prompts, standards pages, container docs, and retrofit guide with new changelog target. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent c2b3fe2 commit 5d33088

7 files changed

Lines changed: 23 additions & 7 deletions

File tree

content/_index.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Key rules:
2828
ghcr.io/devrail-dev/dev-toolchain:v1 container via `make` targets.
2929
4. Respect `.editorconfig` formatting rules.
3030
31-
Available make targets: lint, format, test, security, scan, check (all).
31+
Available make targets: lint, format, test, security, scan, changelog, check (all).
3232
Languages are declared in `.devrail.yml`. See https://devrail.dev/docs/standards/
3333
for per-language tool details.
3434
```
@@ -77,6 +77,7 @@ the retrofit guide at: https://devrail.dev/docs/getting-started/retrofit/
7777
- `make test` — run tests
7878
- `make security` — run security scanners
7979
- `make scan` — run trivy + gitleaks
80+
- `make changelog` — generate CHANGELOG.md from conventional commits
8081
- `make check` — run all of the above
8182
- `make help` — show available targets
8283

content/docs/container/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ The dev-toolchain container includes all tools needed for every supported langua
181181
|---|---|
182182
| trivy | Vulnerability scanning (filesystem and images) |
183183
| gitleaks | Secret detection |
184+
| git-cliff | Changelog generation from conventional commits |
184185
| pre-commit | Git hook management |
185186

186187
## Running Tools Directly

content/docs/contributing/ecosystem.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Repos never import code from each other. Integration happens through three mecha
4747
| Interface | Producer | Consumer | Contract |
4848
|---|---|---|---|
4949
| Container image | dev-toolchain | Templates (via Makefile) | `ghcr.io/devrail-dev/dev-toolchain:v1` with all tools installed |
50-
| Makefile targets | Templates | CI pipelines, agents, developers | `make lint/format/test/security/docs/check` |
50+
| Makefile targets | Templates | CI pipelines, agents, developers | `make lint/format/test/security/docs/changelog/check` |
5151
| `.devrail.yml` | Developer/agent | Makefile, CI | Language declarations, project settings |
5252
| Pre-commit hook | pre-commit-conventional-commits | Templates (via `.pre-commit-config.yaml`) | Conventional commit validation |
5353
| Agent instructions | DEVELOPMENT.md + shims | AI agents | Critical rules + pointer to full standards |

content/docs/getting-started/agents.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ If you do not want to commit DevRail files yet, you can paste instructions direc
6868
> - `make format` -- check formatting
6969
> - `make test` -- run tests
7070
> - `make security` -- run security scanners
71+
> - `make changelog` -- generate CHANGELOG.md from conventional commits
7172
> - `make check` -- run everything
7273
>
7374
> Languages are declared in `.devrail.yml`. The Makefile reads this file to determine which tools to run. See https://devrail.dev/docs/standards/ for per-language tool details.
@@ -162,6 +163,7 @@ the retrofit guide at: https://devrail.dev/docs/getting-started/retrofit/
162163
- `make test` — run tests
163164
- `make security` — run security scanners
164165
- `make scan` — run trivy + gitleaks
166+
- `make changelog` — generate CHANGELOG.md from conventional commits
165167
- `make check` — run all of the above
166168
- `make help` — show available targets
167169

content/docs/getting-started/retrofit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ git commit -m "chore: add DevRail development standards"
134134

135135
If your project already has a Makefile, you have two options:
136136

137-
1. **Merge targets.** Add DevRail's public targets (`lint`, `format`, `test`, `security`, `scan`, `docs`, `check`, `install-hooks`) to your existing Makefile. Keep your existing targets alongside them.
137+
1. **Merge targets.** Add DevRail's public targets (`lint`, `format`, `test`, `security`, `scan`, `docs`, `changelog`, `check`, `install-hooks`) to your existing Makefile. Keep your existing targets alongside them.
138138

139139
2. **Replace.** If your existing Makefile only has basic targets, replace it entirely with the DevRail Makefile.
140140

content/docs/standards/_index.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The following table shows the default tool for each concern per language. These
1919
| Tests | pytest | bats | terratest | molecule | rspec | go test | vitest |
2020
| Type Check | mypy | -- | -- | -- | sorbet | -- | tsc |
2121
| Docs | -- | -- | terraform-docs | -- | -- | -- | -- |
22-
| Universal | trivy, gitleaks | trivy, gitleaks | trivy, gitleaks | trivy, gitleaks | trivy, gitleaks | trivy, gitleaks | trivy, gitleaks |
22+
| Universal | trivy, gitleaks, git-cliff | trivy, gitleaks, git-cliff | trivy, gitleaks, git-cliff | trivy, gitleaks, git-cliff | trivy, gitleaks, git-cliff | trivy, gitleaks, git-cliff | trivy, gitleaks, git-cliff |
2323

2424
A `--` entry means the concern does not apply to that language. Universal tools run for all projects regardless of declared languages.
2525

@@ -35,6 +35,7 @@ Each Makefile target runs the relevant tools for all languages declared in `.dev
3535
| `make security` | bandit, semgrep, tfsec, checkov, brakeman, bundler-audit, govulncheck, npm audit |
3636
| `make scan` | trivy, gitleaks (universal -- all projects) |
3737
| `make docs` | terraform-docs |
38+
| `make changelog` | git-cliff (generate CHANGELOG.md from conventional commits) |
3839
| `make check` | All of the above in sequence |
3940

4041
## Per-Language Pages
@@ -46,7 +47,7 @@ Each Makefile target runs the relevant tools for all languages declared in `.dev
4647
- [Ruby Standards](/docs/standards/ruby/) -- rubocop, brakeman, bundler-audit, rspec, reek, sorbet
4748
- [Go Standards](/docs/standards/go/) -- golangci-lint, gofumpt, govulncheck, go test
4849
- [JavaScript Standards](/docs/standards/javascript/) -- eslint, prettier, npm audit, vitest, tsc
49-
- [Universal Security](/docs/standards/universal/) -- trivy, gitleaks
50+
- [Universal Security](/docs/standards/universal/) -- trivy, gitleaks, git-cliff
5051

5152
## Consistent Page Structure
5253

content/docs/standards/universal.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,18 @@
22
title: "Universal Security"
33
linkTitle: "Universal Security"
44
weight: 50
5-
description: "Universal security tools that run for every project: trivy and gitleaks."
5+
description: "Universal tools that run for every project: trivy, gitleaks, and git-cliff."
66
---
77

8-
These tools run for every DevRail-managed project regardless of declared languages. They provide baseline vulnerability scanning and secret detection.
8+
These tools run for every DevRail-managed project regardless of declared languages. They provide baseline vulnerability scanning, secret detection, and changelog generation.
99

1010
## Tools
1111

1212
| Category | Tool | Purpose |
1313
|---|---|---|
1414
| Vulnerability Scanning | trivy | Container image and filesystem vulnerability scanning |
1515
| Secret Detection | gitleaks | Detect secrets in git history and staged changes |
16+
| Changelog | git-cliff | Generate CHANGELOG.md from conventional commits |
1617

1718
All tools are pre-installed in the dev-toolchain container. Do not install them on the host.
1819

@@ -55,13 +56,22 @@ Recommended `.gitleaks.toml`:
5556

5657
gitleaks detects secrets (API keys, tokens, passwords) in git history and staged changes. Use the allowlist only for verified false positives.
5758

59+
### git-cliff
60+
61+
Config file: `cliff.toml` at repository root. The DevRail templates include a default configuration that groups commits by conventional commit type.
62+
63+
git-cliff reads your git log and generates a `CHANGELOG.md` following the [Keep a Changelog](https://keepachangelog.com/) format. It requires conventional commit messages to produce meaningful output.
64+
65+
Run `make changelog` to regenerate the changelog from the full commit history.
66+
5867
## Makefile Targets
5968

6069
| Target | Command | Description |
6170
|---|---|---|
6271
| `make scan` | `trivy fs .` | Filesystem vulnerability scan |
6372
| `make scan` | `trivy image <image>` | Container image vulnerability scan |
6473
| `make scan` | `gitleaks detect --source .` | Secret detection in repository |
74+
| `make changelog` | `git-cliff -o CHANGELOG.md` | Generate changelog from conventional commits |
6575

6676
The `make scan` target is separate from `make security`. The `security` target runs language-specific scanners (bandit, tfsec, etc.), while `scan` runs universal scanners that apply to all projects.
6777

@@ -91,4 +101,5 @@ repos:
91101
- **gitleaks runs both locally and in CI.** The local pre-commit hook catches secrets immediately; CI provides a final safety net.
92102
- **Findings at any severity level cause a non-zero exit code.** Do not suppress findings without explicit justification in `.trivyignore` or `.gitleaks.toml` allowlist.
93103
- **Both tools produce JSON output in CI** for artifact collection and reporting.
104+
- **`git-cliff` runs as part of `make changelog`**, which is separate from both `make scan` and `make check`. It generates a `CHANGELOG.md` from conventional commits and requires a `cliff.toml` configuration file.
94105
- **All tools are pre-installed in the dev-toolchain container.** Do not install them on the host.

0 commit comments

Comments
 (0)