Community¶
ConfUSIus is developed in the open. This page gathers ways to contribute, report issues, and connect with the people maintaining the project.
Core Developers¶
-
Postdoctoral researcher, Cortexlab.
-
Independent researcher.
Acknowledgments¶
We gratefully acknowledge Mark S. Blumberg, PhD, and Brett Dwyer, Research Associate, of the University of Iowa Department of Psychological and Brain Sciences, for their feedback on the ConfUSIus GUI plugin. We also thank them for providing an example SCAN v2 file that helped guide the implementation of the experimental SCAN v2 loader.
Contributing¶
We welcome contributions to ConfUSIus. This guide will help you get started.
Getting Started¶
- Open an issue to discuss your idea or bug fix.
- Fork the repository on GitHub.
- Clone your fork locally.
- Set up the development environment.
- Make your changes.
- Submit a pull request.
Development Installation¶
# Clone your fork
git clone https://github.com/confusius-tools/confusius.git
cd confusius
# Install with development dependencies
uv sync
# Run tests
just test
# Run pre-commit hooks
just pre-commit
Code Style¶
- Use ruff for linting and formatting.
- Run pre-commits (e.g., using prek) and tests before committing.
- Add tests for new functionality.
- Update documentation as needed.
Documentation¶
Documentation is built on GitHub Actions and deployed to a separate GitHub Pages repository (confusius-tools/confusius-docs). Every pull request gets an automatic preview, with a link posted as a comment on the PR. The preview is cleaned up automatically when the PR is closed.
To build and serve the docs locally:
Adding documentation images. Image generators live in docs/images/<topic>/generate.py
(outputs are gitignored; only the script is committed). If you add a new one:
- Add it to the
just generate-doc-imagesrecipe injustfile. - Register it in the Generate documentation images step of
.github/workflows/docs.yml. - If it uses an already-cached dataset, add the script path to that dataset's
hashFiles(...)call in the workflow so the cache invalidates when the script changes. If it needs a new dataset, add a dedicated cache step.
Adding examples. Example scripts live in docs/examples/ and are discovered
automatically by the gallery builder — no cache update needed (the cache key already
covers docs/examples/**/*.py). After adding a script, add its built output path to
the nav in zensical.toml.
Reporting Issues¶
If you find a bug or have a feature request:
- Check if the issue already exists.
- Create a new issue with a clear description.
- Include steps to reproduce (for bugs).
- Include code examples if applicable.
Code of Conduct¶
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold it.