Skip to content

ASE 2.0.4

Choose a tag to compare

@rse rse released this 21 Oct 18:45
· 24 commits to master since this release

2.0.4 (2026-10-21)

  • FEATURE [code,docs]: Specification Linting via ase-spec-lint
    The new skill ase-spec-lint lints the SpecBook-based specification like ase-code-lint lints
    the source code, through investigation sub-agents (ase:ase-spec-lint) and with the same options
    --auto, --severity, --include/--exclude, and --staged/--unstaged, but linting the
    entire specification by default. It checks the ten aspects S01 SYNTAX (the SpecBook and
    markdownlint diagnostics), S02 FORMAT, S03 RATIONALE, S04 AMBIGUITY, S05 ATOMICITY,
    S06 REALIZATION, and the model-wide S07 REDUNDANCY, S08 CONSISTENCY, S09 LOGIC (logical
    gaps of the specification model), and S10 COMPLETENESS (sufficiency for an implementation),
    where the best-guess corrections of the latter two are never applied under --auto. For this,
    ase spec lint and the MCP tool ase_specbook_lint can now additionally lint the generic Markdown
    formatting of the specification via markdownlint (option --markdown|-m resp. input markdown).

  • FEATURE [code,docs]: Interactive Manual Page Browser
    ase man without any page now opens an interactive, Ink-based manual page browser in the
    terminal, resembling the skill and command deep-dive of the website: a start page with a
    search field and the grouped catalog of all skills and CLI commands, and a browser page with
    the grouped master (filtered live by the search) and the rendered, syntax-highlighted
    manual page as the detail, whose references to other manual pages can be followed by
    keyboard and mouse. ase man <page> opens the browser, too, with the manual page fitting
    exactly onto <page> selected, else with <page> as the search. Without a terminal,
    ase man [<page>] prints the manual page (or ase(1)) as plain text. As man(1) is no
    longer used, the manual pages are no longer rendered into the roff format via remark-man
    (dropping directories.man of the package and the option --path of ase man), but are
    shipped as Markdown in dst/man/ only.

  • FEATURE [code,docs]: Specification Initialization via ase spec init
    The new command ase spec init resembles specbook init through the embedded SpecBook API,
    like the other ase spec commands: it creates the absent specification Markdown files of the
    schema configuration project.artifact.spec.schema below project.artifact.spec.basedir, each
    with its frontmatter and artifact headings. Unlike specbook init, it creates no
    .specbook.yaml, as ASE keeps these options in its own configuration.

  • IMPROVEMENT [code]: Branch Changeset Worktree Cleanup after Implementation
    ase-task-implement now removes the worktree .ase/worktree/<name> it newly created for a
    branch: changeset again after the commit, as the change set lives on the branch alone, so
    the branch can be checked out elsewhere. A pre-existing worktree of the branch and a worktree
    with uncommitted changes are always kept, and the new option --no-cleanup|-K keeps the
    worktree, like the same option of ase-task-integrate.

  • IMPROVEMENT [code]: No Co-Authored-By Trailers in Commit Messages
    ase-repo-merge and ase-task-implement now explicitly instruct the agent to never add the
    noisy Co-Authored-By trailers to the commit messages they craft, and ase-repo-commit carries
    the same rule for its proposed commit message.

  • IMPROVEMENT [code,infr]: Linting of the Plugin Agent Files
    The plugin lint targets (markdownlint and eslint) now also cover plugin/agents/*.md, with the
    same eslint relaxations as for the skills, and the + <n/> line wraps in the agents
    ase-code-lint, ase-docs-proofread, and ase-docs-refine, which Markdown parsed as list
    items, were re-wrapped. AGENTS.md reflects the extended lint scope.

  • BUGFIX [code]: Direct NPM Registry Version Check of ase setup update
    ase setup update now queries the NPM registry directly for the latest ASE version, instead
    of relying on the cached, at most hourly background check of update-notifier, which, up to
    ASE 1.0.7, was consumed by the session start hook and hence let ase setup update regularly
    report the current version as the latest one. Only if the registry query fails, it falls back
    to the cached check, and a newer version found is persisted for the session start hook.

  • BUGFIX [docs]: Website Menu Item Overlap in Narrow Renderings
    The website header (Section-Header.astro) and its navigation entries (Widget-Nav-Entry.astro)
    no longer let menu items overlap each other in narrow viewport widths.

  • BUGFIX [code,docs]: Full SpecBook Standard Schema for ase spec
    The schema configuration entry std of project.artifact.spec.schema now names the full
    standard schema bundled with SpecBook, instead of the plugin meta file ase-format-specbook.yaml,
    which is compressed for the agents and hence lacks the refs, diagram, and format fields.
    This lets ase spec export/preview again render the graph, grid, and hub diagrams, and lets
    ase spec lint and the MCP tool ase_specbook_lint again check the references and value formats.

  • UPDATE [infr]: NPM dependencies
    Updated NPM dependencies.