Skip to content

Latest commit

 

History

History
87 lines (58 loc) · 2.62 KB

File metadata and controls

87 lines (58 loc) · 2.62 KB

Contributing to Avkash

Thanks for your interest in contributing to Avkash! This guide will help you get started.

Getting Started

  1. Fork the repository on GitHub

  2. Clone your fork:

    git clone https://github.com/<your-username>/avkash.git
    cd avkash
  3. Set up the development environment by following the README

  4. Create a branch for your change:

    git checkout -b feat/your-feature-name

Branch Naming

Use a prefix that matches the type of change:

  • feat/ — New features
  • fix/ — Bug fixes
  • docs/ — Documentation changes
  • refactor/ — Code refactoring
  • chore/ — Maintenance tasks

Commit Messages

This project uses commitlint to enforce conventional commits. Every commit message must follow this format:

type(scope): message

Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert

Scopes: setup, config, deps, feature, bug, docs, style, refactor, test, build, ci, release, other

Examples:

feat(feature): add bulk leave approval
fix(bug): fix timezone offset in timeline view
docs(docs): update environment variables table
refactor(refactor): extract leave validation logic

Code Quality

Pre-commit hooks run automatically via husky and lint-staged. They will:

  • Run type checking (tsc)
  • Format code with Prettier
  • Lint with ESLint

You can also run these manually:

pnpm lint          # Check for lint errors
pnpm lint-fix      # Auto-fix lint errors
pnpm format        # Check formatting
pnpm format:fix    # Auto-fix formatting

Pull Requests

  1. Make sure your branch is up to date with main
  2. Ensure all checks pass (pnpm lint, pnpm format, pnpm build)
  3. Write a clear PR title following the commit convention (e.g., feat(feature): add bulk leave approval)
  4. Describe what your PR does and why in the description
  5. Link any related issues

License and CLA

Avkash core is licensed under the GNU Affero General Public License v3.0. By contributing, you agree that your contribution is licensed under the same project license.

Zero8 Dot Dev Pvt Ltd may require a signed Contributor License Agreement before your pull request can be merged. The CLA preserves the open-core licensing model and allows commercial license exceptions for customers that cannot use AGPL software.

Reporting Issues

If you find a bug or have a feature request, please open an issue with a clear description and steps to reproduce.