>_EXECUTIVE SUMMARY
MenkeTechnologiesMeta is a single umbrella git repository that vendors every active MenkeTechnologies project as a submodule. The goal: one git clone --recurse-submodules produces a fully-loaded development workstation with the language, shell, VM, CLIs, GUIs, plugins, completions, and supporting infrastructure already in place. Currently 161 submodules across 7 tiers, ~7.8 GB on disk, 88 Rust crates + 28 zsh plugins + 16 Tauri v2 desktop apps (Audio-Haxor, traderview, ztranslator, zoffice, zemail, zpdf, zphoto, zstation, zcite, zreq, zftp, zgo, zcontainer, ztunnel, zthrottle, zmax-gui) + 1 DAW arranger engine (zpwr-daw) + 3 JUCE audio plugins + 1 storefront + 1 Chrome extension + 2 web-API services + the public website + the private MenkeTechnologiesPublications book pipeline.
~ SCALE & POSITION
| Metric | Value | Notes |
|---|---|---|
| Submodules | 161 | All canonical URLs https://github.com/MenkeTechnologies/<repo>.git, flat layout |
| Tiers | 6 | Core, Stryke ecosystem, completions, zsh plugins, editor/multiplexer plugins, apps/web/APIs |
| Rust crates | 77 | Any submodule with a top-level Cargo.toml; 45 run all four polish gates (fmt+clippy+doc+test), the rest have documented opt-outs or ship no ci.yml (see below) |
| Zsh plugins (Tier 4) | 28 | All have .github/workflows/ci.yml running zunit on each push |
| Total checkout | ~7.8 GB | Bulk: MenkeTechnologiesPublications (~1.2 GB — it re-vendors strykelang/zshrs/zpwr), traderview (~675 MB), zwire (~600 MB — Chromium snapshot), zmax-gui (~590 MB), zmax (~567 MB), MenkeTechnologies.github.io (~506 MB — image history), Audio-Haxor (~425 MB — Tauri + JUCE C++), rest small |
| Homebrew tap | 19 formulas | MenkeTechnologies/menketech — auto-bumped by each repo's release.yml |
# TIER BREAKDOWN
| Tier | Count | Description |
|---|---|---|
| Tier 1 — Core | 64 | strykelang, zshrs, fusevm, vimlrs (standalone VimL interpreter), elisprs, lsofrs, temprs, awkrs, iftoprs, zcolorizer, grcrs, nmaprs, powerliners, zpwr, ztranslator, ztranslator-core, Audio-Haxor, traderview, zpwr-daw, zpwr-crate, zpwr-embed-terminal, zwire-host, zpwr-file-browser, zpwr-algo-production, zpdf, zpdf-core, zemail, zemail-core, zoffice, zphoto, zphoto-core, zoffice-core, zstation, zstation-core, zcite, zreq, zreq-core, ztunnel, ztunnel-core, zgo, zgo-core, zftp, zftp-core, zcontainer, zcontainer-core, zterminal, ztmux-core, zmax, zmax-gui, zmax-gui-core |
| Tier 2 — Stryke ecosystem + tap | 34 | homebrew-menketech + 32 stryke-* packages (25 per-service connector & data libraries + stryke-demo + stryke-gui GUI automation bridge + stryke-utils pure-stryke library + stryke-fleet parallel expect/PTY automation + stryke-mcpd native-binary MCP servers + stryke-office Office/ODF/PDF import+export + stryke-app GUI Automation Bus bridge) |
| Tier 3 — zsh-more-completions | 1 | 47,393-completion corpus (counts _* functions only — per scripts/print-repo-stats.zsh) |
| Tier 4 — Zsh plugins | 28 | full ZPWR_GH_PLUGINS canonical list |
| Tier 5 — Editor / multiplexer | 20 | VimColorSchemes (732 schemes), vim-stryke / vscode-stryke / emacs-stryke (stryke support), vim-zsh / vscode-zsh / emacs-zsh (zshrs support, generated from zshrs --dump-reflection), vscode-awk / vim-awk / emacs-awk (awkrs support), vscode-viml / vim-viml / emacs-viml (vimlrs support), tmux-fzf-url |
| Tier 6 — Apps, ext, web, APIs | 22 | zwire, zpwrchrome, storageshower, zpwr-jobs (job-application pipeline CLI), MenkeTechnologies.github.io, api-rest-generator, LearningCollectionAPI, zpwr-synth, zpwr-fx, zpwr-midi-fx (JUCE audio plugins), zpwr-patch-core (shared patch graph), zpwr-hooks-editor (shared stryke Hooks editor), zpwr-modal-editor (shared Vim/Emacs modal-editing surface), zpwr-i18n (shared i18n runtime), zgui-core (shared cyberpunk GUI toolkit), zdsp-core (shared audio DSP engine), zpwr-clip-engine (shared arranger/sequencer frontend), zpwr-theme (VS Code + JetBrains cyberpunk theme), zpwr-license, app-store (storefront), MenkeTechnologiesPublications (private paid book pipeline) |
| Tier 7 — znative plugins | 8 | zshrs-forgit (git+fzf), zshrs-git-fuzzy (fzf git UI), zshrs-git-repos (parallel repo scan), zshrs-revolver (progress spinner), zshrs-kubectl-completion, zshrs-zsh-z (frecency dir jumper), zshrs-fasd (frecency files+dirs), zshrs-reveal (open repo pages) — classic zsh utilities ported to native compiled cdylib zshrs plugins installed via znative |
! POLISH GATES (per Rust crate)
The target polish bar for every Rust crate in the meta repo is to pass all four gates locally and in CI before a tag is cut. The shared release flow then promotes the binary to MenkeTechnologies/homebrew-menketech via the HOMEBREW_TAP_TOKEN cross-repo write secret. Audit gate tests/rust-ci-polish-gates.sh in the meta repo verifies the per-submodule ci.yml coverage; current state is 34 of 42 crates running all four (the Rust binaries lsofrs/temprs/awkrs/iftoprs/nmaprs/storageshower/powerliners + all 31 stryke-* ecosystem crates). 4 enforce a subset via the script's allowlist — strykelang, zshrs, and fusevm explicitly mark fmt/clippy advisory in their ci.yml headers, and api-rest-generator is mid-transition from Kotlin to Rust. The remaining 4 ship no ci.yml at all — Audio-Haxor and traderview are Tauri apps with pnpm-driven build pipelines, ztranslator is a Tauri app on the same model, and zpwr-license is a license-key service.
- fmt —
cargo fmt --all -- --check, zero diff - clippy —
cargo clippy --all-targets --locked -- -D warnings, zero error - doc —
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps, zero broken intra-doc-link / mis-fenced code block - test —
cargo test --locked --no-fail-fast, all green on the per-repo matrix (ubuntu-latest + macos-latest typical)
@ META REPO CI
.github/workflows/ci.yml on the meta repo runs 7 gate jobs on every push:
- .gitmodules syntax — path/url count match, every URL is canonical
https://github.com/MenkeTechnologies/*.git, no nested paths - Submodule URL reachability —
git ls-remoteevery URL - Shellcheck across
bin/*helper scripts - bin/ smoke —
bin/status-all+bin/foreachdon't crash on empty checkout - Homebrew tap formula quality — every
homebrew-menketech/Formula/*.rbparses, declaresversion,homepage,license, and ships per-platformsha256+url - Cargo.toml ↔ docs/*.html version sync — every Rust crate's shipped version in
Cargo.tomlagrees with whatdocs/index.htmland per-repo report cards advertise - README link sanity — 6 independent drift gates: (a) every
.gitmodulespath is referenced from README, (b) submodule-count badge matches actual entry count, (c) each### Tier N — Label (M)header has exactly M table rows + tier-counts sum to total submodules, (d)docs/index.htmlstat-cards for submodules, tiers, and zsh plugins match README values, (e) rust crates stat-card matches actual top-levelCargo.tomlcount (skipped when submodules aren't initialized in this job's checkout), (f) all seven per-tier counts indocs/index.htmlcards anddocs/report.htmlrows match the README### Tier Nheaders
% HELPER SCRIPTS (bin/)
| Script | Role |
|---|---|
bin/pull-all | Pull every submodule to its tracking-branch tip in parallel |
bin/status-all | One-line status for every submodule (branch + ahead/behind + dirty marker) |
bin/foreach | Run an arbitrary shell command inside every submodule |
bin/sync-pointers | Stage + commit all submodule pointer bumps as one commit |
bin/release-all | Coordinated Cargo.toml bump + commit + tag + push across every submodule that backs a homebrew formula (derives the tag prefix from each formula's release URL, dedupes formulae that share a repo) |
^ DEPENDENCY POSTURE
Cross-repo Cargo.lock sweep run periodically — cargo update across all 88 Rust crates, lockfile committed, CI re-run. Dependabot security PRs (e.g. rustls-webpki, rand) get absorbed into the same sweep when they appear. Major-version bumps require maintainer review and aren't auto-applied.
. NEXT
Roadmap is per-repo; consult each project's docs/report.html for codebase-specific milestones. Meta repo's own roadmap is light:
- Wire
bin/release-allinto the bin/ smoke job — currently onlystatus-all+foreachare exercised on empty checkout;release-all --dry-runagainst the live formula list would catch parser regressions before they ship - Audit Tier 4 plugin install paths against zinit's actual loader options (turbo vs lucid vs wait)
- Extend meta CI with a periodic submodule-staleness alert (PR comment when a sibling repo's main is > 30 days ahead of the pinned SHA)