Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: lipex360x/github-toolkit

v0.2.0

08 May 23:05
@lipex360x lipex360x

Choose a tag to compare

Added

  • release short-circuits gracefully when the CHANGELOG top version is already a local git tag — emits EXISTS:tag/<tag>:already released — bump CHANGELOG to release a new version and exits 0 without touching manifests, commits, or push. Catches the most common slip: running release after a docs-only commit without bumping the CHANGELOG. Applies to plain release, release --publish, and release --dry-run.

Documented

  • CLAUDE.md gains a "Release discipline" section with a per-change-type decision table (bug fix / new feature / breaking → release --publish; docs / tests / refactor without behavior change → plain commit) and an explicit description of the short-circuit safety net.
  • SKILL.md and README.md updated to describe the short-circuit behavior.
Assets 2
Loading

v0.1.0

08 May 22:51
@lipex360x lipex360x

Choose a tag to compare

First public release. Standalone GitHub project setup/teardown toolkit, extracted from pi-cli and adapted to operate on any project from any working directory via GH_PROJECT_ROOT (defaults to $(pwd)).

Added

Dispatcher and installer

  • bin/gh-toolkit — single entrypoint dispatching to scripts by name. Resolves symlinks so it works whether invoked directly or via /usr/local/bin.
  • install.sh — idempotent installer that symlinks bin/gh-toolkit into a directory on PATH (default: /usr/local/bin). Supports --dry-run, --uninstall, --force, --target-dir <path>.
    GitHub setup commands
  • create-repo — create a GitHub repository (private/public, description, topics).
  • setup-labels — apply 14 standard label definitions (priority P0/P1/P2, size XS/S/M/L/XL, type feat/fix/chore/refactor/docs/test).
  • setup-board — create the project board with columns and custom fields.
  • create-milestones — apply milestones from a JSON fixture.
  • create-issues — create issues from a JSON fixture (with body inline or body_file reference).
  • bootstrap-issues / bootstrap-milestones — build the local JSON fixtures interactively.
  • find-project — locate a project board by name.
    Mutation and teardown
  • apply-labels — add/remove labels on existing issues, idempotent (computes delta from current label state). Inline mode (<issue#> --add a,b --remove c) and JSON mode (bulk via fixture).
  • teardown-repo — wipe issues, milestones, custom labels, and project link. Optional --delete-project to drop the board too.
  • nuke-project — full destruction: teardown + gh repo delete + remote/local branches + local dev/checklist-<slug>.md and dev/fixtures/<slug>/.
    Release automation
  • release — project-agnostic version bump driven by CHANGELOG.md (top entry ## [vX.Y.Z]). Auto-detects and updates package.json, pyproject.toml, Cargo.toml, VERSION, and the README version badge. Commits, pushes, and (with --publish) creates a git tag and GitHub Release with notes extracted from the CHANGELOG.
  • release --init — bootstrap a CHANGELOG.md from a Keep-a-Changelog template for projects starting from scratch.
    Infrastructure
  • lib/log.sh — shared logging library. log::init_script routes to stderr so contract output stays clean on stdout.
  • scripts/gh-preflight.sh — sourced library for gh auth check, repo existence check, and rate-limit threshold check (reads .config/settings.json).
  • tests/*.bats — 263 bats-core tests covering all commands. Mocks gh via PATH injection; uses local bare repos for git push/git fetch against a real-ish remote.
    Conventions documented
  • Output contract on stdout: CREATED/UPDATED/EXISTS/DELETED/SKIPPED/DRY_RUN/FAILED:<type>/<name>.
  • PROJECT_ROOT="${GH_PROJECT_ROOT:-$(pwd)}" resolution pattern.
  • TOOLKIT_ROOT for self-location, # shellcheck source=SCRIPTDIR/... for cross-file source directives.
  • bash 3.2 compatibility: ${#arr[@]} -gt 0 guard before iterating arrays under set -u.
  • TDD red-green discipline.
  • CLAUDE.md capturing all of the above plus the bats stacked-assertion gotcha.

Quality

  • bats tests/ → 263 tests, 0 failures.
  • shellcheck -x install.sh scripts/*.sh lib/*.sh bin/gh-toolkit tests/*.bats → 0 issues.
  • Audit query for stacked [[ ]] assertions in tests → 0 vulnerable blocks.
Loading

AltStyle によって変換されたページ (->オリジナル) /