docs: overhaul project documentation and contributing guide (Task #190)
This commit is contained in:
@@ -1,15 +1,44 @@
|
||||
# Contributing to Plexus
|
||||
# 🤝 Contributing to Plexus
|
||||
|
||||
Thank you for your interest in contributing to Plexus!
|
||||
We maintain high standards for code quality and documentation. Please follow this workflow for all contributions.
|
||||
|
||||
## 🤝 How to Contribute
|
||||
## 🔄 Development Workflow
|
||||
|
||||
1. **Pick a Task**: Check the [Task Tracker](file:///home/sinan/Documents/repositories/local/plexus/docs/tasks.md) for open items.
|
||||
2. **Fork & Branch**: Create a new branch for your feature or bugfix.
|
||||
3. **Develop**: Follow the [Development Guide](file:///home/sinan/Documents/repositories/local/plexus/docs/development.md).
|
||||
4. **Test**: Ensure all tests pass.
|
||||
5. **Pull Request**: Submit a PR with a clear description of your changes.
|
||||
### 1. Pick a Task
|
||||
Before coding, ensure you are working on an assigned task.
|
||||
- List tasks: `make task-list`
|
||||
- Add a task: `make task-add title="Your Task"`
|
||||
- Mark as in-progress: (Update manually in `tasks/tasks.duckdb` or via CLI if implemented).
|
||||
|
||||
## 📜 Code of Conduct
|
||||
### 2. Implementation
|
||||
- Write clean, modular code.
|
||||
- Follow the existing design patterns (Vue 3 Composition API, Pinia, Socket.io).
|
||||
- Ensure UI changes are mobile-friendly and follow the Discord-inspired aesthetic.
|
||||
|
||||
Please be respectful and collaborative. We aim to build a welcoming community for all developers.
|
||||
### 3. Verification
|
||||
Before committing, you **must** verify your changes:
|
||||
- Run linting: `make lint`
|
||||
- Run tests: `make test`
|
||||
- Manual check: Verify the feature in the browser.
|
||||
|
||||
### 4. Commit
|
||||
We use **Husky** and **lint-staged** to enforce quality.
|
||||
- Your commit will fail if linting or tests do not pass.
|
||||
- Use descriptive commit messages (e.g., `feat: add user profiles`, `fix: message alignment`).
|
||||
|
||||
### 5. Documentation
|
||||
If your change affects the architecture, data model, or API:
|
||||
- Update the relevant file in `docs/`.
|
||||
- Ensure the root `README.md` is still accurate.
|
||||
|
||||
### 6. Finalize Task
|
||||
Mark the task as done:
|
||||
- `make task-done id=X`
|
||||
|
||||
## 🛠 Tooling
|
||||
- **Linting**: ESLint for JS/Vue, Ruff for Python.
|
||||
- **Testing**: Mocha for backend integration tests.
|
||||
- **Automation**: Use the `Makefile` for all common operations.
|
||||
|
||||
---
|
||||
Thank you for helping make Plexus better!
|
||||
|
||||
Reference in New Issue
Block a user