Workspace-as-contract for a three-repo product

Roler.ai

A multi-root workspace that coordinates a Python backend, a React frontend, and Terraform infra for a job-search product, without merging the repos into one monorepo.

RolePlatform engineer & builderDate2026-06StatusPrivate alpha
3
Repositories

“three independently-deployable repositories”

4
Workspace roots

“declares four named roots”

7
Tracked commits

“seven commits”

Private alpha
Status

Repeats the project’s editorial status.

Problem / outcome

Problem

Job research becomes noisy when evidence, requirements, and application decisions live in separate tools.

Outcome

Coordinates three independently-deployable repositories (a Python backend, a React frontend, and a Terraform infrastructure baseline) inside one multi-root Cursor/VS Code workspace, without merging their git histories. Pins the shared plugin and tooling substrate those repos consume the way a lockfile pins package versions.

  • Declares the four roots and keeps the three child repos out of its own git history.
  • Plugin tiers are generated from an external audit, then frozen into an exact, versioned pin.

Coordination layer over three repositories

The workspace coordinates three independently-deployable repositories through a thin, version-controlled layer, then curates the shared developer-tooling substrate those repos consume through its own research pipeline.

Coordination layermulti-root workspace + shared tooling
Backend repositoryPython servicecore plugin tier
Frontend repositoryReact SPAcore + frontend tier
Infrastructure repositoryTerraform baselinecore + cloud tier

The workspace declares four roots and routes a shared, tiered plugin substrate to each of the three independently-deployable repositories it coordinates.

Plugin research pipeline

01Gather catalogexternal plugin listings + manifests
02Audit & scoreclassifies each candidate
03Reconcile & synthesizecollapses findings into one set
04Curate tiersproduces the shared config
05Install & freezelocks exact versions
06Pinned lockfileconsumed by every repo

External plugin evidence is gathered, scored, reconciled, and frozen into a versioned pin that every repository consumes.

Decision log

  • [workspace-root]Declares the four roots and keeps the three child repos out of its own git history.
  • [shared-substrate]Plugin tiers are generated from an external audit, then frozen into an exact, versioned pin.
  • [child-repositories]Each repo keeps its own remote, history, and CI, and pulls only the tier it needs.
  • [tracked-surface]The coordination layer itself stays small on purpose (seven commits, no application code).

README

README.md

Job research gets noisy when evidence, requirements, and application decisions live in separate tools, so I keep Roler.ai as three independently deployable repos that still share one workspace. This is the coordination layer for a Python backend, a React frontend, and a Terraform infrastructure baseline. They need to be edited together for cross-cutting contract changes, but stay separable, because cloud agents can only open one repository at a time. The workspace declares named roots, keeps the children gitignored so a commit here never absorbs their history, and pins a shared plugin substrate across them. The tracked surface stays deliberately small because the workspace's job is coordination, not product code. Service layer, many surfaces captures the multi-client posture. MeTime and Connect Layer are siblings of the same service-layer habit.

Capability matrix

Python01

The job-search backend lives in its own Python repo coordinated by the workspace.

Developer tools02

The workspace is the coordination surface cloud agents and humans share.

Platform engineering03

Named roots and pinned plugins coordinate three deployables without a forced monorepo.

Schemas04

Cross-repo contracts are validated so backend and UI do not silently drift.

Git05

Version control and hooks in Roler.ai keep collaborative change reviewable.

Monitoring06

Product repos surface their own metrics; the workspace's job is coordination.

Research07

Role research artifacts stay attached to the product repos, not only in chat.

Terraform08

Infra remains a Terraform baseline, not folded into the meta workspace history.

Frontend engineering09

The browser UI for Roler.ai is structured for long-term maintenance, not just a demo.

React10

React components compose the interactive UI for Roler.ai.

Claude Agents SDK11

Default agent backend for orchestration loops when the workspace runs Claude Agents SDK.

Cursor SDK12

Supports Cursor CLI/Cloud as an alternate agent backend selected by configuration.