Skip to content

Releases: mairistem/codev

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 14:04
a216cf9

Fixed

  • codev validate no longer fails when _codev/specs/ holds a Markdown file other than spec.md, and codev list --specs no longer shows such a file as a capability.
  • A change created with a project schema whose name: differs from its folder can now be used; codev schemas warns about the mismatch with schema_name_mismatch.
  • archive is refused as a change name, by codev new change and by --change, instead of being treated as a change.
  • A failed codev instructions --json now carries language, like a successful one.
  • Paths in JSON output use / separators on Windows too, as documented.

What's Changed

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 11:56
3af6360

Added

  • codev self-update downloads the latest release for your platform, verifies its SHA-256, replaces the binary and refreshes the current project; --check only reports, --snooze silences the notice for 7 days, and a cargo or package-manager installation is left alone with the right command printed instead.
  • codev status tells you when a newer codev is available — at most one anonymous request to GitHub per day, never in CI or with CODEV_NO_UPDATE_CHECK=1 — and codev status --json exposes it in an update object; the skills offer to update at the start of an action.
  • codev_version in _codev/config.yaml sets the codev versions a team accepts; codev doctor reports a codev_version check when the running codev does not satisfy it, or when a newer release is known.

Changed

  • A key of _codev/config.yaml that your codev does not know — typically one added by a newer codev — is now a warning unknown_config_key instead of an error, naming the key and the project's codev_version, and pointing to codev self-update; codev validate --strict and the new config.keys check of codev doctor report it. codev 0.5 and earlier still reject such keys.

Fixed

  • When the running codev is newer than the project's codev_version allows, codev doctor now suggests codev self-update --version <X.Y.Z> with a version that satisfies it, instead of a codev self-update that refuses to downgrade.

What's Changed

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

codev 0.5.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 09:22
c8ab48e

Changed

  • BREAKING: codev decision supersede, codev decision deviate and
    codev decision promote now create a proposed decision, unsealed, like
    codev decision new: write or rework it, then run codev decision accept <ID> to make it take effect. Scripts that relied on these commands taking
    effect at once must add that step.
  • codev decision supersede no longer modifies the old decision: it stays
    accepted, and in effect, until the new one is accepted. It now refuses a
    decision that is not accepted (predecessor_not_accepted).
  • A deviation created by codev decision deviate only sets the inherited
    decision aside once it is accepted.
  • codev decision deviate --json and codev decision promote --json no
    longer return bodySha256, since nothing is sealed.

Added

  • codev decision accept marks the decisions listed in supersedes as
    superseded in the same step, leaving their body and seal untouched, and
    lists them in a new superseded field of its JSON output. It refuses a
    predecessor that is no longer accepted — for example, one another decision
    superseded in the meantime — with predecessor_not_accepted.
  • Each artifact instruction of the spec-driven schema opens with an explicit
    role and its "Done when" criteria: product owner (proposal), QA analyst
    (specs), architect (design), tech lead (tasks).
  • /codev-propose checks traceability between capabilities, spec files,
    scenarios and task verifications before presenting the plan, and fixes the
    gaps in the artifacts.
  • /codev-propose then challenges the plan as a skeptical reviewer — need,
    scope, specs, decisions, assumptions, tasks, plus security, compatibility,
    operability, performance or accessibility lenses when the proposal's Impact
    touches them, and the project's rules: — and ends its summary with at most
    five "Points to challenge", or says none was found.
  • codev init --inherit <SOURCE> (repeatable) declares inherited sources in
    the generated config.yaml — a git URL with an optional @<ref> (main by
    default) or a local folder — and pins the git ones in _codev/codev.lock
    right away. A pinning failure only warns (inherit_pin_failed); an invalid
    value is refused before anything is written (invalid_inherit).
  • codev init integrates codev into the repository: a codev section in
    CLAUDE.md telling Claude Code to plan behavior changes with
    /codev-propose, and on GitHub a .github/workflows/codev.yml running
    codev validate --strict with codev pinned to the running version, and a
    codev section in the pull request template. On GitLab it prints a job to
    paste. Opt out with --no-claude-md, --no-ci, --no-pr-template or
    --no-integration. codev's text sits between <!-- codev:begin --> and
    <!-- codev:end --> markers and never replaces yours.
  • codev update refreshes those managed sections and the managed workflow,
    and never adds one a project does not have.
  • codev init --json and codev update --json gain an integration array.
  • codev doctor [--json] [--strict] lists what the codev setup still lacks —
    rules, language, skills, specs, decisions, source pins, CLAUDE.md, CI,
    pull request template, validation — with the command or skill that fixes
    each item. codev init and codev status point to it when something is
    missing, and /codev-onboard relays its findings.
  • The tech lead's "Done when" criteria of the spec-driven schema require the
    affected documentation to be updated in a task (or the plan to say none is),
    every spec scenario to be covered by an automated test, and tests to follow
    the project's existing suite, its language's conventions and its rules.
    The proposal's Impact names the documentation to update.
  • /codev-propose's traceability check also requires an automated test per
    scenario and a documentation task when Impact touches documented behavior.
  • /codev-apply writes tests like the project's existing suite, takes the
    test command from the configuration, manifest or CI instead of guessing it,
    and runs the full test suite once before reporting the change as done.
  • /codev-configure proposes testing rules grounded in the project's existing
    tests, falling back on mainstream Rust, TypeScript/JavaScript, Python, Go
    and Java conventions when there are none yet.
  • codev changelog generates release notes from the archived changes — Keep a
    Changelog, plain markdown or JSON — between two git refs, by default since
    the latest v* tag, and --write keeps a managed [Unreleased] section of
    CHANGELOG.md up to date; --release <version> turns it into a dated
    version block.
  • Proposals carry a ## Release note section, categorized for end users;
    codev validate warns when an active change has none
    (release_note_missing) and rejects an unknown category or an empty item
    (release_note_invalid).
  • codev doctor checks that CHANGELOG.md matches what codev changelog
    generates (changelog, a warning only).
  • changelog.exclude in _codev/config.yaml leaves out archived changes
    already described by hand in CHANGELOG.md.

Install: curl -sSL https://raw.githubusercontent.com/mairistem/codev/main/install.sh | sh (macOS, Linux) · iwr -useb https://raw.githubusercontent.com/mairistem/codev/main/install.ps1 | iex (Windows)

Documentation: https://mairistem.github.io/codev/ · Full changelog: v0.4.0...v0.5.0

codev 0.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 13:32
4dbf980

Changed

  • BREAKING: codev now speaks English throughout — CLI output and help,
    skills, and artifact templates. Template headings are now English
    (# Proposal:, ## Why, ## What Changes, ## Capabilities, ## Impact,
    ## Context, ## Decisions, # Tasks…). Scripts or tooling that relied on
    French output or headings must be updated; run codev update to regenerate
    the skills.
  • BREAKING: codev init --preset takes full, minimal or custom.
  • The minimal preset now installs propose, explore, onboard and
    configure, and the full preset includes configure (eight workflows).
  • Decisions of the project itself are identified as project/NNNN in
    qualified ids and in the JSON output.
  • The installers print their messages in English. On Windows, install.ps1
    now suggests a PATH command that updates only the user PATH, instead of
    setx, which can truncate it.
  • codev decision new now creates a proposed decision, unsealed, so its
    body can be written before it is sealed; accept it with
    codev decision accept. Pass --status accepted to create and seal it at
    once, as before.

Added

  • codev decision accept <ID> sets a local proposed decision to accepted
    and seals its body in the same step. It refuses inherited decisions
    (cannot_accept_inherited) and decisions that are not proposed
    (decision_not_proposed).

  • Artifact language: a language: key in _codev/config.yaml (an ISO 639
    code such as en, fr or pt-BR) sets the language skills write proposals,
    specs, designs and tasks in. Structural keywords stay in English.

  • codev init --language <CODE> sets it; otherwise it is detected from the
    locale, falling back to en. codev instructions --json exposes it in a
    language field.

  • Documentation in English and French, published as a website and embedded in
    the binary. codev docs --lang en|fr selects the language.

  • The documentation website follows the Mairistem design system, with a
    landing page, light and dark themes, and a language switch between the
    English and French editions; codev docs renders in the same style.

  • Continuous integration: formatting, lints, tests on Linux, macOS and
    Windows, a minimum Rust version check, validation of codev's own specs, and
    a dependency audit.

  • Issue forms for bug reports and feature requests.

Dependencies

  • Updated dialoguer to 0.12, toml to 1.1, pulldown-cmark to 0.13 and
    sha2 to 0.11, plus minor updates. Existing seals and codev.lock files
    are read and written exactly as before.

Fixed

  • codev sync validates the change first and refuses on errors, like
    codev archive; both now report the stable JSON code validation_failed.
  • A RENAMED delta written with the template's ### Requirement: <name> form
    is applied instead of being silently ignored, and renaming a requirement
    that does not exist is reported as rename_source_missing.
  • Renaming and modifying the same requirement in one delta now works.
  • A MODIFIED merge keeps the blank line before the next requirement.
  • Validation reports unexpected headings inside delta sections
    (delta_unexpected_heading) and empty delta sections
    (delta_section_empty).
  • The subpath of a git inherited source now also applies to its decisions.
  • codev init counts the generated config.yaml among the files it created.
  • codev docs --print no longer prints an error when its output is piped to a
    command that exits early, such as head.
  • Decisions saved with Windows (CRLF) line endings are parsed, and changing
    their status keeps their sealed body intact.

Install: curl -sSL https://raw.githubusercontent.com/mairistem/codev/main/install.sh | sh (macOS, Linux) · iwr -useb https://raw.githubusercontent.com/mairistem/codev/main/install.ps1 | iex (Windows)

Documentation: https://mairistem.github.io/codev/ · Full changelog: v0.3.2...v0.4.0

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 28 Sep 11:51

Full Changelog: v0.3.1...v0.3.2

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 28 Sep 10:06

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

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 09:43

Full Changelog: v0.2.2...v0.3.0

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 13:12

Full Changelog: v0.2.1...v0.2.2

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:51

Full Changelog: v0.2.0...v0.2.1

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 13:44

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