Skip to content

v0.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Aug 08:37
· 10 commits to main since this release

Install

New app — prompts for the project name and package:

curl -fsSL https://github.com/ThisIsSadeghi/KMPilot/releases/download/v0.2.1/install.sh | bash

Non-interactive: | bash -s <MyApp> <com.acme.myapp>

Existing KMP app — run from its root (what works, what is refused):

# compatibility report + exact file plan; writes nothing
curl -fsSL https://github.com/ThisIsSadeghi/KMPilot/releases/download/v0.2.1/install.sh | bash -s -- --adopt --dry-run

# apply it
curl -fsSL https://github.com/ThisIsSadeghi/KMPilot/releases/download/v0.2.1/install.sh | bash -s -- --adopt

Update

Important

Only if your project was installed before v0.1.2 (check
kmpilotVersion in .kmpilot.json) — this release changes update.sh
itself, and an updater that old cannot apply fixes it predates, so replace
it first. On 0.1.2 and later this happens automatically: skip this step.

curl -fsSL https://github.com/ThisIsSadeghi/KMPilot/releases/latest/download/update.sh -o update.sh

Then:

./update.sh            # tooling only
./update.sh --core     # also merge core/ (conflicts surfaced, never silent)
./update.sh --dry-run  # preview; writes nothing

Never touches feature/, your app modules, or your specs, and never commits.

What's changed

Fixed

  • [Tooling] The updater bootstrap no longer blocks itself. update.sh is tracked, so
    the documented curl … -o update.sh step modified the working tree — and the very next
    command refused because the tree was not clean. The preflight now ignores a tree whose only
    change is update.sh; anything else still refuses. The release notes also lead with the
    precondition, since only projects installed before v0.1.2 need that step at all.

Changed

  • [Tooling] Adopting no longer fails your build over code that predates KMPilot.
    .kmpilot.json gained managedFeatures — the features /create-feature generated. A
    repo that already organises code under feature/ used to get its existing, working
    modules graded against all 14 rules on the first archTest, with nothing saying the
    violations were pre-existing. Those are now reported in full but never enforced (the
    --baseline treatment), while KMPilot-generated features stay strict. The summary names
    every unenforced feature, so a generated one missing from the list is visible rather than
    silently exempt.