-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture Overview
Leonard Ramminger edited this page May 7, 2026
·
3 revisions
Prev: Architecture | Up: Architecture | Next: Execution Flow
This page answers three practical questions:
- What main subsystems exist?
- Where do they live in the repository?
- How do they depend on each other?
CLI / main
-> config loading and CLI overrides
-> registry bootstrap and plugin discovery
-> request resolution and proxy expansion
-> planning and dependency graph
-> validation / audit / SBOM preparation
-> execution through plugins
-> output rendering / remote transport
src/main/cpp/main.cppsrc/main/cpp/cli/cli.cpp
Responsibilities:
- parse commands,
- load defaults and
config.lua, - apply CLI overrides,
- select display mode,
- route to normal orchestration, remote server mode, or remote client mode.
src/main/include/core/config/configuration.hsrc/main/cpp/core/config/configuration.cpp
Responsibilities:
- define the full config model,
- load Lua config,
- derive default XDG paths,
- merge CLI overrides,
- expose helpers such as repository lists and proxy settings.
src/main/include/core/registry/registry.hsrc/main/cpp/core/registry/registry.cppsrc/main/include/core/registry/registry_database.hsrc/main/cpp/core/registry/registry_database.cppsrc/main/cpp/core/registry/registry_json_parser.cpp
Responsibilities:
- keep track of known plugins,
- resolve aliases,
- refresh plugin records from registry sources,
- materialize Lua plugin scripts or bundles into the plugin directory,
- validate trust metadata and script hashes.
- Lua runtime bridge:
src/main/cpp/plugins/lua_bridge.cpp - plugin interface:
src/main/include/plugins/iplugin.h - built-in native plugin:
src/main/cpp/plugins/rq_plugin.cpp - local Lua examples:
plugins/*
Responsibilities:
- package-manager-specific logic,
- local file handling,
- search/list/info/update behavior,
- optional package resolution,
- optional proxy resolution,
- security metadata.
Today only native built-in plugin is rqp.
Registry-discovered and workspace plugins are Lua-based and run through LuaBridge.
src/main/cpp/core/planning/planner.cppsrc/main/cpp/core/planning/planner_core.cppsrc/main/cpp/core/planning/request_resolution.cpp
Responsibilities:
- expand aliases and proxies,
- ensure plugins are available,
- include plugin dependencies when required,
- build the package dependency graph.
src/main/cpp/core/security/validator.cppsrc/main/cpp/core/security/vulnerability_sync_service.cppsrc/main/cpp/core/export/audit_exporter.cppsrc/main/cpp/core/export/sbom_exporter.cpp
Responsibilities:
- audit graphs for vulnerabilities,
- sync OSV data,
- enforce security policies,
- export audit and SBOM outputs.
src/main/cpp/core/execution/executor.cpp
Responsibilities:
- execute planned actions,
- build plugin call contexts,
- dispatch graph nodes to plugins,
- track history and installed-state ownership,
- refresh system state where needed.
src/main/cpp/core/execution/orchestrator.cpp
Responsibilities:
- glue everything together,
- choose special fast paths for list/search/info/outdated/snapshot/audit/sbom,
- preprocess URLs and local archive targets,
- run planner -> validator -> executor pipeline for mutating flows.
src/main/cpp/core/remote/serve_remote.cppsrc/main/cpp/core/remote/remote_client.cppsrc/main/cpp/core/remote/remote_profiles.cpp
Responsibilities:
- run rqp commands over TCP,
- support text and JSON client modes,
- handle auth, readonly mode, upload installs, and admin operations.
| Path | Purpose |
|---|---|
src/main/cpp/main.cpp |
app startup and runtime mode selection |
src/main/cpp/cli/cli.cpp |
command parsing and help text |
src/main/cpp/core/config/configuration.cpp |
config loading, defaults, overrides |
src/main/cpp/core/registry/*.cpp |
registry database, refresh, trust, parsing |
src/main/cpp/core/planning/*.cpp |
graph planning and dependency logic |
src/main/cpp/core/planning/request_resolution.cpp |
proxy resolution and alias-aware request rewriting |
src/main/cpp/core/execution/executor.cpp |
action dispatch and runtime execution |
src/main/cpp/core/execution/orchestrator.cpp |
top-level workflow coordination |
src/main/cpp/plugins/lua_bridge.cpp |
Lua plugin runtime bridge |
src/main/cpp/plugins/rq_plugin.cpp |
built-in native rqp package manager |
plugins/ |
local Lua plugin sources |
tests/ |
behavioral and regression coverage |
Prev: Architecture | Up: Architecture | Next: Execution Flow
- User Guide
- Getting Started
- Command Reference
- Configuration
- Configuration Reference
- Security, Audit, and SBOM
- Output and Report Formats
- Remote Mode
- Remote Protocol Reference
- Using Native
rqpPackages - Troubleshooting