mirror of
https://github.com/jlengrand/Maestro.git
synced 2026-03-10 08:31:19 +00:00
1.6 KiB
1.6 KiB
Contributing to Maestro
Thank you for your interest in contributing to Maestro! This document provides guidelines and instructions for contributing.
Development Setup
- Fork and clone the repository
- Install dependencies:
npm install - Start development server:
npm run dev
Code Style
- TypeScript for all new code
- Use ESLint and Prettier (configs coming soon)
- Follow existing code patterns
- Add JSDoc comments for public APIs
Commit Messages
Use conventional commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesrefactor:- Code refactoringtest:- Test additions/changeschore:- Build process or tooling changes
Example: feat: add context usage visualization
Pull Request Process
- Create a feature branch from
main - Make your changes
- Add tests if applicable
- Update documentation
- Submit PR with clear description
- Wait for review
Architecture Guidelines
Main Process (Backend)
- Keep IPC handlers simple and focused
- Use TypeScript interfaces for all data structures
- Handle errors gracefully
- No blocking operations
Renderer Process (Frontend)
- Use React hooks
- Keep components small and focused
- Use Tailwind for styling
- Maintain keyboard accessibility
Security
- Never expose Node.js APIs to renderer
- Use preload script for all IPC
- Sanitize all user inputs
- Use
execFileinstead ofexec
Testing
# Run tests (when available)
npm test
# Type checking
npm run build:main
Questions?
Open a GitHub Discussion or reach out in Issues.