Skip to content

Releases: webpresso/agent-kit

@webpresso/agent-kit@0.9.0

09 May 12:43
bb6e558

Choose a tag to compare

Minor Changes

  • 562c419: Adds @webpresso/agent-kit/quality-engine subpath. The barrel re-exports every named symbol previously published from @webpresso/quality-engine (target-resolver, command-builder, log-paths, workspace-config, test-classification, package-import-rules). Folds the standalone @webpresso/quality-engine package per Decision 4 of the public-extraction roadmap. Hard cut — the standalone package is being deprecated and archived in coordination with this release. See webpresso/blueprints/in-progress/fold-webpresso-quality-engine-into-webpresso-agent-kit-decision-4/_overview.md.

@webpresso/agent-kit@0.8.6

09 May 10:05
7272b3f

Choose a tag to compare

Patch Changes

  • 0b29818: fix: doctor.test hardcoded local path and node_modules bin resolution

@webpresso/agent-kit@0.8.5

09 May 09:07
b02ccc3

Choose a tag to compare

Patch Changes

  • da9ffeb: fix(mcp/run-command): prepend {cwd}/node_modules/.bin to PATH before spawning

    runCommand now mirrors npm/pnpm script execution: when a cwd is provided, it
    injects {cwd}/node_modules/.bin at the front of the child process PATH. This
    ensures project-local binaries (oxlint, tsc, etc.) resolve without a global
    install, matching the behaviour of npm run / pnpm run.

    Previously the MCP server inherited Claude Code's PATH, which does not include
    node_modules/.bin. Any tool missing from the global PATH (e.g. oxlint installed
    only locally) would ENOENT and fall through to the pnpm fallback, which in turn
    fails on repos using just rather than a root-level pnpm lint script.

@webpresso/agent-kit@0.8.4

09 May 08:57
bc22244

Choose a tag to compare

Patch Changes

  • b504a77: Fix OpenCode agent-kit MCP wiring to launch the MCP entry directly, and make host verification fail when OpenCode lists an MCP server but cannot connect to it.
  • 0f8620b: Keep the Claude marketplace manifest version in sync during Changesets versioning so published release metadata does not drift from package.json.

@webpresso/agent-kit@0.8.3

09 May 08:41
109c56b

Choose a tag to compare

Patch Changes

  • 35f243d: Teach ak hooks doctor to verify installed Codex/OpenCode/Claude host surfaces, add a gated real-host smoke suite for Codex/OpenCode, and include agent-kit alongside context-mode in generated opencode.json MCP config.

@webpresso/agent-kit@0.8.2

09 May 08:08
56929f2

Choose a tag to compare

Patch Changes

  • dfae682: Add a context-mode setup preset that patches Codex's config.toml and hooks.json plus project-local opencode.json, so ak setup --with context-mode wires context-mode for both Codex CLI and OpenCode.

@webpresso/agent-kit@0.8.1

09 May 07:33
7f5be70

Choose a tag to compare

Patch Changes

  • d230932: Keep consumer Claude scaffolds stable across reinstalls by linking rule/subagent files through node_modules/@webpresso/agent-kit aliases instead of resolved pnpm store paths, and materialize allowlisted .claude/rules/* overrides as real consumer-owned files instead of symlinks.

@webpresso/agent-kit@0.8.0

08 May 21:44
6abf602

Choose a tag to compare

Minor Changes

  • ba66596: Eliminate the dangling-symlink class in .agents/skills/ and harden ak setup
    against partial / non-local installs.

    Fix: ak setup no longer emits broken symlinks under
    .agents/skills/<slug>/<file> when the skill's source path is missing.
    The legacy syncPerSkillConsumer writer had an asymmetric fallback (listing
    fell back to .agent/skills/, but symlink targets pointed at the missing
    node_modules/.../skills/), so it would print while leaving every
    symlink dangling. The replacement syncSkillFanout resolves source from
    .agent/skills/<slug>/ only, walks recursively to support nested asset
    files (e.g. tanstack-query/references/, systematic-debugging/CREATION-LOG.md),
    and reuses isSymlinkPointingTo for idempotency.

    Fix: ak setup and ak sync now exit 1 with an actionable message
    when @webpresso/agent-kit is missing from the consumer's node_modules/
    (e.g. after a failed pnpm install or a yanked dependency).

    ak init: @webpresso/agent-kit not installed in node_modules.
    Run `pnpm install` first.
    

    Previously, loadContent's technical "catalogDir does not exist" error
    surfaced through to the user without rewrite.

    Breaking: .agents/skills/ is now exclusively managed by agent-kit.
    Top-level directories that don't correspond to a skill in .agent/skills/
    are removed recursively on next ak setup. Each removal logs to stderr
    (Removed unexpected directory: .agents/skills/<slug>) so the action is
    never silent. The legacy writer was conservative — it only removed empty
    stale directories — but the contract was always "agent-kit owns this
    path" (see the # managed by @webpresso/agent-kit (skill-sync) block in
    your .gitignore). If you have hand-curated content under
    .agents/skills/<slug>/, move it to a slug name not in .agent/skills/
    or relocate it outside the directory.

    Breaking: ak setup now expects @webpresso/agent-kit to be
    installed in the consumer's node_modules/. Running via a global
    install (e.g. a manual symlink in /opt/homebrew/bin/ak or
    pnpm install -g @webpresso/agent-kit) is no longer supported in
    silence: setup prints a stderr warning when the running CLI does not
    live under <repoRoot>/node_modules/. The warning is non-blocking, but
    the global-install path produced non-reproducible setups (symlinks
    resolving to whatever version was globally installed; lockfile irrelevant)
    and is being deprecated. Pin @webpresso/agent-kit as a local dep and
    run via pnpm exec ak setup.

    Internal: Dropped sourceRootDir and sourcePrefix from
    PerSkillConsumerConfig. The legacy syncPerSkillConsumer /
    syncPerSkillConsumers exports are renamed to syncSkillFanout /
    syncSkillFanouts and now return { wrote: number } instead of a bare
    number. isSymlinkPointingTo is now exported from
    @webpresso/agent-kit/symlinker/unified-sync for reuse across writers.

Patch Changes

  • 6fbe0dd: Migrate deprecated Codex [features].codex_hooks config entries to [features].hooks after ak setup runs the OMX preset, so older oh-my-codex releases do not keep triggering Codex deprecation warnings.

@webpresso/agent-kit@0.7.3

07 May 14:45
f26ed63

Choose a tag to compare

Patch Changes

  • f043257: Stop ak setup --overwrite from clobbering consumer-owned .gitignore
    and pnpm-workspace.yaml.

    Both files are now treated as bootstrap-only by the base-kit
    scaffolder: written from the catalog template only when absent, never
    overwritten once they exist (not even under --overwrite).

    These are consumer-owned config that grow with project-specific content
    the generic template can't reproduce — catalog entries referenced by
    pnpm.overrides, monorepo-specific ignore patterns for generated
    artifacts, etc. Re-templating them on every postinstall silently
    deletes that content.

    Verified failure mode (webpresso/monorepo, 2026-05-07):
    ak setup --overwrite running as 0.7.x postinstall reduced
    pnpm-workspace.yaml from 221 lines (full catalog) to 34 lines
    (generic template), removing every catalog entry referenced by
    pnpm.overrides and making the next pnpm install fail with
    ERR_PNPM_CATALOG_IN_OVERRIDES. The same overwrite stripped
    monorepo-specific .gitignore rules and unmasked 23k+ generated
    artifacts to git status.

    The other base-kit templates (.husky/*, .editorconfig,
    .secretlintrc.json, commitlint.config.ts,
    .github/workflows/ci.webpresso.yml) keep their existing
    writeFileMerged behavior — they're agent-kit-versioned configs where
    overwrite-on-update is the right semantic.

@webpresso/agent-kit@0.7.2

07 May 14:31
99c9940

Choose a tag to compare

Patch Changes

  • 4e33177: Register ak as a published bin so consumers can run ak setup,
    ak audit, etc. directly from node_modules/.bin/ak (and
    pnpm exec ak ...) without the bun ./node_modules/@webpresso/agent-kit/src/cli/cli.ts
    workaround.

    The package shipped 6 hook bins (ak-pretool-guard, ak-post-tool,
    etc.) but never registered the main ak CLI entrypoint. Consumers
    hit this when ak audit agents demands scripts.setup:agent === "ak setup"
    literally, but ak itself wasn't on PATH — forcing every consumer to
    either fail the audit or carry a duplicate bun-driven setup:agent-kit
    script alongside the canonical setup:agent.

    src/cli/cli.ts already has the #!/usr/bin/env bun shebang, so the
    fix is one entry: "ak": "./src/cli/cli.ts" in the bin map.