Thanks for your interest in contributing to Ycode! This guide will help you get started.
- Node.js v18 or later
- A Supabase project (free tier works)
- A Vercel account (for deployment) or local development
-
Fork and clone the repository:
git clone https://github.com/YOUR-USERNAME/ycode.git cd ycode -
Install dependencies:
npm install
-
Copy the environment template and fill in your Supabase credentials:
cp .env.example .env.local
-
Start the development server:
npm run dev
-
Open http://localhost:3002 in your browser.
To run pending migrations:
npm run migrate:latestTo create a new migration:
npm run migrate:make -- migration_name-
Create a new branch from
main:git checkout -b feat/your-feature-name
-
Make your changes and ensure they pass linting and type checks:
npm run lint npm run type-check
-
Commit your changes following our commit conventions:
feat: add new feature fix: resolve specific bug refactor: restructure without behavior change chore: maintenance or dependency update docs: documentation onlyUse imperative mood, lowercase after the type prefix, and keep the subject line under 50 characters.
-
Push your branch and open a pull request.
- Keep PRs focused — one feature or fix per PR
- Include a clear summary of what changed and why
- Add a test plan describing how to verify the changes
- Link related issues when applicable
- Use GitHub Issues to report bugs
- Include steps to reproduce, expected behavior, and actual behavior
- Include browser and OS information if relevant
- Open a Discussion to propose new features
- Describe the use case and why it would be valuable
- TypeScript throughout — no
anytypes unless absolutely necessary - Functional components with hooks for React
- Tailwind CSS for styling
- The pre-commit hook runs ESLint and type checking automatically
By contributing to Ycode, you agree that your contributions will be licensed under the MIT License.