Contributing

Thank you for your interest in contributing to the Styx ecosystem! This section provides detailed guides for contributing to different components of the project.

Contribution Areas

The Styx ecosystem consists of several components that work together:

  1. NiWrap - A collection of descriptors for neuroimaging tools
  2. Styx Compiler - Transforms descriptors into type-safe language bindings
  3. Language-specific packages - The compiled outputs for Python, TypeScript, and R
  4. Documentation - The Styx Book that you're reading right now

Guides in this Section

Why Contribute?

Your contributions help expand the ecosystem of type-safe neuroimaging tools across multiple programming languages. Whether you're fixing a bug, adding support for a new tool, or improving documentation, your work directly benefits researchers and developers in the neuroimaging community.

We strive to make contributing as accessible as possible, regardless of your technical background:

  • Documentation contributions are a great way to get started
  • NiWrap descriptor contributions are accessible to researchers with basic JSON knowledge
  • Compiler contributions welcome those with more programming experience

We value clear, approachable documentation and code that helps make neuroimaging analysis more accessible to all.

Getting Help

If you're not sure where to start or have questions about contributing:

  1. Check the NiWrap issue tracker or the Styx compiler issue tracker
  2. Look for issues labeled "good first issue" for beginner-friendly tasks
  3. Reach out to the maintainers through GitHub issues

We welcome contributors of all experience levels and backgrounds!