Skip to content

Types of Contributions

CAIRA welcomes contributions of all types and skill levels. This guide outlines the different ways you can contribute.

Issue States

We manage contributions with a backlog, and we manage that backlog with issues of various types which transition between various states.

Whatever the type of issue, the flow for how we manage them will look the same.

  • Untriaged - Default for new issues when being made by anybody.
  • Backlog - Managed by team maintainer. This reflects that the team has chosen to approve but not prioritize the issue.
  • Prioritized - Managed by team maintainer. This reflects that the team has chosen to approve the issue and prioritize it.
  • Not Started - Manually assigned during sprint planning, when an issue is brought into a sprint.
  • In Progress - Managed by the issue owner to reflect work has begun.
  • In Review - Managed by the issue owner to reflect that a PR is open.
  • Done - Managed by GitHub. Issues will automatically be moved to Done when the associated PR is merged.
  • Blocked - Any issue may move in or out of Blocked state depending on if it depends on some other issue to be complete first.
flowchart LR
    Untriaged
    Backlog
    Prioritized
    NotStarted["Not Started"]
    InProgress["In Progress"]
    InReview["In Review"]
    Done
    Blocked
    Untriaged --> Prioritized
    Untriaged --> Backlog
    Backlog --> Prioritized
    Prioritized --> NotStarted
    NotStarted --> InProgress
    NotStarted <--> Blocked
    InProgress --> InReview
    InProgress <--> Blocked
    InReview --> Done
    InReview <--> Blocked

Examples

  • Documentation Improvements
  • Bug Reports
  • Usage Examples
  • Bug Fixes
  • New configurations

Contribution Quality Standards

All Contributions

  • Clear communication - Explain what you're doing and why
  • Follow project conventions - Use existing patterns and styles
  • Include appropriate tests - Verify your changes work as expected
  • Update documentation - Keep docs in sync with code changes
  • Responsive to feedback - Engage constructively in code reviews

Code Contributions

  • Security-first approach - Follow Microsoft Cloud Security Benchmark
  • Performance considerations - Optimize for Azure deployment patterns
  • Maintainability - Write clear, well-commented code
  • Compliance-ready - Consider regulatory requirements

Documentation Contributions

  • Accurate information - Verify all technical details
  • Clear writing style - Use simple, direct language
  • Practical examples - Include working code samples
  • Consistent formatting - Follow existing documentation patterns
  • Accessible content - Consider different skill levels

Community Support

Getting Help

  • GitHub Discussions - Ask questions and share ideas
  • Issue comments - Get help with specific contributions
  • Documentation - Check existing guides and examples
  • Code examples - Look at existing implementations

Ready to contribute? Choose a type that matches your skills and interests, then follow our Development Workflow to get started!