Skip to content

Latest commit

 

History

History
86 lines (64 loc) · 3.28 KB

File metadata and controls

86 lines (64 loc) · 3.28 KB

Maintaining smoosh

Operational guide for the maintainer. For contributor instructions, see CONTRIBUTING.md.

Cutting a release

  1. Bump the version in smoosh (line 8: readonly VERSION="X.Y.Z").
  2. Update CHANGELOG.md — move items from [Unreleased] into a new [X.Y.Z] - YYYY-MM-DD section.
  3. Commit: git commit -s -m "chore: prepare vX.Y.Z release".
  4. Tag: git tag --no-sign vX.Y.Z.
  5. Push both: git push origin main && git push origin vX.Y.Z.
  6. Verify the release workflow:
    • Quality gate (ShellCheck, shfmt, bats) must pass.
    • GitHub Release is created with smoosh, smoosh.sha256, and install.sh.
    • Homebrew tap auto-updates (update-tap job).
  7. Check the tap — confirm the formula SHA256 and version match: brew update && brew info K1-R1/tap/smoosh.

If the update-tap job fails, update the formula manually: download the new tarball, compute sha256sum, and commit to K1-R1/homebrew-tap.

Pinned dependencies

Dependabot handles GitHub Actions (uses: entries) on a monthly cycle. Everything else needs manual bumping.

Automated (Dependabot)

Dependency File Current
actions/checkout ci.yml, release.yml v6.0.2
actions/upload-artifact ci.yml v7.0.0

Manual

Dependency File(s) Current Check
shfmt ci.yml:32, release.yml:48 v3.13.0 Releases
bats-core ci.yml:69,108, release.yml:56 v1.13.0 Releases
actionlint ci.yml:41 1.7.11 Releases
zizmor ci.yml:48 1.23.1 PyPI
markdownlint-cli2 prek.toml v0.21.0 npm
cspell prek.toml 9 npm

When bumping a manual dependency: update the version pin, run CI locally (prek run && bats test/*.bats), and commit with chore: bump <tool> to vX.Y.Z.

Periodic checks

Quarterly — dependency audit

Check the manual dependencies table above for new releases. Bump, test, commit.

Semi-annually — README accuracy

Verify external claims haven't changed:

  • NotebookLM source limits (currently: 500k words/source, Free 50 / Plus 300 / Ultra 600 sources)
  • Installation URLs still resolve
  • Third-party integration steps (Claude Projects, ChatGPT) still match their current UIs

On issue/PR activity

Aim to triage new issues within a week. For PRs: check CI passes, DCO is signed, and changes match the project's scope.

Repo configuration

These settings are applied via the GitHub UI, not tracked in code:

  • Branch ruleset on main: require PR, block force push, require status checks (lint, test, bash32).
  • Tag ruleset: require tag match v*, bypass actor: repository admin.
  • Merge policy: squash merge only, delete branch on merge.
  • GitHub topics: bash, cli, rag, llm, notebooklm, knowledge-base, developer-tools, context-window.
  • HOMEBREW_TAP_TOKEN: fine-grained PAT scoped to K1-R1/homebrew-tap (Contents: read+write). Stored in the homebrew environment on this repo.