chore: retire tooling superseded by the hub's fan-out kits - #9
Open
bamr87 wants to merge 1 commit into
Open
Conversation
This repo carried three pieces of local automation that the bamr87 hub's `tools/fanout.sh` + `templates/` now own fleet-wide. Config distribution here is registry-driven, additive-only and PR-based from the hub; these walked hardcoded local paths and overwrote files in place. Removed, and what now owns each job: - `linting/setup-lint-configs.sh` + `linting/validate-lint-setup.sh` (+ `linting/README.md`). Deployed `.markdownlint.json`/`.yamllint.yml`/ `.shellcheckrc`/`.editorconfig` by iterating a hardcoded list of seven `/Users/bamr87/github/<repo>` paths, three of which (ai-seed, ai-evolution-engine-seed, scripts) no longer exist there at all — it wrote into local checkouts, so nothing ever reached GitHub. NOW: `fanout.sh --kit standardize --artifacts editorconfig` (this repo's `.editorconfig` is already byte-identical to the hub's), with the markdown rule enforced by `--kit prose` / `.github/workflows/markdown-oneline.yml`. The `.shellcheckrc` and `.markdownlint.json` these scripts generated are already committed at the repo root and are kept — only the generator is retired. Its `linting/README.md` also documented a `configs/jekyll|shell/` tree that was never committed. - `.github.sh`. Generated a whole `.github/` tree with hand-rolled workflow YAML pinned to retired action versions — `actions/upload-artifact@v3` and `github/codeql-action@v2` (both shut down by GitHub in Jan 2025) and the archived `actions/create-release@v1` — so it emitted immediately-failing CI, the exact waste the fleet-pulse doctor loop exists to hunt. It also ran `mkdir -p logs/` at source time, before argument parsing, so even `--help` littered the caller's cwd. NOW: CI → `templates/standard-ci/ci.yml` (adopted here as `.github/workflows/ci.yml`); releases → `templates/release-pipeline/`; code quality/CodeQL → the full `bamr87/.github` gate; AI/evolution → `templates/agent-context/claude.yml` (adopted here as `.github/workflows/claude.yml`) plus the hub's `fleet-pulse.yml`; copilot-instructions → the agent-context kit's `CLAUDE.md`. Its `dependabot.yml` output additionally contradicted the fleet's ALWAYS-LATEST policy (`--kit deps-latest`, docs/DEPENDENCIES.md), which removes the pins Dependabot exists to bump. Dropping it also clears six SC2155 shellcheck warnings. - `example.sh`. A three-line placeholder whose stated purpose was to show "the scripts folder is being tracked by git", in a repo that now tracks twenty other scripts. Not superseded — simply dead. Also in this change: - `README.md` was two concatenated READMEs — a short "scripts directory" blurb welded onto a full "IT-Journey Scripts Collection" doc, with four U+FFFD replacement characters where emoji had been mangled by an unclean split from it-journey. Rewritten as one document describing what this repo actually contains today, with a tool index verified against the tracked file list and the mojibake fixed. - `install.sh` is KEPT — it is the standalone path for users who don't have the hub checked out. Its header and the README now state which installer to use when: the hub's `tools/setup.sh` (`setup_script_cli_tools`) is a strict superset for CLI installation, symlinking all six commands, while `install.sh` wires up `project-wizard` alone but uniquely creates `~/.project-wizard/` and the `env.example` copy. - `CLAUDE.md` drops the entries for the removed files and records why they must not be re-added. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bamr87 added a commit
to bamr87/bamr87
that referenced
this pull request
Aug 10, 2026
- tools/setup.sh still wired $(printf '%s' '.github.sh') as the $(printf '%s' 'github-setup') CLI. That generator was removed from projects/scripts (bamr87/scripts#9) because it emitted workflows pinned to actions GitHub shut down in Jan 2025. The hub was advertising a command it could no longer install. - dash daily help still promised a failure work order it no longer produces. - templates/schema/VERSION recorded upstream-commit 04b0980, which was the last commit to TOUCH the linter rather than the commit the copy tracks. The vendored file is byte-identical to upstream HEAD (ce09aeb). Records the real provenance, the new enforcement, and the honest gap: the hub vendors this linter to ~40 repos with no local test coverage.
bamr87 added a commit
to bamr87/bamr87
that referenced
this pull request
Aug 10, 2026
- tools/setup.sh still wired `.github.sh` as the `github-setup` CLI. That generator was removed from projects/scripts (bamr87/scripts#9) because it emitted workflows pinned to actions GitHub shut down in January 2025, so the hub was advertising a command it could no longer install. - `dash daily` help still promised a failure work order it no longer produces. - templates/schema/VERSION recorded upstream-commit 04b0980, which was the last commit to TOUCH the linter rather than the commit the vendored copy tracks. The file is byte-identical to upstream HEAD (ce09aeb). Now records the real provenance, the new check-(i) enforcement, and an honest gap: the hub vendors this linter to ~40 repos with no local test coverage, so a re-vendor is verified only by the hub's own pyramid linting clean. Related: bamr87/SCHEMA#4 fixes a real linter bug this audit surfaced -- a schema that registers its own SCHEMA.md row was reported as missing that file. Sent upstream rather than patched into the vendored copy, which is exactly the policy check (i) now enforces.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes three pieces of local automation that the bamr87 hub's
tools/fanout.sh+templates/now own fleet-wide, and repairs the README that an unclean split from it-journey left behind.Net: -2610 / +123 lines.
What was removed, and what now owns each job
linting/(setup-lint-configs.sh,validate-lint-setup.sh,README.md)Deployed
.markdownlint.json/.yamllint.yml/.shellcheckrc/.editorconfigby iterating a hardcoded list of seven/Users/bamr87/github/<repo>paths. Verification:ai-seed,ai-evolution-engine-seed,scripts) no longer exist under that root at all.README.mddocumented aconfigs/jekyll/+configs/shell/tree that was never committed to this repo..shellcheckrcand.markdownlint.jsonare byte-identical to whatsetup_shell_linting()writes, so running it was a no-op rewrite.Now owned by
fanout.sh --kit standardize --artifacts editorconfig(registry-driven, additive-only, PR-based across ~40 repos). This repo's.editorconfigis already byte-identical to the hub's, confirming the fan-out is the live path. The markdown rule is enforced by--kit prose/.github/workflows/markdown-oneline.yml.The generated config files themselves (
.shellcheckrc,.markdownlint.json) are kept — only the generator is retired..github.sh(1,565 lines)Generated an entire
.github/tree with hand-rolled workflow YAML. Verification:actions/upload-artifact@v3andgithub/codeql-action@v2(both shut down by GitHub in Jan 2025) and the archivedactions/create-release@v1. It emitted immediately-failing CI — precisely the waste thefleet-pulsedoctor loop exists to hunt.mkdir -p logs/at source time, before argument parsing — even--helplittered the caller's cwd.Now owned by:
.github.shproducedtemplates/standard-ci/ci.yml.github/workflows/ci.ymltemplates/release-pipeline/bamr87/.githubgatetemplates/agent-context/claude.yml,fleet-pulse.yml.github/workflows/claude.ymlCLAUDE.mdCLAUDE.md.markdownlint.json,.yamllint.ymllinting/; already in tree)dependabot.ymlThat last row is the point: the fleet's ALWAYS-LATEST policy (
--kit deps-latest,docs/DEPENDENCIES.md) removes the exact pins Dependabot exists to bump.example.shThree-line placeholder whose stated purpose was to show "the scripts folder is being tracked by git", in a repo that tracks twenty other scripts. Not superseded — simply dead.
README rewrite
README.mdwas two concatenated READMEs: a short "scripts directory" blurb welded onto a full "IT-Journey Scripts Collection" doc at line 8, with fourU+FFFDreplacement characters where emoji had been mangled (lines 8, 20, 23, 170) — fossil evidence of an unclean split from it-journey.Rewritten as one coherent document: a tool index verified against
git ls-files, per-tool quick starts, prerequisites, the dev/lint gates, and fleet context. Mojibake fixed. Every relative link verified to resolve. Passestools/unwrap-prose.py --check(one paragraph per line).install.shkept, with a disambiguating noteNot deleted — it is the standalone path for users who don't have the hub checked out. The overlap with the hub's
tools/setup.shis now documented in both theinstall.shheader and the README:setup.sh→setup_script_cli_tools()install.sh~/.local/binforkme,stashme,git-init,project-wizard,rename-dir,create-packageproject-wizardonlychmod +xevery*.shproject-init.shonly~/.project-wizard/config direnv.examplecopyPATHupdateSo the hub is a strict superset for CLI installation, but
install.shuniquely creates the wizard's config directory. Running both is idempotent but redundant.Follow-ups for the hub (out of scope here — separate repo)
github-setupreference. The hub'stools/setup.shwires.github.shas thegithub-setupCLI at three sites (lines 33, 919, 1089) plus help text at 1127.setup_script_cli_toolsskips missing files gracefully, so nothing breaks, but the hub will keep advertising a command it can no longer install..github.shwas the only thing producingISSUE_TEMPLATE/*.ymlandPULL_REQUEST_TEMPLATE/— the hub's standardize kit does not seed either, though the hub has its own. Worth considering anissue-templatesartifact.Verification
shellcheck --severity=warning install.sh— clean (the only shell file touched).python3 tools/unwrap-prose.py --check— passes.U+FFFDremaining in any touched file.forkme.sh,FORKME/,STASHME/,project-init.sh,git_init.sh,rename-directory.sh,create_package.sh,tools/unwrap-prose.py.🤖 Generated with Claude Code