Skip to content

Commit 368df72

Browse files
Add CONTRIBUTING.md for project guidelines
1 parent 31139ae commit 368df72

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

CONTRIBUTING.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Contributing to closedNote
2+
3+
Thanks for taking the time to contribute! closedNote is an open source project and contributions of all kinds are welcome.
4+
5+
## Getting Started
6+
7+
1. Fork the repo
8+
2. Clone your fork:
9+
```bash
10+
git clone https://github.com/your-username/closedNote.git
11+
cd closedNote
12+
```
13+
3. Install dependencies:
14+
```bash
15+
npm install
16+
```
17+
4. Copy the environment file and fill in your Supabase keys:
18+
```bash
19+
cp .env.example .env.local
20+
```
21+
5. Run the development server:
22+
```bash
23+
npm run dev
24+
```
25+
26+
## How to Contribute
27+
28+
### Reporting Bugs
29+
- Check the [open issues](https://github.com/aboderinsamuel/closedNote/issues) first to avoid duplicates
30+
- Open a new issue with a clear title, steps to reproduce, and expected vs actual behavior
31+
32+
### Suggesting Features
33+
- Open an issue with the `enhancement` label
34+
- Explain the problem you're trying to solve, not just the solution
35+
36+
### Submitting Code
37+
1. Create a new branch from `main`:
38+
```bash
39+
git checkout -b feature/your-feature-name
40+
```
41+
2. Make your changes
42+
3. Run tests and make sure they pass:
43+
```bash
44+
npm test
45+
```
46+
4. Run the linter:
47+
```bash
48+
npm run lint
49+
```
50+
5. Commit with a clear message:
51+
```bash
52+
git commit -m "feat: add your feature description"
53+
```
54+
6. Push and open a pull request against `main`
55+
56+
## Commit Message Convention
57+
58+
Use conventional commits where possible:
59+
60+
- `feat:` — new feature
61+
- `fix:` — bug fix
62+
- `docs:` — documentation changes
63+
- `refactor:` — code change that neither fixes a bug nor adds a feature
64+
- `test:` — adding or updating tests
65+
- `chore:` — maintenance tasks
66+
67+
## Project Structure
68+
```
69+
app/ # Next.js App Router pages and API routes
70+
components/ # React components
71+
lib/ # Utility functions and shared logic
72+
supabase/ # Database migrations
73+
__tests__/ # Test files
74+
```
75+
76+
## Code Style
77+
78+
- TypeScript is required — avoid `any` types where possible
79+
- Follow the existing ESLint configuration (`npm run lint`)
80+
- Keep components small and focused
81+
82+
## Questions?
83+
84+
Open an issue or reach out via [LinkedIn](https://www.linkedin.com/in/samuelaboderin).

0 commit comments

Comments
 (0)