Skip to content

Latest commit

 

History

History
83 lines (64 loc) · 3.71 KB

File metadata and controls

83 lines (64 loc) · 3.71 KB

Contributing to Photon

Thank you for your interest in contributing to Photon!

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/<your-username>/photon.git
  3. Install dependencies: npm install
  4. Build: npm run build
  5. Run tests: npm test

Development Workflow

  1. Create a feature branch from main: git checkout -b feat/my-feature
  2. Make your changes
  3. Ensure code passes lint and format checks:
    npm run lint
    npm run format:check
  4. Run the full test suite: npm test
  5. Commit using Conventional Commits:
    • fix: for bug fixes (patch release)
    • feat: for new features (minor release)
    • feat: with BREAKING CHANGE: in body for breaking changes (major release)
  6. Push your branch and open a Pull Request

Pull Request Guidelines

  • Keep PRs focused — one feature or fix per PR
  • Include a clear description of what changed and why
  • Add tests for new functionality
  • Ensure all CI checks pass before requesting review
  • Update documentation if your change affects public APIs

Code Style

  • TypeScript with strict mode
  • Formatting enforced by Prettier (config in .prettierrc)
  • Linting via ESLint (config in eslint.config.mjs)
  • Run npm run format to auto-fix formatting
  • Run npm run lint:fix to auto-fix lint issues

Project Structure

  • src/ — Main source code
  • tests/ — Test files
  • docs/ — User-facing documentation
  • docs/internals/ — Internal architecture docs for contributors
  • templates/ — Project templates

Architecture & Implementation Docs

Detailed documentation for contributors can be found in docs/internals/:

For general usage and development of Photon MCPs:

Reporting Issues

Use GitHub Issues to report bugs or request features. Please include:

  • Steps to reproduce (for bugs)
  • Expected vs actual behavior
  • Node.js version and OS