Developer Documentation¶
This documentation is intended for developers who want to contribute to Hop3.
Quick Start¶
- Getting Started: Set up your development environment
- Contributing: How to contribute to the project
- Testing Cheat Sheet: Quick reference for running tests
Architecture¶
- Architecture Overview: System design and components
- Orchestration: How deployment orchestration works
- Protocol Reference: JSON-RPC API specification
Testing¶
- Testing Guide: Comprehensive testing documentation
- Testing Cheat Sheet: Quick command reference
- Testing Strategy: Test layers and philosophy
- DI Testing Guide: Dependency injection in tests
- Installer Testing: Testing the installer
Catalog¶
- Catalog Lifecycle: Statuses, the two runners, publish → verify → promote
- Publishing a Catalog: Signing keys, serials, staging, key rotation
- Staging a Catalog: sideloading a signed catalog onto your own box
Plugins¶
- Plugin Development: How to create plugins
- Hook Specifications: Available plugin hooks
- External Plugins: Third-party plugin support
- Example Plugins: Sample plugin implementations
Packages¶
- Package Overview: Monorepo structure
- hop3-server: Core server package
- hop3-cli: Command-line client
- hop3-installer: Installation tools
- hop3-tui: Terminal UI
- hop3-testing: Test framework
Operations¶
- Branching Strategy: Git workflow
- DNS Configuration: DNS setup for development
Project¶
- Core Values: Project principles
- Governance: Decision making process