Skip to content

Contributing to Arctyk ITSM

Thank you for your interest in contributing to Arctyk ITSM!

We welcome all contributions, whether it’s code, documentation, design, or ideas. This guide will help you get started.


Table of Contents

  1. How to Get Involved
  2. Discussions
  3. Issues
  4. Code Contributions
  5. Development Setup
  6. Coding Standards
  7. Pull Requests
  8. Community Guidelines

How to Get Involved

There are many ways to contribute: - Participate in GitHub Discussions. - Report bugs and request features via Issues. - Contribute code, docs, or tests with pull requests. - Share your use cases and feedback to guide our roadmap.


Discussions

Use Discussions for: - Asking questions - Brainstorming new features - Reviewing the roadmap - Connecting with other users and contributors


Issues

  • Search existing issues before creating a new one.
  • For bugs, include:
  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Environment (OS, Python/Django version, etc.)
  • For feature requests, describe the problem and the proposed solution.

Code Contributions

We follow a modular approach: - arctyk-itsm → full ITSM platform
- arctyk-tickets → core tickets module
- Future apps (inventory, reports, etc.) will live in their own repos

Contribute code to the relevant app repo, not the community repo.


Development Setup

  1. Fork the repo you want to contribute to (e.g., arctyk-itsm or arctyk-docs).
  2. Clone your fork locally: bash git clone git@github.com:your-username/arctyk-itsm.git cd arctyk-itsm
  3. Create a virtual environment:

    py -m venv .venv
    .\.venv\Scripts\activate
    
    4. Install dependencies:
    pip install -r requirements.txt
    
    5. Run tests:
    pytest
    

    Coding Standards

    • Python: PEP8
    • Linting & Formatting: enforced via pre-commit (black, flake8, autoflake)
    • Commits: use Convential Commits
    • feat: add ticket assignment
    • fix: resolve migration conflict
    • chore: update dependencies

Install pre-commit hooks directly:

pip install pre-commit
pre-commit install

Pull Requests

  1. Create a feature branch:
    git checkout -b feature/my-new-feature
    
  2. Commit your changes with a clear message:
    git commit -m "feat: add bulk ticket assignment"
    
  3. Push to your fork:
    git push origin feature/my-new-feature
    
  4. Open a Pull Request against the dev brach of the repo.
  5. Ensure:
    • All tests pass
    • Pre-commit hooks pass
    • PR description explains why the change is neeeded

Community Guidelines

We follow the Contributor Covenant Code of Conduct.

Be respectful, inclusive and collaborative.

Questions?

Join the conversation in Discusssions or open an Issue in the relevant repo. We're excited to build Arctyk ITSM together!