Skip to content

Latest commit

 

History

History
58 lines (33 loc) · 3.61 KB

CONTRIBUTING.md

File metadata and controls

58 lines (33 loc) · 3.61 KB

Contributing to archival

If you're new to open source, the Open Source Guides is a good place to learn about how things usually work. Here are some especially helpful guides for folks just getting started:

Helping make archival better

archival is intentionally a very small tool, but since it runs in lots of different environments (OSs, WASM, CI), and has an ecosystem of sites and hosts, there's plenty of ways it can be improved. Here are some of the ones we focus on.

  • Build things with it - archival makes different choices about data, which means there are always new and interesting ways to use it. If you find your use case isn't smooth, reach out or file an issue.
  • Check out the open issues to see if anything looks fun to fix. We use the tag good first issue to indicate ones that are good for folks who haven't contributed yet.
  • Join the discord and ask questions, get the latest updates, and chat with us about your projects.

The editor and documentation sites are also open source, and while the editor is our product, it's also an example of how to build complex things with archival. If you find issues in either, please file an issue or a PR!

Reporting new issues

The public issue tracker is here on github - when reporting an issue, please do your best to put it in the right repo - for instance, if you're experiencing issues with the editor, file it in the editor repo. For template issues, use the template repo. For documentation issues, use the documentation repo.

Installation

To work on the archival library, all you need is the rust toolchain:

https://doc.rust-lang.org/cargo/getting-started/installation.html

Then, you can clone this repo and develop it using cargo.

Developing

While we're still young, just ask for help on discord - at a high level, the main thing to be aware of is that archival is cross-compiled into binaries for every major OS, mobile OSes, and WASM - so it's important to run the tests and pay attention to which features your code will run under.

To assist in avoiding finding about issues before breaking in CI, add a pre-commit hook:

echo "./pre-commit.sh" > .git/hooks/pre-commit

Creating a branch

Fork the repository and create your branch from main. If you've never sent a GitHub pull request before, you can learn how from this free video series.

Testing

archival uses a vanilla cargo setup for tests, and all tests can be run with ./test.sh in the root of the repo.

Style guide

archival uses clippy with default settings as the linter. See docs: https://doc.rust-lang.org/stable/clippy/installation.html

License

By contributing to archival, you agree that your contributions will be licensed under its Unlicense.