Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: retire tooling superseded by the hub's fan-out kits - #9

Open
bamr87 wants to merge 1 commit into
mainfrom
chore/retire-superseded-tooling
Open

chore: retire tooling superseded by the hub's fan-out kits#9
bamr87 wants to merge 1 commit into
mainfrom
chore/retire-superseded-tooling

Conversation

@bamr87

@bamr87 bamr87 commented Aug 10, 2026

Copy link
Copy Markdown
Owner

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 / .editorconfig by iterating a hardcoded list of seven /Users/bamr87/github/<repo> paths. Verification:

  • Three of those seven (ai-seed, ai-evolution-engine-seed, scripts) no longer exist under that root at all.
  • It wrote into local checkouts — nothing it produced ever reached GitHub. Someone had to hand-commit in seven repos.
  • Its README.md documented a configs/jekyll/ + configs/shell/ tree that was never committed to this repo.
  • Its output is already materialised: this repo's .shellcheckrc and .markdownlint.json are byte-identical to what setup_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 .editorconfig is 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:

  • 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. It emitted immediately-failing CI — precisely the waste the fleet-pulse doctor loop exists to hunt.
  • Ran mkdir -p logs/ at source time, before argument parsing — even --help littered the caller's cwd.
  • Carried six SC2155 shellcheck warnings; dropping it clears them.
  • Last touched 2025-08-21, authored as "IT-Journey Team".

Now owned by:

.github.sh produced Hub owner Already adopted here
CI workflow templates/standard-ci/ci.yml .github/workflows/ci.yml
Release workflow templates/release-pipeline/
Code quality / CodeQL full bamr87/.github gate
AI evolution workflow templates/agent-context/claude.yml, fleet-pulse.yml .github/workflows/claude.yml
copilot-instructions agent-context kit CLAUDE.md CLAUDE.md
.markdownlint.json, .yamllint.yml (duplicated linting/; already in tree)
dependabot.yml nothing — contrary to policy

That 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.sh

Three-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.md was two concatenated READMEs: a short "scripts directory" blurb welded onto a full "IT-Journey Scripts Collection" doc at line 8, with four U+FFFD replacement 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. Passes tools/unwrap-prose.py --check (one paragraph per line).

install.sh kept, with a disambiguating note

Not deleted — it is the standalone path for users who don't have the hub checked out. The overlap with the hub's tools/setup.sh is now documented in both the install.sh header and the README:

hub setup.shsetup_script_cli_tools() this repo's install.sh
CLI symlinks into ~/.local/bin all six: forkme, stashme, git-init, project-wizard, rename-dir, create-package project-wizard only
chmod +x every *.sh project-init.sh only
~/.project-wizard/ config dir
env.example copy
shell rc PATH update via hub bootstrap

So the hub is a strict superset for CLI installation, but install.sh uniquely creates the wizard's config directory. Running both is idempotent but redundant.

Follow-ups for the hub (out of scope here — separate repo)

  1. Dangling github-setup reference. The hub's tools/setup.sh wires .github.sh as the github-setup CLI at three sites (lines 33, 919, 1089) plus help text at 1127. setup_script_cli_tools skips missing files gracefully, so nothing breaks, but the hub will keep advertising a command it can no longer install.
  2. Issue/PR templates are a genuine gap. .github.sh was the only thing producing ISSUE_TEMPLATE/*.yml and PULL_REQUEST_TEMPLATE/ — the hub's standardize kit does not seed either, though the hub has its own. Worth considering an issue-templates artifact.

Verification

  • shellcheck --severity=warning install.sh — clean (the only shell file touched).
  • python3 tools/unwrap-prose.py --check — passes.
  • No U+FFFD remaining in any touched file.
  • Untouched as required: forkme.sh, FORKME/, STASHME/, project-init.sh, git_init.sh, rename-directory.sh, create_package.sh, tools/unwrap-prose.py.

🤖 Generated with Claude Code

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 <[email protected]>
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.
@bamr87

bamr87 commented Sep 13, 2026

Copy link
Copy Markdown
Owner Author

Deferred for human review during PR triage: large change needs human product judgment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant