Contributing
Updated
Open a GitHub issue with the Bug report or Feature request form, or send a pull request from a branch off main. Keep each change to one thing, run the checks on your machine, and say what changed, why and how you checked it.
Quotable facts
As of 2026-10-07
- Licence: Apache-2.0 (LICENSE file, 2026-10-07).
- Two issue forms: Bug report and Feature request (.github issue forms, 2026-10-07).
- Automatic checks on every pull request run the Python tests and the JavaScript lint, type check, build and tests (.github/workflows/ci.yml, 2026-10-07).
Crowsnest is open source under Apache-2.0, and you are welcome to help. Report a bug, suggest a feature, or send a change. The code and design notes live in the repository.
How do I report a bug?
Open an issue on GitHub with the Bug report form. Say what you expected and what happened, give steps to repeat it, and include your system: your operating system, your Python and Node versions, and whether you use Docker or run from source. Paste logs with keys removed. A lockfile snippet that reproduces the problem gets fixed faster.
How do I ask for a feature?
Open an issue with the Feature request form. Describe the problem before the fix. Crowsnest's scope is checking the packages in your lockfile; ideas outside that may suit a separate tool.
How do I send a change?
- Fork the repository, or branch from
mainif you have access. - Name the branch for what it does, such as
fix/lockfile-v3-parsing. - Keep the change to one thing.
- Run the checks on your machine (below).
- Open a pull request. Say what changed, why, and how you checked it. Link the issue.
- Wait for a review. A maintainer will review it and may ask for changes.
Which checks should I run?
pytest packages/core/tests
pnpm run lint
pnpm run typecheck
pnpm run testThe same kind of checks run automatically on every pull request, plus a build. A change needs them green before it can merge. Commit messages have no fixed format; explain why, not only what.
Where are the technical notes?
How Crowsnest is built is documented in the repository, not on this site. Start with README.md and CONTRIBUTING.md at the repository root.
What this does not do
- It does not give you a way to reach the maintainers privately. There is no contact address yet; use GitHub issues.
- It does not promise a reply time or that every change is accepted.
- It does not replace the Troubleshooting page. Check there first for a known fault.
New to Crowsnest? Start with the Introduction, then the Installation page, and read the FAQ.
A good bug report is a contribution. So is a doc fix.
Nib's tip: a bug report is a contribution.
Related
- InstallationInstall Crowsnest with Docker or from source on macOS, Linux or Windows. Requirements, the command line tool, updating and uninstalling, step by step.
- TroubleshootingFix common Crowsnest problems: a dashboard showing Offline, port 8000 in use, the file-in-use error, Docker not starting, and a scan that finds nothing.
- FAQAnswers to common questions about Crowsnest: what it is, whether it needs API keys, what it costs, what it can't see and what to do when it says Hold.
- IntroductionLearn what Crowsnest is, who it is for, and how to read a call: Clear, Watch or Hold. A plain introduction to a free, open-source package checker.