Skip to content

Contributing

Please don’t hesitate to create a PR. It doesn’t have to be perfect. It doesn’t have to be genius. But we do have one request: it does have to be yours.

That doesn’t mean you can’t or shouldn’t use LLMs while coding. LLMs have been involved in many aspects of building this project by most maintainers.

What it does mean is that you are willing to take a sense of ownership of the PR. If you don’t understand what your code does, now is the time to work with the community to grow your understanding. If that doesn’t sound like something you can undertake right now, then feel free to create an issue or a discussion so we can understand how to make den better for you.

PRs are checked by CI, which will give you helpful automated tips for ensuring your contribution meets the minimum standards for contributing to the codebase.

AI assisted code contributions are subject to you agree with the following:

Tag your Issue / Pull-Request with the ai-assisted tag for future tracking and accountability.

Copy these terms into your PR description, and check them:

I <your-legal-name>, explicitly aknowledge the following:
- [ ] My contribution is AI generated and I mention which models/mcp-servers/tools were used.
- [ ] I recognize AI generated contribution as my own and am myself legally accountable for it.
- [ ] My contribution aligns with Den LICENSE and does not violate any other projects licenses (e.g. GPL)
- [ ] I will truthfully answer and provide any requested details on how contribution was generated.

Having marked those, ensure that

  • Your contribution is minimal and does not introduce unnecessary, unrelated, accidental complexity.
  • You removed repetition and polished code as you would have authored it and is suitable for maintainers.
  • You are responsable for problems/bugs caused by your contribution and will promptly fix them.
  • The bigger the contribution the more likely it will be rejected. Make several focused PRs.
  • Do not ask maintainers to read or interpret prose generated by an AI for you.
  • Please avoid sending AI assisted PR if you are not willing to understand Den codebase first.

Use just help to get a list of all tasks.

Terminal window
just fmt
just ci

Use the bogus template to create a minimal reproduction.

Failing tests are an awesome way to improve Den. Thanks :)

The documentation website is under ./docs/. Please help correct mistakes by sending a PR!

First, clone your fork of the repository.

Terminal window
git clone 'https://github.com/<your-username>/den'
cd den

Next, enter a nix shell.

Terminal window
## Classic tooling
nix-shell
## or flakes tooling!
nix develop

Then, change to the docs directory and install the necessary dependencies to docs/node_modules.

Terminal window
cd docs
pnpm install

Finally, start the docs webserver.

Terminal window
just docs

Now, you can edit the .mdx files in docs/src/content/docs and see your changes reflected immediately.

One of the best forms of contribution does not even require submitting code. Hang out in our community channels and help others with onboarding to den!

Thanks, You are awesome!

Contribute Community Sponsor