Skip to content

feat: add github-cli to Dockerfile as explicit dependency#453

Merged
avoidwork merged 6 commits into
mainfrom
feat/add-gh-cli-dockerfile-dependency
Jun 26, 2026
Merged

feat: add github-cli to Dockerfile as explicit dependency#453
avoidwork merged 6 commits into
mainfrom
feat/add-gh-cli-dockerfile-dependency

Conversation

@avoidwork

@avoidwork avoidwork commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Description

Add the GitHub CLI (gh) to the Dockerfile as an explicit package dependency in the runtime stage. The Alpine package github-cli provides the gh binary, ensuring it is present in every built container image.

Type of Change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactor (no functional changes)
  • Performance improvement
  • CI / build / tooling

Testing

  • Docker image builds successfully with github-cli included
  • gh --version returns v2.93.0 inside the container
  • No code changes to src/, index.js, or skill scripts
  • npm start runs without crashes (TUI raw mode error is expected in non-interactive environments)

Coverage

  • N/A — no code changes, only Dockerfile dependency addition and OpenSpec artifacts

Checklist

  • npm run lint passes
  • Tests pass with 100% line coverage
  • No forbidden patterns used
  • Conventional Commit style applied

Files Changed

  • Dockerfile — added github-cli to apk add --no-cache line in runtime stage
  • OpenSpec artifacts (proposal, design, specs, tasks) for the change

Add OpenSpec change for adding gh CLI to Dockerfile as explicit
package dependency. Includes proposal, design, specs, and tasks.
Add github-cli (Alpine package for gh CLI) to the runtime stage
apk add command, ensuring the GitHub CLI binary is present in every
built container image. The skill ecosystem relies on gh for issue
CRUD, PR management, and raw API calls.
@avoidwork avoidwork changed the title feat(openspec): propose add-gh-cli-dockerfile-dependency feat: add github-cli to Dockerfile as explicit dependency Jun 26, 2026
@avoidwork

Copy link
Copy Markdown
Owner Author

Audit Results: add-gh-cli-dockerfile-dependency

Step 5: Spec Audit — PASS (0 errors)

  • Coverage: All goals covered by specs and tasks
  • Fidelity: Specs faithfully represent original intent
  • Completeness: No missing requirements or edge cases
  • Consistency: Tasks map cleanly to spec requirements

Step 9: Implementation Audit — PASS (0 errors)

Goal Fulfillment

  • Goal 1: Add gh CLI as explicit package dependency — ✅ COMPLETE
    • github-cli (Alpine package for gh CLI) added to Dockerfile runtime stage apk add line
    • Package is in the correct position (between git and file)
    • Dockerfile syntax is valid
    • Docker image builds successfully
    • gh --version works inside the container (v2.93.0)

Spec Compliance

  • Requirement: "gh CLI must be installed in the container image" — ✅ SATISFIED
    • github-cli is installed via apk add --no-cache in the runtime stage
    • The gh binary is present and functional in every built image

Task Completion

  • 1.1: Add gh to the apk add line — ✅ COMPLETE (used github-cli Alpine package)
  • 1.2: Verify Dockerfile syntax — ✅ COMPLETE (valid syntax, no issues)
  • 1.3: Build image and verify gh --version — ✅ COMPLETE (v2.93.0)

Quality Check

  • Dockerfile change: Single-line modification, clean and minimal
  • Package selection: github-cli is the correct Alpine package name for the gh CLI
  • No code changes: As specified, no changes to src/, index.js, or skill scripts
  • Application startup: npm start runs without crashes (TUI raw mode error is expected in non-interactive environments)

Notes

  • The Alpine package is named github-cli, not gh. The github-cli package provides the gh binary.
  • The npm start error about raw mode is from the Ink TUI framework and is expected when running without a proper TTY. This is not a flaw in the implementation.

@avoidwork avoidwork enabled auto-merge (squash) June 26, 2026 12:07
@avoidwork avoidwork merged commit 75935d2 into main Jun 26, 2026
2 checks passed
@avoidwork avoidwork deleted the feat/add-gh-cli-dockerfile-dependency branch June 26, 2026 12:07
@avoidwork

Copy link
Copy Markdown
Owner Author

Fixes #449

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