|
1 | 1 | <!-- SPDX-License-Identifier: PMPL-1.0-or-later --> |
2 | | -<!-- TOPOLOGY.md -- Project architecture map and completion dashboard --> |
3 | | -<!-- Last updated: 2026-02-14 --> |
| 2 | +<!-- TOPOLOGY.md — Project architecture map and completion dashboard --> |
| 3 | +<!-- Last updated: 2026-02-19 --> |
4 | 4 |
|
5 | | -# TOPOLOGY -- asdf-tool-plugins |
| 5 | +# asdf Tool Plugins — Project Topology |
6 | 6 |
|
7 | 7 | ## System Architecture |
8 | 8 |
|
9 | 9 | ``` |
10 | | -asdf-tool-plugins/ |
11 | | -├── .machine_readable/ # RSR state files |
12 | | -├── .github/workflows/ # CI/CD |
13 | | -├── contractiles/ # RSR contractile agreements |
14 | | -├── asdf-ada-plugin/ # Ada plugin |
15 | | -├── asdf-age-plugin/ # age encryption plugin |
16 | | -├── asdf-apko-plugin/ # apko plugin |
17 | | -├── asdf-arangodb-plugin/ # ArangoDB plugin |
18 | | -├── asdf-bebop-plugin/ # Bebop plugin |
19 | | -├── asdf-borg-plugin/ # BorgBackup plugin |
20 | | -├── asdf-casket-ssg-plugin/ # Casket SSG plugin |
21 | | -├── asdf-cassandra-plugin/ # Cassandra plugin |
22 | | -├── asdf-cfssl-plugin/ # CFSSL plugin |
23 | | -├── asdf-cobalt-plugin/ # Cobalt plugin |
24 | | -├── asdf-cobol-plugin/ # COBOL plugin |
25 | | -├── asdf-coredns-plugin/ # CoreDNS plugin |
26 | | -├── asdf-cosign-plugin/ # Cosign plugin |
27 | | -├── asdf-couchdb-plugin/ # CouchDB plugin |
28 | | -├── asdf-cue-plugin/ # CUE plugin |
29 | | -├── asdf-deno-plugin/ # Deno plugin |
30 | | -├── asdf-dhall-plugin/ # Dhall plugin |
31 | | -├── asdf-doctl-plugin/ # DigitalOcean CLI plugin |
32 | | -├── asdf-dragonfly-plugin/ # DragonflyDB plugin |
33 | | -├── asdf-envoy-plugin/ # Envoy plugin |
34 | | -├── asdf-fornax-plugin/ # Fornax plugin |
35 | | -├── asdf-fortran-plugin/ # Fortran plugin |
36 | | -├── asdf-franklin-plugin/ # Franklin plugin |
37 | | -├── asdf-fulcio-plugin/ # Fulcio plugin |
38 | | -├── asdf-git-crypt-plugin/ # git-crypt plugin |
39 | | -├── asdf-gitleaks-plugin/ # Gitleaks plugin |
40 | | -├── asdf-grype-plugin/ # Grype plugin |
41 | | -├── asdf-haproxy-plugin/ # HAProxy plugin |
42 | | -├── asdf-hashicorp-plugin/ # HashiCorp tools plugin |
43 | | -├── asdf-httpd-plugin/ # Apache HTTPD plugin |
44 | | -├── asdf-influxdb-plugin/ # InfluxDB plugin |
45 | | -├── asdf-kdl-fmt-plugin/ # KDL formatter plugin |
46 | | -├── asdf-lego-plugin/ # Lego (ACME) plugin |
47 | | -├── asdf-linkerd-plugin/ # Linkerd plugin |
48 | | -├── asdf-mariadb-plugin/ # MariaDB plugin |
49 | | -├── asdf-mdbook-plugin/ # mdBook plugin |
50 | | -├── asdf-melange-plugin/ # Melange plugin |
51 | | -├── asdf-mysql-plugin/ # MySQL plugin |
52 | | -├── asdf-neo4j-plugin/ # Neo4j plugin |
53 | | -├── asdf-nickel-plugin/ # Nickel plugin |
54 | | -├── asdf-ocaml-plugin/ # OCaml plugin |
55 | | -├── asdf-opa-plugin/ # OPA plugin |
56 | | -├── asdf-openlitespeed-plugin/ # OpenLiteSpeed plugin |
57 | | -├── asdf-openssh-plugin/ # OpenSSH plugin |
58 | | -├── asdf-openssl-plugin/ # OpenSSL plugin |
59 | | -├── asdf-orchid-plugin/ # Orchid plugin |
60 | | -├── asdf-pollen-plugin/ # Pollen plugin |
61 | | -├── asdf-pomerium-plugin/ # Pomerium plugin |
62 | | -├── asdf-rekor-plugin/ # Rekor plugin |
63 | | -├── asdf-rescript-plugin/ # ReScript plugin |
64 | | -├── asdf-restic-plugin/ # Restic plugin |
65 | | -├── asdf-rethinkdb-plugin/ # RethinkDB plugin |
66 | | -├── asdf-serum-plugin/ # Serum plugin |
67 | | -├── asdf-sops-plugin/ # SOPS plugin |
68 | | -├── asdf-step-ca-plugin/ # step-ca plugin |
69 | | -├── asdf-surrealdb-plugin/ # SurrealDB plugin |
70 | | -├── asdf-syft-plugin/ # Syft plugin |
71 | | -├── asdf-taplo-plugin/ # Taplo plugin |
72 | | -├── asdf-trivy-plugin/ # Trivy plugin |
73 | | -├── asdf-ui-plugin/ # UI plugin |
74 | | -├── asdf-varnish-plugin/ # Varnish plugin |
75 | | -├── asdf-virtuoso-plugin/ # Virtuoso plugin |
76 | | -├── asdf-vlang-plugin/ # V language plugin |
77 | | -├── asdf-yj-plugin/ # yj plugin |
78 | | -├── asdf-yq-plugin/ # yq plugin |
79 | | -├── asdf-zig-plugin/ # Zig plugin |
80 | | -├── asdf-zola-plugin/ # Zola plugin |
81 | | -├── README.adoc # Overview |
82 | | -└── Justfile # Task runner |
| 10 | + ┌─────────────────────────────────────────┐ |
| 11 | + │ DEVELOPER / CLI │ |
| 12 | + │ (asdf plugin add <name>) │ |
| 13 | + └───────────────────┬─────────────────────┘ |
| 14 | + │ |
| 15 | + ▼ |
| 16 | + ┌─────────────────────────────────────────┐ |
| 17 | + │ PLUGIN COLLECTION HUB │ |
| 18 | + │ │ |
| 19 | + │ ┌───────────┐ ┌───────────────────┐ │ |
| 20 | + │ │ Language │ │ Infrastructure │ │ |
| 21 | + │ │ Plugins │ │ Plugins │ │ |
| 22 | + │ │ (Ada, OCaml,│ │ (Envoy, Varnish, │ │ |
| 23 | + │ │ Zig, etc.) │ │ Coredns, etc.) │ │ |
| 24 | + │ └─────┬─────┘ └────────┬──────────┘ │ |
| 25 | + │ │ │ │ |
| 26 | + │ ┌─────▼─────┐ ┌────────▼──────────┐ │ |
| 27 | + │ │ Storage │ │ Security │ │ |
| 28 | + │ │ Plugins │ │ Plugins │ │ |
| 29 | + │ │(ArangoDB, │ │ (Cosign, Age, │ │ |
| 30 | + │ │ MariaDB) │ │ Sops, etc.) │ │ |
| 31 | + │ └─────┬─────┘ └────────┬──────────┘ │ |
| 32 | + └────────│─────────────────│──────────────┘ |
| 33 | + │ │ |
| 34 | + ▼ ▼ |
| 35 | + ┌─────────────────────────────────────────┐ |
| 36 | + │ EXTERNAL TOOL SOURCES │ |
| 37 | + │ (GitHub Releases, CDN, etc.) │ |
| 38 | + └─────────────────────────────────────────┘ |
| 39 | +
|
| 40 | + ┌─────────────────────────────────────────┐ |
| 41 | + │ REPO INFRASTRUCTURE │ |
| 42 | + │ .bot_directives/ Justfile │ |
| 43 | + │ contractiles/ .github/workflows/ │ |
| 44 | + │ .machine_readable/ (STATE.a2ml) │ |
| 45 | + └─────────────────────────────────────────┘ |
83 | 46 | ``` |
84 | 47 |
|
85 | 48 | ## Completion Dashboard |
86 | 49 |
|
87 | | -| Component | Status | Progress | |
88 | | -|-----------|--------|----------| |
89 | | -| RSR Structure | Active | `████████░░` 80% | |
90 | | -| Plugin Collection (66 plugins) | Active | `██████████` 100% | |
91 | | -| Documentation | Active | `██████░░░░` 60% | |
| 50 | +``` |
| 51 | +COMPONENT STATUS NOTES |
| 52 | +───────────────────────────────── ────────────────── ───────────────────────────────── |
| 53 | +PLUGIN CATEGORIES |
| 54 | + Language Plugins (Zig, V, Deno) ██████████ 100% All major runtimes active |
| 55 | + Infrastructure (Envoy, Proxy) ████████░░ 80% Scaling logic verified |
| 56 | + Storage (Arango, Virtuoso) ██████████ 100% DB installers stable |
| 57 | + Security (Age, Sops, Cosign) ██████████ 100% Full toolset available |
| 58 | +
|
| 59 | +SHARED INFRASTRUCTURE |
| 60 | + Justfile (Batch Build) ██████████ 100% Standard build automation |
| 61 | + .bot_directives/ ██████████ 100% Plugin hygiene rules |
| 62 | + .machine_readable/ ██████████ 100% STATE.a2ml tracking |
| 63 | +
|
| 64 | +───────────────────────────────────────────────────────────────────────────── |
| 65 | +OVERALL: █████████░ ~90% Robust plugin ecosystem |
| 66 | +``` |
92 | 67 |
|
93 | 68 | ## Key Dependencies |
94 | 69 |
|
95 | | -- RSR Template: `rsr-template-repo` |
96 | | -- Runtime: `asdf` version manager |
| 70 | +``` |
| 71 | +asdf Core ──────► Plugin Script ──────► Download Source ──────► Install |
| 72 | + │ |
| 73 | + ▼ |
| 74 | + Shim Generation |
| 75 | +``` |
| 76 | + |
| 77 | +## Update Protocol |
| 78 | + |
| 79 | +This file is maintained by both humans and AI agents. When updating: |
| 80 | + |
| 81 | +1. **After completing a component**: Change its bar and percentage |
| 82 | +2. **After adding a component**: Add a new row in the appropriate section |
| 83 | +3. **After architectural changes**: Update the ASCII diagram |
| 84 | +4. **Date**: Update the `Last updated` comment at the top of this file |
| 85 | + |
| 86 | +Progress bars use: `█` (filled) and `░` (empty), 10 characters wide. |
| 87 | +Percentages: 0%, 10%, 20%, ... 100% (in 10% increments). |
0 commit comments