Skip to content

Latest commit

 

History

History
169 lines (130 loc) · 2.18 KB

CONTRIBUTING.md

File metadata and controls

169 lines (130 loc) · 2.18 KB

Contributing Guide 🤝

Getting Started

  1. Fork Repository
git clone <your-fork-url>
cd job-application-automation
  1. Install Dependencies
npm install
  1. Setup Development Environment
npm run setup

Development Guidelines

Code Style

  • Use TypeScript
  • Follow ESLint rules
  • Use Prettier formatting
  • Write JSDoc comments

Component Structure

// ComponentName.tsx
import React from 'react';
import { useStore } from '../store/useStore';

interface Props {
  // Props interface
}

export default function ComponentName({ prop1, prop2 }: Props) {
  // Component logic
  return (
    // JSX
  );
}

Testing

  1. Run Tests
npm run test
  1. Add New Tests
  • Unit tests for utilities
  • Component tests
  • Integration tests

Edge Functions

  1. Create Function
supabase functions new function-name
  1. Test Locally
supabase functions serve function-name
  1. Deploy
npm run functions:deploy

Pull Request Process

  1. Create Branch
git checkout -b feature/your-feature
  1. Make Changes
  • Write code
  • Add tests
  • Update docs
  1. Commit
git commit -m "feat: add new feature"
  1. Push Changes
git push origin feature/your-feature
  1. Open PR
  • Use PR template
  • Add description
  • Link issues

Best Practices

Components

  • Keep components small
  • Use TypeScript
  • Add prop types
  • Write tests

State Management

  • Use Zustand
  • Keep stores focused
  • Document state shape

Edge Functions

  • Handle errors
  • Add logging
  • Set timeouts
  • Add validation

Database

  • Use migrations
  • Add indexes
  • Enable RLS
  • Document schema

Review Process

  1. Code Review
  • Follow checklist
  • Address feedback
  • Update tests
  1. Testing
  • Run test suite
  • Check coverage
  • Manual testing
  1. Documentation
  • Update README
  • Add JSDoc
  • Update guides

Release Process

  1. Version Bump
npm version patch|minor|major
  1. Create Tag
git tag v1.0.0
  1. Deploy
npm run deploy:prod

Need Help?

  • Check documentation
  • Open issue
  • Join Discord
  • Ask maintainers