Introduction

HARP is designed to be extended and customized to fit your needs. You can contribute to the core, build custom applications, or extend existing functionality through various extension points.

Extension possibilities

Custom applications

Build standalone applications that integrate with HARP’s plugin system. Applications can provide new features, endpoints, or services. See Applications for details.

Event listeners

Hook into HARP’s event-driven architecture to react to system events, HTTP transactions, or application lifecycle events. See Events for details.

Dependency injection

Register custom services and dependencies through the IoC container to make them available system-wide. See Dependency Injection for details.

Storage backends

Implement custom storage backends for transactions, configuration, or application-specific data. See Storage for details.

Dashboard extensions

Extend the web dashboard with custom views, components, or pages. See Dashboard for details.

Getting started

To start contributing or extending HARP:

  1. Set up your development environment - Follow the Setup guide to install dependencies and run HARP locally.

  2. Understand the architecture - Read the Overview to grasp high-level concepts and patterns.

  3. Explore specific topics - Dive into Applications, Events, Dependency Injection, or other areas relevant to your work.

  4. Write tests - Follow the Testing guidelines to ensure your code is well-tested.

Developer resources

  • Makefile - Common development tasks are available through make. Run make help to see available commands.

  • Command line - The uv run harp command provides access to all HARP CLI tools within the development environment. See Command Line Reference for reference.

  • Release process - If you’re preparing releases, see Releasing for guidelines.