Conversation
Reviewer's GuideThis PR centralizes formatting, linting, testing, and documentation validation into new Makefile targets, updates AGENTS.md and README.md to reference these make commands, and reflows the README paragraph via mdformat. Class diagram for new Makefile targetsclassDiagram
class Makefile {
+build()
+test()
+fmt()
+build-support-run()
+lint()
+markdownlint()
+nixie()
}
Makefile : build() -> cargo build
Makefile : test() -> cargo test
Makefile : fmt() -> cargo fmt, mdformat-all
Makefile : lint() -> cargo clippy
Makefile : markdownlint() -> markdownlint *.md **/*.md
Makefile : nixie() -> nixie *.md **/*.md
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe project introduces a Makefile with standardised targets for building, testing, formatting, linting, and validating documentation. Corresponding updates in AGENTS.md instruct developers to use these Makefile targets instead of direct tool commands. README.md receives a minor formatting adjustment without altering content. Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant Makefile
participant Cargo
participant Scripts
participant LintTools
Developer->>Makefile: make build / make test / make fmt / make lint / make markdownlint / make nixie
Makefile->>Cargo: Runs build/test/fmt/lint commands (with env vars)
Makefile->>LintTools: Runs markdownlint, mdformat-all, nixie as needed
Makefile->>Scripts: Runs build_support_runner.sh (for build-support-run)
Possibly related PRs
Suggested reviewers
Poem
✨ Finishing Touches🧪 Generate Unit Tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (3)
AGENTS.md(2 hunks)Makefile(1 hunks)README.md(1 hunks)
🧰 Additional context used
🪛 checkmake (0.2.2)
Makefile
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: build-test
🔇 Additional comments (4)
Makefile (1)
14-15: Documentmdformat-allrequirement.Ensure
mdformat-allis listed as a prerequisite (e.g. in README or CONTRIBUTING) or installed via a dev dependency somake fmtsucceeds consistently.AGENTS.md (2)
7-8: Verify prerequisites for markdownlint.The guideline now refers to
make markdownlint. Please confirm thatmarkdownlint-cliis noted as a dependency or preinstalled so this target reliably runs in all environments.
26-27: Approve addition ofmake nixie.Validating Mermaid diagrams via
make nixiealigns with the Makefile and enhances documentation checks.README.md (1)
83-84: Approve reflowed documentation paragraph.The merged sentence improves readability without altering meaning. Nice formatting adjustment.
| @@ -0,0 +1,31 @@ | |||
| .PHONY: build test fmt build-support-run lint markdownlint nixie | |||
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Include standard phony targets.
Consider adding all (aliasing build) and a clean target to .PHONY for conventional Makefile support and repository cleanup.
Example:
.PHONY: all clean build test fmt ...
all: build
clean:
cargo clean
🧰 Tools
🪛 checkmake (0.2.2)
[warning] 1-1: Missing required phony target "all"
(minphony)
[warning] 1-1: Missing required phony target "clean"
(minphony)
🤖 Prompt for AI Agents
In the Makefile at line 1, add the standard phony targets `all` and `clean` to
the `.PHONY` declaration. Define an `all` target that depends on `build` and a
`clean` target that runs `cargo clean` to support conventional Makefile usage
and enable repository cleanup.
| markdownlint *.md **/*.md | ||
|
|
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Ensure markdownlint globbing works.
The **/*.md pattern may not expand in POSIX shells. Consider quoting the glob or using find:
markdownlint:
find . -name '*.md' | xargs markdownlint🤖 Prompt for AI Agents
In the Makefile around lines 28 to 29, the markdownlint command uses the glob
pattern '**/*.md' which may not expand correctly in POSIX shells. To fix this,
replace the glob pattern with a find command that searches for all '.md' files
recursively and pipes them to markdownlint using xargs. This ensures
compatibility across different shell environments.
| . ./.env | ||
| export DDLOG_HOME | ||
| RUSTFLAGS="-D warnings" cargo build |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Reduce duplication of environment setup.
The lines sourcing .env and exporting DDLOG_HOME repeat across targets. You can enable .ONESHELL or introduce a helper rule to consolidate this:
.ONESHELL:
ENV := . ./.env && export DDLOG_HOME
build test lint build-support-run:
$(ENV)
RUSTFLAGS="-D warnings" cargo $(@)Also applies to: 9-11, 18-20, 23-25
🤖 Prompt for AI Agents
In the Makefile around lines 4 to 6, 9 to 11, 18 to 20, and 23 to 25, the
environment setup commands sourcing ./.env and exporting DDLOG_HOME are
duplicated across multiple targets. To fix this, enable the .ONESHELL directive
at the top of the Makefile and define a single environment setup variable or
helper rule that sources ./.env and exports DDLOG_HOME. Then, update the build,
test, lint, and build-support-run targets to use this shared environment setup
before running their respective cargo commands, reducing duplication and
improving maintainability.
| nixie: | ||
| nixie *.md **/*.md |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Ensure nixie globbing works.
Similarly, **/*.md might not be recognised by all shells. Use a find-based approach or quote the pattern to capture subdirectories reliably.
🤖 Prompt for AI Agents
In the Makefile at lines 30 to 31, the glob pattern `**/*.md` used in the nixie
target may not be recognized by all shells, causing it to miss markdown files in
subdirectories. Replace the glob pattern with a `find` command that searches
recursively for `.md` files or quote the pattern to ensure it is interpreted
correctly by the shell. This will make the nixie target reliably process all
markdown files in subdirectories.
Summary
fmtrule to runmdformat-allmake markdownlintinAGENTS.mdTesting
make fmtmake lintmake testmake nixiehttps://chatgpt.com/codex/tasks/task_e_68560d14a0288322b06aefcb94cd90d6
Summary by Sourcery
Provide a Makefile to centralize environment setup and common development workflows, fix the formatting rule to include Mdformat, and update documentation to reference the new make targets and reflow a README paragraph.
Bug Fixes:
fmtMakefile target to runmdformat-all.Enhancements:
Documentation:
make fmt,make markdownlint,make lint, andmake nixie.Summary by CodeRabbit