Skip to content

Commit b83ff87

Browse files
committed
docs: Update CONTRIBUTING with project guidelines
1 parent fb3d7ed commit b83ff87

File tree

1 file changed

+56
-10
lines changed

1 file changed

+56
-10
lines changed

CONTRIBUTING.md

Lines changed: 56 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,61 @@
1-
## Contributing
1+
# Contributing to CodeSplit
22

3-
Thank you for considering contributing to the Interactive Code Editor project!
3+
Thank you for your interest in contributing to CodeSplit! This guide will help you get started with the development environment and contribution process.
44

5-
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
5+
## Development Setup
66

7-
We welcome contributions from the community and appreciate your help in improving the project.
7+
1. **Clone the repository**
8+
```bash
9+
git clone https://github.com/yourusername/codesplit.git
10+
cd codesplit
11+
```
812

9-
**If you want to contribute:**
13+
2. **Install dependencies**
14+
```bash
15+
npm install
16+
```
1017

11-
1. Fork the project.
12-
2. Create your feature branch: `git checkout -b feature/AmazingFeature`
13-
3. Commit your changes: `git commit -m 'Added some AmazingFeature'`
14-
4. Push to the branch: `git push origin feature/AmazingFeature`
15-
5. Open a pull request.
18+
3. **Environment Configuration**
19+
- Copy the example environment file (if available) or create `.env`
20+
- You need Firebase credentials. See `docs/FIREBASE_AUTH.md` for setup details.
21+
22+
4. **Start the development server**
23+
```bash
24+
npm run dev
25+
```
26+
The app should be running at `http://localhost:5173`.
27+
28+
## Project Architecture
29+
30+
Please refer to `docs/PROJECT_STRUCTURE.md` and `docs/COMPONENTS.md` to understand how the codebase is organized and how the main components interact.
31+
32+
## Coding Standards
33+
34+
- **Language**: TypeScript (Strict mode enabled)
35+
- **Framework**: React 18+
36+
- **Styling**: Tailwind CSS
37+
- **Linting**: ESLint + Prettier
38+
39+
### Best Practices
40+
41+
- **Components**: Use functional components with hooks. Keep components small and focused.
42+
- **Types**: Define interfaces for all props and state objects. Avoid `any`.
43+
- **State**: Use `useState` for local state, `useContext` for global state (like Auth), and `useLocalStorage` for persisting editor state.
44+
- **Comments**: Comment complex logic, especially in `MainContent.tsx` where compilation happens.
45+
46+
## Pull Request Process
47+
48+
1. Fork the repository and create your branch from `main`.
49+
2. Naming convention: `feature/your-feature` or `fix/your-fix`.
50+
3. Implement your changes.
51+
4. Run types check: `npx tsc --noEmit`.
52+
5. Submit a Pull Request.
53+
6. Provide a clear description of your changes and screenshots if UI related.
54+
55+
## Reporting Issues
56+
57+
If you find a bug, please open an issue including:
58+
- Steps to reproduce
59+
- Expected behavior
60+
- Screenshots (if applicable)
61+
- Browser/Device details

0 commit comments

Comments
 (0)