What
New contributors have the README quickstart, but there's no single self-contained worked example that walks through a scan end to end. Let's add one under a new docs/examples/ directory.
Suggested scope
- A tiny, deliberately vulnerable sample (e.g. a 10-line Python file with a
shell=True command injection — see the golden fixture at packages/cortexward-eval/datasets/golden/v1/examples/command_injection.py for the shape).
- A short
README.md in the example folder showing the exact commands and the expected output:
uv run ward scan <example> (human table)
uv run ward scan <example> --format cortexward-json (full evidence)
- Link it from the top-level
README.md "Try it" section.
Why it's a good first issue
No new code paths — it exercises the existing CLI and documents real output. Great way to learn the tool. Just make sure every command you write actually runs (copy the real output, don't paraphrase it).
Pointers
- CLI:
packages/cortexward-cli/src/cortexward/cli/main.py
- Contributing guide:
CONTRIBUTING.md
What
New contributors have the README quickstart, but there's no single self-contained worked example that walks through a scan end to end. Let's add one under a new
docs/examples/directory.Suggested scope
shell=Truecommand injection — see the golden fixture atpackages/cortexward-eval/datasets/golden/v1/examples/command_injection.pyfor the shape).README.mdin the example folder showing the exact commands and the expected output:uv run ward scan <example>(human table)uv run ward scan <example> --format cortexward-json(full evidence)README.md"Try it" section.Why it's a good first issue
No new code paths — it exercises the existing CLI and documents real output. Great way to learn the tool. Just make sure every command you write actually runs (copy the real output, don't paraphrase it).
Pointers
packages/cortexward-cli/src/cortexward/cli/main.pyCONTRIBUTING.md