- 📝 Add comprehensive README.md, CONTRIBUTING.md, and 🔒 SECURITY.md documentation - 🔧 Integrate code formatting tool and refactor existing codebase to meet style guidelines - ⬆️ Update project dependencies to latest stable versions - 🤖 Implement pre-commit hook for automated code formatting #documentation #tooling #maintenance
158 lines
3.6 KiB
Markdown
158 lines
3.6 KiB
Markdown
# Contributing to EVE
|
|
|
|
Thank you for your interest in contributing to EVE! We're excited to have you join our mission to build a truly sovereign community platform. This document provides guidelines and information to help make your contribution process smooth and effective.
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- Bun v1.2.0 or higher
|
|
- Git
|
|
|
|
### Setting Up Your Development Environment
|
|
|
|
1. Fork the repository
|
|
|
|
2. Clone the fork repository:
|
|
|
|
```bash
|
|
git clone [forked repository URL]
|
|
git remote add upstream https://git.arx-ccn.com/Arx/Eve.git
|
|
cd Eve
|
|
```
|
|
|
|
3. Install dependencies:
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
4. Start the development server:
|
|
```bash
|
|
bun run dev
|
|
```
|
|
|
|
## Development Workflow
|
|
|
|
1. **Choose an issue**: Start by looking at open issues in our [issue tracker](https://git.arx-ccn.com/Arx/Eve/issues). Comment on the issue to indicate you're working on it to avoid duplicate efforts.
|
|
|
|
2. **Create a branch**: Create a new branch for your work:
|
|
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
```
|
|
|
|
3. **Make your changes**: Implement your feature or fix.
|
|
|
|
4. **Format your code**: Before committing, ensure your code follows our formatting standards:
|
|
|
|
```bash
|
|
bunx biome format --write src/
|
|
```
|
|
|
|
5. **Commit your changes**: Write clear, concise commit messages:
|
|
```bash
|
|
git commit -m "Add feature: brief description of what you did"
|
|
```
|
|
|
|
## Code Style Guidelines
|
|
|
|
We use Biome for code formatting to maintain consistent style across the codebase. Running the format command before committing ensures your code adheres to our standards:
|
|
|
|
```bash
|
|
bun run lint:fix
|
|
```
|
|
|
|
## Testing
|
|
|
|
When implementing new features or fixing bugs, please include appropriate tests. Run the test suite to ensure your changes don't break existing functionality:
|
|
|
|
```bash
|
|
bun test
|
|
```
|
|
|
|
## Pull Request Process
|
|
|
|
1. **Push your changes** to your fork.
|
|
|
|
2. **Create a Pull Request** to the main EVE repository.
|
|
|
|
3. **Describe your changes** in the PR description:
|
|
|
|
- What does this PR do?
|
|
- Why is it needed?
|
|
- How has it been tested?
|
|
|
|
4. **Address review feedback**: Be responsive to comments and be willing to make changes if requested.
|
|
|
|
## Project Structure
|
|
|
|
The project uses the following technologies:
|
|
|
|
- Nostr
|
|
- TypeScript
|
|
- Electron
|
|
- Lit
|
|
|
|
## Building
|
|
|
|
For development:
|
|
|
|
```bash
|
|
bun run dev
|
|
```
|
|
|
|
For production you will need to have the relay repo cloned on ../Relay, then simply run:
|
|
|
|
```bash
|
|
./build.sh
|
|
```
|
|
|
|
## Ways to Contribute
|
|
|
|
There are many ways to contribute to EVE beyond writing code:
|
|
|
|
### Design
|
|
|
|
We welcome contributions to improve the user interface and experience:
|
|
|
|
- UI mockups and prototypes
|
|
- Icon designs
|
|
- Accessibility improvements
|
|
- User flow diagrams
|
|
|
|
### Documentation
|
|
|
|
Help improve our documentation:
|
|
|
|
- User guides
|
|
- API documentation
|
|
- Tutorial content
|
|
- Example use cases
|
|
|
|
### Testing and QA
|
|
|
|
- Report bugs
|
|
- Write test cases
|
|
- Perform usability testing
|
|
- Suggest improvements
|
|
|
|
### Community Support
|
|
|
|
- Answer questions from other users
|
|
- Help triage issues
|
|
- Write blog posts or tutorials about EVE
|
|
|
|
## License and Legal
|
|
|
|
EVE is licensed under the [GNU Affero General Public License v3.0 (AGPL-3.0)](https://www.gnu.org/licenses/agpl-3.0.en.html). By contributing to EVE, you agree that your contributions will be licensed under the same license.
|
|
|
|
We do not require a separate Contributor License Agreement (CLA).
|
|
|
|
## Recognition
|
|
|
|
All contributors will be recognized in our CONTRIBUTORS.md file. We value every contribution, no matter how small!
|
|
|
|
---
|
|
|
|
Remember that EVE is in alpha stage, and many components are still evolving. Your contributions are helping to build a more sovereign digital future!
|