Opencode-Cli / CONTRIBUTING.md
Hermes Agent
feat: completely remove Open WebUI and streamline multi-service container hub
58d7eda
|
Raw History Blame Contribute Delete
2.25 kB
# Contributing to OpenCode CLI
Thank you for your interest in contributing to **OpenCode CLI**! We welcome contributions, bug reports, feature requests, and pull requests.
---
## πŸ“‹ Table of Contents
1. [Code of Conduct](#code-of-conduct)
2. [How to Contribute](#how-to-contribute)
3. [Development Setup](#development-setup)
4. [Pull Request Process](#pull-request-process)
5. [Coding & Architecture Standards](#coding--architecture-standards)
---
## πŸ“œ Code of Conduct
Please be polite, respectful, and collaborative in all communications.
---
## 🀝 How to Contribute
- **Reporting Bugs**: Open an issue on GitHub describing the steps to reproduce, expected behavior, actual behavior, and container logs.
- **Feature Requests**: Open an issue detailing the use case, proposed architecture, and benefit to the community.
- **Pull Requests**: Fork the repository, create a topic branch, implement your changes with tests/validations, and submit a PR.
---
## πŸ› οΈ Development Setup
1. **Clone the repository**:
```bash
git clone https://github.com/JishnuPG-tech/Project.git
cd Project
```
2. **Environment File**:
Copy `.env.example` to `.env` and set local test secrets.
3. **Syntax Checks**:
- Python: `python -m py_compile gateway/*.py proxy.py tg_streamer.py`
- Shell: `bash -n entrypoint.sh`
---
## πŸ”€ Pull Request Process
1. **Branch Naming**: Use descriptive branch names like `feat/new-router`, `fix/hermes-config`, `docs/update-readme`.
2. **Commit Messages**: Follow Conventional Commits:
- `feat(gateway): add new endpoint for agent metrics`
- `fix(hermes): resolve port binding configuration`
- `docs(readme): add client integration examples`
3. **Architecture Verification**: Ensure your changes adhere to the locked architecture documents ([`ARCHITECTURE.md`](ARCHITECTURE.md), [`HERMES_ARCHITECTURE.md`](HERMES_ARCHITECTURE.md)).
---
## πŸ”’ Coding & Architecture Standards
- **No Hardcoded Secrets**: Secrets must be loaded via environment variables or secret store.
- **Persistent Volume Safety**: All writable state must sync to `/data/` volumes to survive container restarts.
- **Non-Blocking Proxies**: Use async HTTP client (`httpx` / `aiohttp`) for high-throughput routing.