Platform monorepo: cp-core, cp-api, capabilities, libraries, tools.
  • Go 75.7%
  • Shell 9.6%
  • Python 7.3%
  • TypeScript 7.1%
  • PLpgSQL 0.2%
Find a file
2026-05-10 10:32:46 +00:00
.forgejo ci: align actions/* references with code.forgejo.org mirror 2026-05-09 10:55:45 -05:00
archive docs: consolidate platform/docs/ via trueup pipeline 2026-05-10 05:26:58 -05:00
capabilities Gitignore compiled Go binaries left by go build in package dirs 2026-05-08 03:23:53 -05:00
docs docs: consolidate platform/docs/ via trueup pipeline 2026-05-10 05:26:58 -05:00
libraries Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
migrations Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
platform Gitignore compiled Go binaries left by go build in package dirs 2026-05-08 03:23:53 -05:00
tools Gitignore hanuman tool runtime logs 2026-05-08 03:22:06 -05:00
.gitignore Firm up .gitignore: cover Go bin/build/dist/out, Terraform, Node, Python, env 2026-05-08 08:22:05 -05:00
.gitlint ci: add branch-policy workflow and gitlint config 2026-05-08 20:57:28 -05:00
go.work Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
go.work.sum Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
Makefile Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
README.md Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00
workspace.yaml Initial commit: A1 reorg materialization 2026-05-08 02:54:28 -05:00

Hanuman Platform Monorepo

The platform monorepo is the home for everything that "runs on our side" of the Hanuman platform: the kernel (cp-core), the worker-facing API (cp-api), cross-cutting platform services (internal-bus, dispatcher, governance-resolver, learning-store, audit-replay, outbox), the composable capability pool (workers / adapters / strategies / validators / api-surfaces / frontend-primitives), the versioned capability packs that bundle them, the thin use-case definitions, the deployment-shape IaC, the shared libraries, the tooling (workspace-control, taskpack, hanuman-cli, hcl-client), the Postgres migrations for platform components, and all human-facing documentation.

This repo depends on git.hanumanapps.io/hanuman/machine-protocol for contracts and types. It does not depend on verticals/, portal-build/, or portal-operations/ — those depend on it.

Layout

platform/
├── go.work                 # ties the internal Go modules together
├── Makefile                # top-level build entry
├── workspace.yaml          # platform-internal workspace map
│
├── platform/               # The kernel + cross-cutting platform services
│   ├── cp-core/            # orchestration kernel (Go module)
│   ├── cp-api/             # worker-facing HTTP (Go module)
│   ├── internal-bus/       # internal pub/sub (Go module)
│   ├── dispatcher/         # bridges to customer-side runtimes (Go module)
│   ├── governance-resolver/  # OPA-backed governance + policy (Go module)
│   ├── learning-store/     # learning substrate (Go module)
│   ├── audit-replay/       # L8 audit + replay engine (Go module)
│   ├── outbox/             # transactional outbox library (Go module)
│   └── shared/             # cross-component utilities (Go module)
│
├── capabilities/           # The composable execution units
│   ├── workers/            # sonar-worker, exec-worker, …
│   ├── adapters/           # github, sonarcloud, anthropic, …
│   ├── strategies/         # taskpack-runner, adaptive-strategy-engine, …
│   ├── validators/         # named-only initially
│   ├── api-surfaces/       # named-only
│   └── frontend-primitives/ # named-only
│
├── packs/                  # Versioned capability pack assemblies
├── use-cases/              # Thin use-case definitions
├── deployment-shapes/      # IaC per deployment shape
├── frontend-factory/       # named-only initially
├── shared-infrastructure/  # named-only
│
├── libraries/              # Cross-repo libraries
│   ├── eventbus/           # was libraries/hcl/eventbus
│   └── dbmigrate/          # was libraries/hcl/dbmigrate
│
├── tools/                  # Go tooling binaries
│   ├── workspace-control/  # the hanuman CLI
│   ├── taskpack/           # taskpack ops CLI
│   ├── hanuman-cli/        # general-purpose CLI
│   └── hcl-client/         # client + ops tools
│
├── migrations/             # Postgres migrations
│   ├── cp-core/
│   └── eventbus/
│
└── docs/                   # Human-consumed documentation
    ├── architecture/       # stable architecture (A1, ADRs)
    ├── policies/           # platform-level policies (focus-mode, etc.)
    ├── templates/          # planning templates
    ├── pattern-library/    # engineering patterns (placeholder)
    ├── ops/                # runbooks, env-vars
    ├── wip/                # work-in-progress design notes
    ├── handovers/          # H1-style handover docs
    ├── contracts/          # discussion docs (machine-protocol carries the schemas)
    └── archive/historical/ # archived past-phase artifacts

Build

cd /home/mreddy/hanuman/platform
go work sync
go build ./...                  # build every module via go.work
make                            # top-level convenience

Workspace control

cd /home/mreddy/hanuman/platform/tools/workspace-control
go build ./cmd/hanuman
./hanuman doctor                # check workspace conformance to A1
./hanuman validate              # validate layout against policy

A1 reference

The ratified workspace model lives at docs/architecture/A1-workspace-model.md. The platform monorepo is one repo within the larger workspace; see the workspace root README.md and workspace.yaml for the cross-repo picture.