Skip to content

epic: extract CLI to dapi/memory-bank-cli and rename it to memory-bank-cli #51

Description

@dapi

Goal

Extract the Go CLI from tools/ into the standalone repository https://github.com/dapi/memory-bank-cli and rename the executable from memory-bank to memory-bank-cli.

Decision constraints

  • memory-bank-lint is removed; no compatibility entrypoint or compatibility support is retained.
  • The old memory-bank executable name is removed; the supported public command is memory-bank-cli only.
  • The template repository remains the authoritative source of the memory-bank/ payload.
  • The CLI repository owns releases, installation, command documentation, and CLI implementation.

Scope

  • Move the Go module and its test suite from tools/ to dapi/memory-bank-cli, preserving history where practical.
  • Change the module path and installation commands to github.com/dapi/memory-bank-cli/cmd/memory-bank-cli.
  • Rename the primary command and all documentation/CI examples to memory-bank-cli lint, memory-bank-cli doctor, memory-bank-cli init, and memory-bank-cli update.
  • Remove cmd/memory-bank-lint, its documentation, tests specific to compatibility, and all references to it.
  • Do not ship aliases, wrapper binaries, or transition support for memory-bank or memory-bank-lint.
  • Replace template-source auto-detection in doctor: it currently relies on tools/go.mod, which will no longer exist after extraction.
  • Define an explicit template/CLI compatibility contract (schema and supported CLI version range).
  • Update template CI to install a pinned released memory-bank-cli version and run lint/doctor against the template.
  • Update adoption, usage, ownership, and development documentation.

Acceptance criteria

  • go install github.com/dapi/memory-bank-cli/cmd/memory-bank-cli@vX.Y.Z installs the memory-bank-cli binary.
  • memory-bank-cli lint, doctor, init, and update preserve their intended semantics, exit codes, and documented JSON contracts.
  • Neither repository contains memory-bank-lint or documents a compatibility command.
  • The template repository has no Go module or CLI source after migration.
  • memory-bank-cli doctor --profile auto recognizes a template source repository without checking for tools/go.mod.
  • Template CI validates the checked-out template with a pinned CLI release.
  • Release and migration notes state that the executable rename is intentionally breaking.

Suggested delivery order

  1. Define the compatibility marker/manifest and source-template detection.
  2. Migrate the CLI into the new repository and establish its release pipeline.
  3. Release the first memory-bank-cli version.
  4. Switch template documentation and CI to the released CLI.
  5. Remove tools/ and all compatibility artifacts from this repository.
  6. Validate installation and adoption in a clean downstream fixture.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions