Skip to content

Latest commit

 

History

History
143 lines (102 loc) · 3.03 KB

File metadata and controls

143 lines (102 loc) · 3.03 KB

Contributing to Devvami

Thank you for your interest in contributing to Devvami! We welcome contributions from everyone.

Code of Conduct

Please read and follow our Code of Conduct.

Getting Started

Prerequisites

  • Node.js >= 24 — managed with nvm
  • pnpm >= 10 — see pnpm docs
  • Git

Setup Development Environment

  1. Fork the repository on GitHub

  2. Clone your fork:

    git clone https://github.com/YOUR_USERNAME/devvami.git
    cd devvami
  3. Use correct Node.js version:

    nvm use
  4. Install dependencies:

    pnpm install
  5. Verify setup:

    pnpm test
    pnpm lint

Making Changes

Code Style

  • JavaScript (ESM) with JSDoc type annotations
  • JSDoc required on all public functions: @param, @returns, @typedef, @type
  • Files must have "type": "module" in package.json (native ESM)
  • ESLint + Prettier enforced via lefthook pre-commit

Creating a Commit

Use the interactive commit wizard:

pnpm commit

This ensures your commits follow Conventional Commits format:

<type>(<scope>): <subject>

<body>
<footer>

Examples:

feat(commands): add dvmi tasks filter
fix(services): correct github auth flow
docs(readme): update install instructions

Before Submitting a PR

  1. Run tests & linting:

    pnpm test
    pnpm lint
  2. Fix any issues:

    pnpm lint:fix
    pnpm format
  3. Update snapshots if needed:

    pnpm test:update

Pull Request Process

  1. Create a feature branch:

    git checkout -b feat/my-feature
  2. Push to your fork:

    git push origin feat/my-feature
  3. Open a Pull Request on the main repository

  4. Fill the PR template with:

    • What does this PR do?
    • Link to related issue (if any)
    • Breaking changes?
    • Test coverage?
  5. Wait for CI/CD to pass and maintainers to review

PR Guidelines

  • One feature per PR — keep scope focused
  • Tests required — new features must have test coverage
  • Update docs — if you change behavior, update README/AGENTS.md
  • Keep commits clean — rebase before merging if needed
  • Be descriptive — in commit messages and PR description

Reporting Issues

Use GitHub Issues with the appropriate template:

  • Bug Report — Something is broken
  • Feature Request — A new idea or enhancement
  • Question — Ask for help

Please search existing issues first to avoid duplicates.

Security

Found a vulnerability? Do not open a public issue. Please read SECURITY.md for responsible disclosure.

Questions?

  • Documentation — Read README.md and AGENTS.md
  • Issues — Open a GitHub Discussion or Issue
  • Chat — Check if there's an active community channel

Thank you for contributing! 🎉