We welcome contributions to SpiralSafe! This document provides guidelines for contributing to the project.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/QDI.git cd QDI - Install dependencies:
bun install
- Create a branch for your changes:
git checkout -b feature/your-feature-name
- Read the Coding Guidelines
- Check existing issues and PRs to avoid duplicates
- Discuss major changes in an issue first
- Write tests for new functionality
- Update documentation as needed
- Follow coding standards:
- Use TypeScript strict mode
- Remove unused imports/variables
- Write clear, descriptive commit messages
- Maintain coherence: Ensure text coherence ≥70% (use wave-toolkit)
# Run all tests
bun test
# Run linter
bun run lint
# Type check
bun x tsc --noEmit
# Build packages
bun run buildcd packages/quantum-ethics
pip install -r requirements.txt # if exists
pytest tests/ -vFollow Conventional Commits:
type(scope): subject
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation onlystyle: Code style (formatting, semicolons, etc.)refactor: Code refactoringtest: Adding/updating testschore: Maintenance tasks
Examples:
feat(quantum-ethics): add Qiskit backend support
fix(wave-toolkit): handle division by zero in coherence calc
docs(README): update installation instructions
- Update documentation reflecting your changes
- Add tests covering your changes
- Ensure all tests pass locally
- Run linter and fix any issues
- Create PR with clear description:
- What problem does it solve?
- How does it solve it?
- Any breaking changes?
- Screenshots (if UI changes)
Your PR must:
- ✅ Pass all CI checks (lint, test, build)
- ✅ Have clear commit messages
- ✅ Include tests for new functionality
- ✅ Update relevant documentation
- ✅ Maintain or improve code coverage
- ✅ Follow coding guidelines
- Automated checks run on PR creation
- Maintainers review code and provide feedback
- Address review comments
- Once approved, PR is merged
- Be open to feedback
- Respond to comments promptly
- Ask questions if feedback is unclear
- Keep PRs focused and reasonably sized
- Be constructive and respectful
- Focus on code quality and maintainability
- Suggest improvements with examples
- Approve when standards are met
Include:
- Description: What happened vs. what you expected
- Steps to reproduce: Minimal steps to trigger the bug
- Environment: OS, Bun version, Node version
- Error messages: Full error output
- Screenshots: If applicable
Include:
- Use case: What problem does it solve?
- Proposed solution: How should it work?
- Alternatives: Other approaches considered
- Additional context: Examples, mockups, etc.
- Mathematical precision is critical
- Document formulas with academic references
- Include performance benchmarks for algorithms
- Maintain provenance chain integrity
- Validate ATOM tag format rigorously
- Test state transitions thoroughly
- Security first: Validate all inputs
- Python integration: Test with multiple Python versions
- Qiskit compatibility: Test with specified Qiskit versions
- Provenance: Track all quantum operations
- Follow DSPy patterns and conventions
- Document all signature inputs/outputs
- Provide comprehensive usage examples
DO NOT create public issues for security vulnerabilities.
Instead:
- Email security concerns privately (check GitHub security tab)
- Include detailed description and reproduction steps
- Allow time for fix before public disclosure
- Never commit secrets (API keys, tokens, passwords)
- Use environment variables for sensitive config
- Validate and sanitize all inputs
- Keep dependencies updated
- Be respectful: Treat everyone with respect
- Be collaborative: Help others learn and grow
- Be constructive: Provide actionable feedback
- Be inclusive: Welcome diverse perspectives
- Harassment or discrimination
- Trolling or insulting comments
- Spam or off-topic discussions
- Sharing private information
Violations may result in:
- Warning
- Temporary ban
- Permanent ban
Report issues to maintainers via GitHub.
This Contributing Guide is adapted from open source best practices and tailored for SpiralSafe.
- Documentation: Check Coding Guidelines
- Issues: Browse existing issues
- Discussions: Join GitHub Discussions
- Contact: Reach out to @Grok
Contributors are recognized in:
- Release notes
- GitHub contributors page
- Project README (significant contributions)
Thank you for contributing to SpiralSafe! 🌀