Files
next.orly.dev/CONTRIBUTING.md
mleku 516ce9c42c
Some checks failed
Go / build-and-release (push) Has been cancelled
Add issue templates, CI workflows, and decentralization plan
- 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>
2025-12-14 20:50:49 +01:00

3.2 KiB

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

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

# 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

License

By contributing to ORLY, you agree that your contributions will be licensed under the same license as the project.