Skip to content

Releases: manatunga/repopy

v0.6.2

Choose a tag to compare

@manatunga manatunga released this 27 Sep 06:39

v0.6.2 — Test Coverage: CLI Flags & Command Dispatch

Test-only release. No production code, behavior, or CLI flags changed.

Added

  • Full test_cli.py coverage for init, link, and info subcommands
    (previously only clone and clean had flag-level tests), including
    defaults, valid/invalid choices, and flag combinations.
  • Direct, mocked tests for every Command class's run() method
    (clean, info, link, clone, init), verifying each one
    constructs its corresponding Initializer with the correct
    arguments and returns the correct result. This closes a gap where
    run() logic was only covered incidentally through test_main.py's
    end-to-end dispatch tests, rather than asserted directly.

Notes

  • Full test suite (195 tests), ruff, and mypy all pass clean.
  • Closes #2, #3.

v0.6.1

Choose a tag to compare

@manatunga manatunga released this 26 Sep 11:27

v0.6.1 — Layered Package Reorganization

Internal restructuring of src/repopy/, no functional changes.

Changed

  • Reorganized flat src/repopy/ module layout into layered packages
    matching the project's architectural model:
    • ui/ — CLI parsing and interactive prompts (cli.py, prompts.py)
    • engines/ — low-level execution engines (file_system.py,
      git_engine.py, info.py)
    • validators/ — input sanitation and environment checks
      (validators.py, dependencies.py, os_detector.py)
    • commands/ — unchanged from v0.6.0, already its own package

Notes

  • No flags, commands, or behavior changed for end users.
  • Only affects internal import paths; not relevant to anyone
    installing via pip install repopy.
  • Full test suite, mypy, and ruff checks pass clean.

v0.6.0

Choose a tag to compare

@manatunga manatunga released this 26 Sep 07:32

v0.6.0 — Command Registry Refactor

This release is an internal architecture refactor with no new
user-facing commands or flags. All existing commands work exactly
as before, with one deliberate exception noted below.

Changed

  • Replaced the hardcoded if/elif command dispatch in __main__.py
    and the manually-repeated subparser setup in cli.py with a
    class-based command registry (commands/). Each command now
    defines its own arguments and execution logic in one place,
    conforming to a shared Command interface.
  • This lays the groundwork for the upcoming v0.7.0+ commands
    (add, remove, update, doctor, etc.) without further
    churn to the dispatch layer.

Fixed

  • repopy init now correctly returns a non-zero exit code when
    initialization fails. Previously, a failed init (without
    --link) would still exit with code 0, incorrectly reporting
    success to scripts or CI pipelines checking the exit status.

Notes

  • No flags, defaults, or command behavior changed otherwise.
  • Full test suite (unit + registry integrity) and mypy/ruff checks
    pass clean.

Full Changelog: v0.5.0...v0.6.0

v0.5.0

v0.5.0 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 25 Sep 08:29

Upgrade the automated test suite to a full, independent CI/CD pipeline that runs automated unit tests, linting, formatting and type checks on commits and merges, and deploys new releases from main to PyPI once tests pass.

Create a new command: repopy info - fetches and displays project workspace metadata, including:

  • Project details: name, version, root path, Python runtime version
  • Git status: active branch, latest commit hash, remote origin URL, repository status
  • Virtual environment: active status, package count and installed dependencies.

Full Changelog: v0.4.1...v0.5.0

v0.4.1

v0.4.1 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 20 Sep 06:46

Introduce a brand-new command: repopy clean, to safely fetch and clear build artifacts and test caches.

  • Fix bugs within FileSystemEngine methods used for repopy clean's artifact discoverer.

Full Changelog: v0.4.0...v0.4.1

v0.4.0

v0.4.0 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 20 Sep 06:50

Introduce a brand-new command: repopy clean, to safely fetch and clear build artifacts and test caches.

Full Changelog: v0.3.1...v0.4.0

v0.3.1

v0.3.1 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 19 Sep 12:07
  • Added a class method to FileSystemEngine to create a simple README.md during directory creation with repopy init
  • Update test suites, source code and GitHub Actions CI workflow to integrate ruff linting and mypy type checks.

Full Changelog: v0.3.0...v0.3.1

v0.3.0

v0.3.0 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 17 Sep 05:26

Resolved issue #1:

  • Upgrade repopy clone to include an interactive prompt to proceed or skip installing dependencies.
  • Add new -i / --install and --no-install flags to repopy clone to bypass the prompt and execute or skip dependency installation, respectively.

Full Changelog: v0.2.0...v0.3.0

v0.2.0

v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 16 Sep 09:05

Introduce repopy link to link a local workspace to a remote repository.

Upgrade repopy local to repopy init with additional flags (-t / --theme, -s / --skip) for greater user control:

  • Add -l / --link and -m / --message flags to repopy init to combine both repopy init and repopy link processes.

Add initial test suites and automated GitHub Actions CI workflows.

Full Changelog: v0.1.1...v0.2.0

v0.1.1

v0.1.1 Pre-release
Pre-release

Choose a tag to compare

@manatunga manatunga released this 14 Sep 18:57

Add additional configurations