Skip to content

Latest commit

 

History

History
94 lines (70 loc) · 2.3 KB

File metadata and controls

94 lines (70 loc) · 2.3 KB

Contributing to Ron Notes

Development Workflow

  1. Create a feature branch: feature/your-feature-name
  2. Follow conventions in claude.md
  3. Write tests for new features
  4. Run tests and linting before committing
  5. Submit a pull request

Code Conventions

See claude.md Code Conventions section for:

  • TypeScript conventions
  • React patterns
  • File naming
  • Testing guidelines

Setting Up Development Environment

  1. Install dependencies:

    pnpm install
  2. Install Rust and Tauri prerequisites:

  3. Copy .env.example to .env and configure:

    cp .env.example .env
  4. Start development server:

    pnpm tauri:dev

Testing

  • Run unit tests: pnpm test
  • Run E2E tests: pnpm test:e2e
  • Generate coverage: pnpm test:coverage

Write tests for all new features:

  • Unit tests in tests/unit/
  • Integration tests in tests/integration/
  • E2E tests in tests/e2e/

Commit Messages

Follow Conventional Commits:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • refactor: Code refactoring
  • test: Test changes
  • chore: Build/config changes

Example: feat: add wiki-link autocomplete

Pull Request Process

  1. Ensure all tests pass: pnpm test && pnpm test:e2e
  2. Run type checking: pnpm typecheck
  3. Run linting: pnpm lint
  4. Format code: pnpm format
  5. Update documentation if needed
  6. Request code review
  7. Address review feedback
  8. Squash commits before merging

Code Style

  • Use TypeScript strict mode (no any without justification)
  • Prefer functional components over class components
  • Extract logic into custom hooks
  • Keep components small and focused
  • Use meaningful variable and function names

Architecture Guidelines

  • Local-First: All data stored locally first
  • Feature-Based: Organize code by feature, not by type
  • Atomic Design: Component hierarchy (atoms → molecules → organisms → templates)
  • Type Safety: Leverage TypeScript for runtime safety

Questions?

If you have questions, please:

  1. Check claude.md for detailed guidelines
  2. Look at existing code for patterns
  3. Open an issue for discussion