Railway yard for your repository ecosystem β visual wiring layer for multi-repo component management with aspect tagging and scenario comparison.
# Scan local clones
cargo run -- scan /mnt/eclipse/repos
# Export JSON for the web UI
cargo run -- export --format json > web/export.json
# Serve the UI
just web-serveOpen http://localhost:801 in a browser, then load ./export.json.
The web/ folder contains a no-build static UI for the graph:
-
interactive layouts (force/grid/radial/group)
-
annotations (text/box/arrow) + export
-
ER mode with crowβs-foot notation
-
accessibility upgrades (keyboard, screen reader, high contrast)
Run just web-serve or just web-serve-port 1803 to preview.
-
Graph + plan fidelity is in place: scan β slot/provider registry β scenario diff β plan + apply with rollback.
-
TUI, CLI, DOT/JSON exporters and the web prototype are stable; the UI now highlights aspect tags, ER mode switching, and accessibility (keyboard, zoom, contrast, screen-reader hints).
-
OPSM is the production umbrella for everything in this stack: Reposystem feeds git-dispatcher/githud/data connectors, which in turn let gitbot-fleet and the rest of the ecosystem deliver everything-everywhere workflows.
-
Documentation is being refreshed: the README/ROADMAP/6scm files (STATE/ECOSYSTEM/META/PLAYBOOK/AGENTIC/NEUROSYM) now capture status, blockers, and next actions for both agents and humans, and the new GitHub wiki pages summarize the developer/platform/layperson story.
|
Note
|
Machine-readable context lives in the six |
-
Docs & community story β finish the GitHub wiki (developer, platform, user, layperson pages), update
README.adoc,ROADMAP.adoc, and the six*.scmfiles with the new opsm/doc/branding narrative, and add ASCII diagrams/pictograms so anyone jumping into this repo understands how it links to git-dispatcher, git-hud, gitbot-fleet, and the other packages (odds-and-sods package manager, git-hud, etc.). -
Opsm awareness β make sure
opsm.toml,Mustfile, and workflow definitions refer to opsm (ccodd-s and sods package manageralias) and treatopsm-uias the central view; add cross-references to the palimpsest-license and consent-aware-HTTP work so marketplace submissions know the fallback paths. -
Accessibility polish β lock in indigo branding, revert stray color changes, keep the high-contrast variants (light + dark) consistent, and audit the CSS/graph view so the snap-to-grid overlay, crowβs-foot notation, annotations, and zoom controls behave reliably across desktop/mobile contexts.
OPSM stack overview
+-------------+
| Reposystem | (graph, scenarios, EOAs)
+------+------+ +-----------------------+
| | Git Dispatcher / OPSM |
| exports +-----------+-----------+
v |
+--------------+ +------v------+ +--------------+
| git-hud UI |<---- telemetry --| gitbot-fleet|<-- orchestrates --+ odds-and-sods |
+--------------+ +-------------+ +--------------+
^ ^
| Opsm/contextualization | Dry-run + manifest + package sources
+-------------------------------------------+You have 50+ repositories. Some depend on each other. Some could use your own implementations instead of external ones. You want to:
-
See the connections between everything
-
Switch between "use theirs" and "use mine" for components
-
Understand security, reliability, supply-chain implications
-
Compare alternative configurations before committing
No tool currently does all of this.
Reposystem treats your repository ecosystem as a railway yard:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β REPOSYSTEM β
β "Railway Yard View" β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β my-ssg β β my-newsroom β β my-deploy β
β [provider] βββartifactββ€ [consumer] ββartifactββΊβ [consumer] β
β β β β β β
ββββββββββββββββ βββββββββ¬βββββββ ββββββββββββββββ
β
β runtime
βΌ
ββββββββββββββββββββββββββββββββββββββββββββ
β SWITCH POINT β
β β Local (podman) β
β β Ecosystem (cerro-torre) βββ active β
β β Fallback (docker) β
ββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
ββββββββββββββββ
β cerro-torre β
β [provider] β
ββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β HYPERPOLYMATH ECOSYSTEM β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β β βββββββββββββββ β β β git-hud ββββββββββββββββββ β β β (HUD) β β β β βββββββββββββββ β β β β β β β β consumes β source-of-truth β β βΌ β dependency graph β β βββββββββββββββ ββββββββ΄βββββββ β β β Forges β β REPOSYSTEM βββββ YOU ARE HERE β β β (GH/GL/BB) β β (wiring) β β β βββββββββββββββ ββββββββ¬βββββββ β β β β β β consumes β β βΌ β β βββββββββββββββ β β β git-seo β β β β (discovery) β β β βββββββββββββββ β β β β β β generates β β βΌ β β βββββββββββββββ β β β Metadata β β β β Artifacts β β β βββββββββββββββ β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Each repo has slots (things it needs) and may be a provider (things it offers):
ββββββββββββββββββββββββββββββββββββββββββββββββββ β my-newsroom β ββββββββββββββββββββββββββββββββββββββββββββββββββ€ β NEEDS (slots): β β β’ container.runtime βββΊ [podman|cerro-torre]β β β’ static-site.generator βββΊ [my-ssg|hugo] β β β’ router.core βββΊ [cadre-router|nginx] β ββββββββββββββββββββββββββββββββββββββββββββββββββ€ β PROVIDES: β β β’ (nothing - pure consumer) β ββββββββββββββββββββββββββββββββββββββββββββββββββ
Connections declare what uses what:
Project A Project B βββββββββββ βββββββββββ β βββββββββ uses ββββββββββββββΊβ β β β channel: artifact β β β β evidence: CI config β β βββββββββββ βββββββββββ
Select between providers at junction points:
βββββββββββββββββββββββββββ
β SWITCH: runtime β
βββββββββββββββββββββββββββ€
βββββββββββββββΊβ β podman (local) β
β β cerro-torre (eco) ββββββββββββΊ
β β docker (fallback) β
βββββββββββββββββββββββββββ
Flip views to see different concerns:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β ASPECT: Security [weight: 3/3] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β β βββββββββββ βββββββββββ βββββββββββ β β β proj-a ββββββββββββΊβ proj-b ββββββββββββΊβ externalβ β β β [1] β β [2] β [!3!] β [3] β β β βββββββββββ βββββββββββ βββββββββββ β β β² β β β β β β TRUST BOUNDARY β β (crosses with no auth) β β β β Legend: [n] = security weight, [!n!] = flagged edge β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β REPOSYSTEM v0.1.0 [scenario: baseline] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β β GROUPS β GRAPH β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β βΌ docs-stack (3) β β β ββ my-ssg β βββββββββ βββββββββ β β ββ my-newsroom β βmy-ssg βββββββΊβdeploy β β β ββ my-deploy β βββββ¬ββββ βββββββββ β β βΌ infra (2) β β β β ββ cerro-torre β βΌ β β ββ cadre-router β ββββββββββββββ β β βΆ services (5) β βmy-newsroom β β β β βββββββ¬βββββββ β β β β β β ASPECTS β βΌ β β ββββββββββββββββββββββββββ βββββββββββββ β β [β] All β βcerro-torreβ β β [ ] Security β βββββββββββββ β β [ ] Reliability β β β [ ] Supply-chain β β β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β STATUS: 47 repos β 23 edges β 5 groups β [q]uit [e]xport [s]cenario [?] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β SCENARIO COMPARISON: baseline β ecosystem-secure β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β β BASELINE ECOSYSTEM-SECURE β β ββββββββββββββββββββ ββββββββββββββββββββ β β β β proj-a βββΊ podman proj-a βββΊ cerro-torre β β ~~~~~~ ~~~~~~~~~~~~ β β β β proj-b βββΊ docker proj-b βββΊ cerro-torre β β ~~~~~~ ~~~~~~~~~~~~ β β β β CHANGES: 2 edges modified β β β β ASPECT IMPACT: β β Security: ββββββββββ (7/10) β ββββββββββ (10/10) β² β β Reliability: ββββββββββ (10/10) β ββββββββββ (8/10) βΌ β β Portability: ββββββββββ (4/10) β ββββββββββ (6/10) β² β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β [a]pply ecosystem-secure [d]iff details [b]ack β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β WEAK LINK ANALYSIS [aspect: security] β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β β β HIGH RISK ITEMS (weight β₯ 3) β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β 1. EDGE: my-newsroom β external-api β β Reason: Crosses trust boundary without authentication β β Evidence: src/api/client.rs:42 β β Centrality: HIGH (blocks 12 downstream repos) β β Recommendation: Add authentication layer or replace with internal API β β β β 2. NODE: legacy-auth β β Reason: Single point of failure for 8 services β β Evidence: Dependency analysis β β Centrality: CRITICAL β β Recommendation: Create fallback or migrate to distributed auth β β β β 3. EDGE: data-pipeline β third-party-etl β β Reason: Unvetted supply chain dependency β β Evidence: Cargo.toml:15 β β Centrality: MEDIUM β β Recommendation: Consider forking or alternative β β β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β Total: 3 high-risk β 7 medium β 12 low β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Using Cargo (Rust CLI)
cargo install reposystem
# Using Deno (library)
deno add @hyperpolymath/reposystem
# From source
git clone https://github.com/hyperpolymath/reposystem
cd reposystem
just build
# Clone via Radicle (decentralized)
rad clone rad:z2GwqZb3PsYKNkBgCbFZB2sEBSP6i# 1. Scan your repos
reposystem scan ~/repos
# 2. View the graph
reposystem view
# 3. Create a group
reposystem group create "docs-stack" --members my-ssg,my-newsroom,my-deploy
# 4. Tag for security review
reposystem tag add my-newsroom --aspect security --weight 2 --reason "External API access"
# 5. View security aspect
reposystem view --aspect security
# 6. Export
reposystem export --format dot > ecosystem.dot
dot -Tsvg ecosystem.dot -o ecosystem.svg| Command | Description |
|---|---|
|
Import repos from local folder |
|
List all repos, groups, edges |
|
Interactive graph view |
|
View filtered by aspect |
|
Create logical group |
|
Create edge between repos |
|
Add aspect tag |
|
Create new scenario |
|
Compare scenarios |
|
Export (dot, json, svg) |
| Layer | Language | Notes |
|---|---|---|
Core data model |
ReScript |
Type-safe, compiles to ES6 |
CLI |
Rust |
Cross-platform, fast |
Runtime |
Deno |
No Node.js/npm |
Config |
Nickel |
Complex configurations |
State files |
Guile Scheme |
STATE.scm, META.scm, ECOSYSTEM.scm |
reposystem/
βββ src/
β βββ importers/ # Repo scanners
β βββ graph/ # Core data model
β βββ aspects/ # Aspect tagging
β βββ scenarios/ # Scenario management
β βββ export/ # DOT, JSON, SVG export
β βββ cli/ # Rust CLI
βββ spec/
β βββ DATA-MODEL.adoc # Entity specifications
β βββ CONCEPTS.adoc # Mental model
βββ STATE.scm # Project state
βββ ECOSYSTEM.scm # Ecosystem position
βββ META.scm # Architecture decisions
βββ PLAYBOOK.scm # Operational runbooks
βββ AGENTIC.scm # AI agent patterns
βββ NEUROSYM.scm # Neural-symbolic integration
βββ ROADMAP.adoc # f/i staged plan
βββ Mustfile # Build recipes
βββ justfile # Development tasksPMPL-1.0-or-later. See LICENSE.txt.
See CONTRIBUTING.adoc.