Some checks failed
Go / build-and-release (push) Has been cancelled
- Add Gitea issue templates for bug reports and feature requests with structured YAML forms for version, database backend, and log level - Add GitHub Actions CI workflow for automated testing on push/PR - Add GitHub Actions release workflow for building multi-platform binaries on tag push with SHA256 checksums - Add CONTRIBUTING.md with development setup, PR guidelines, and commit message format documentation - Add DECENTRALIZE_NOSTR.md expansion plan outlining WireGuard tunnel, GUI installer, system tray, and proxy server architecture - Update allowed commands in Claude settings - Bump version to v0.35.5 Files modified: - .gitea/issue_template/: Bug report, feature request, and config YAML - .github/workflows/: CI and release automation workflows - CONTRIBUTING.md: New contributor guide - docs/plans/DECENTRALIZE_NOSTR.md: Expansion architecture plan - .claude/settings.local.json: Updated allowed commands - pkg/version/version: Version bump to v0.35.5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
102 lines
3.2 KiB
Markdown
102 lines
3.2 KiB
Markdown
# Contributing to ORLY
|
|
|
|
Thank you for your interest in contributing to ORLY! This document outlines the process for reporting bugs, requesting features, and submitting contributions.
|
|
|
|
**Canonical Repository:** https://git.mleku.dev/mleku/next.orly.dev
|
|
|
|
## Issue Reporting Policy
|
|
|
|
### Before Opening an Issue
|
|
|
|
1. **Search existing issues** to avoid duplicates
|
|
2. **Check the documentation** in the repository
|
|
3. **Verify your version** - run `./orly version` and ensure you're on a recent release
|
|
4. **Review the CLAUDE.md** file for configuration guidance
|
|
|
|
### Bug Reports
|
|
|
|
Use the **Bug Report** template when reporting unexpected behavior. A good bug report includes:
|
|
|
|
- **Version information** - exact ORLY version from `./orly version`
|
|
- **Database backend** - Badger, Neo4j, or WasmDB
|
|
- **Clear description** - what happened vs. what you expected
|
|
- **Reproduction steps** - detailed steps to trigger the bug
|
|
- **Logs** - relevant log output (use `ORLY_LOG_LEVEL=debug` or `trace`)
|
|
- **Configuration** - relevant environment variables (redact secrets)
|
|
|
|
#### Log Levels for Debugging
|
|
|
|
```bash
|
|
export ORLY_LOG_LEVEL=trace # Most verbose
|
|
export ORLY_LOG_LEVEL=debug # Development debugging
|
|
export ORLY_LOG_LEVEL=info # Default
|
|
```
|
|
|
|
### Feature Requests
|
|
|
|
Use the **Feature Request** template when suggesting new functionality. A good feature request includes:
|
|
|
|
- **Problem statement** - what problem does this solve?
|
|
- **Proposed solution** - specific description of desired behavior
|
|
- **Alternatives considered** - workarounds you've tried
|
|
- **Related NIP** - if this implements a Nostr protocol specification
|
|
- **Impact assessment** - is this a minor tweak or major change?
|
|
|
|
#### Feature Categories
|
|
|
|
- **Protocol** - NIP implementations and Nostr protocol features
|
|
- **Database** - Storage backends, indexing, query optimization
|
|
- **Performance** - Caching, SIMD operations, memory optimization
|
|
- **Policy** - Access control, event filtering, validation
|
|
- **Web UI** - Admin interface improvements
|
|
- **Operations** - Deployment, monitoring, systemd integration
|
|
|
|
## Code Contributions
|
|
|
|
### Development Setup
|
|
|
|
```bash
|
|
# Clone the repository
|
|
git clone https://git.mleku.dev/mleku/next.orly.dev.git
|
|
cd next.orly.dev
|
|
|
|
# Build
|
|
CGO_ENABLED=0 go build -o orly
|
|
|
|
# Run tests
|
|
./scripts/test.sh
|
|
|
|
# Build with web UI
|
|
./scripts/update-embedded-web.sh
|
|
```
|
|
|
|
### Pull Request Guidelines
|
|
|
|
1. **One feature/fix per PR** - keep changes focused
|
|
2. **Write tests** - for new functionality and bug fixes
|
|
3. **Follow existing patterns** - match the code style of surrounding code
|
|
4. **Update documentation** - if your change affects configuration or behavior
|
|
5. **Test your changes** - run `./scripts/test.sh` before submitting
|
|
|
|
### Commit Message Format
|
|
|
|
```
|
|
Short summary (72 chars max, imperative mood)
|
|
|
|
- Bullet point describing change 1
|
|
- Bullet point describing change 2
|
|
|
|
Files modified:
|
|
- path/to/file1.go: Description of change
|
|
- path/to/file2.go: Description of change
|
|
```
|
|
|
|
## Communication
|
|
|
|
- **Issues:** https://git.mleku.dev/mleku/next.orly.dev/issues
|
|
- **Documentation:** https://git.mleku.dev/mleku/next.orly.dev
|
|
|
|
## License
|
|
|
|
By contributing to ORLY, you agree that your contributions will be licensed under the same license as the project.
|