Skip to content

Releases: killme2008/devtap

v0.1.8

11 Feb 12:00
1c87ac3

Choose a tag to compare

Lazy Reconnect for GreptimeDB

Previously, if GreptimeDB was unavailable at startup, devtap permanently fell back to file store until restarted.

Now devtap wraps the unavailable store in a lazy reconnect layer that retries on each drain/status call (30s cooldown). The MCP server starts immediately with file store and reconnects to GreptimeDB transparently once it recovers.

  • Startup failure enters multi-source mode: file store + lazy GreptimeDB wrapper
  • Cooldown errors include the original connection error for diagnostics
  • Normal startup (GreptimeDB available) is unchanged

v0.1.7

08 Feb 15:52

Choose a tag to compare

Bug Fixes

  • Fix session ID instability with multiple Claude Code sessions: when multiple Claude Code sessions existed for the same project, --session auto used mtime-based discovery which picked a different session depending on timing, causing get_build_errors to permanently return empty. Now uses deterministic session.EncodeDir(projectDir) — consistent with all other adapters (Codex, OpenCode, Gemini, aider).

Improvements

  • MCP server startup logging: prints devtap: mcp-serve sources=N session=<id> to stderr on startup for easier debugging of session resolution issues.

Note

Existing GreptimeDB data written under old Claude Code session UUIDs won't be found with the new deterministic session ID. Use --session <old-uuid> to access historical data, or wait for TTL expiry (7d).

v0.1.6

07 Feb 17:16
e378803

Choose a tag to compare

What's New

  • Successful build collapsing: runs with exit code 0 are replaced by a one-line summary (e.g. (42 lines of output omitted — run succeeded)). Failed runs are preserved in full. Multiple runs of the same tag are evaluated independently.
  • Tail-biased truncation: 80% tail / 20% head (was 50/50), keeping more error content which typically appears at the end.
  • Relaxed verbatim instructions: AI agents now only repeat output verbatim on failure; successful builds get a brief acknowledgment, avoiding token duplication.

v0.1.5

07 Feb 13:46
ff96f6e

Choose a tag to compare

What's New

Skill (CLI fallback for non-MCP agents)

devtap now ships a built-in skill at skills/devtap-get-build-errors/. When the MCP server is unavailable, AI agents can invoke the bundled get_build_errors.sh script to fetch pending build output via CLI. The script checks the pending count first and only drains when messages are available.

Install by copying into your tool's skills directory:

mkdir -p ~/.claude/skills && cp -r skills/devtap-get-build-errors ~/.claude/skills/

Quiet mode for status and drain

Both commands now support --quiet / -q:

  • devtap status -q: outputs only the total pending message count as a single number (e.g. 3), useful for scripting and the skill fallback
  • devtap drain -q: outputs raw build lines without [devtap: tag] headers or source banners, for agents that prefer undecorated output

Other

  • FormatMessagesRaw() added to the mcp package for raw line formatting without tag headers
  • SKILL.md documents MCP tool → CLI subcommand mapping (get_build_statusdevtap status, get_build_errorsdevtap drain)
  • README: added skill installation instructions and --quiet flag documentation

v0.1.4

07 Feb 12:48

Choose a tag to compare

What's New

Multi-source drain

Cross-machine mode now automatically drains from both the configured remote source and the local source in a single call, deduplicating overlapping messages. Your AI coding tool sees all build output — local and remote — without extra configuration.

Messages are tagged with host/label | tag so you can tell where output came from. Both the MCP server and drain command support this.

Resilient source handling

  • Partial failure: unreachable source is skipped with a stderr warning; reachable sources still drain normally
  • Total failure: returns an error instead of silently returning empty output (Stop+auto-loop mode still allows stop)
  • Strict store open for readers: configured remote store no longer silently falls back to local file store, which would drain wrong data — degrades to local-only with a warning instead
  • --max-lines 0 fix: no longer skips all sources; defaults to 10000

Other

  • README: added "How it works" diagram for cross-machine mode
  • Instruction injection updated to document multi-source output format

v0.1.3

07 Feb 09:55

Choose a tag to compare

What's New

Cross-machine build support

devtap can now bridge build output across machines. Run builds on CI or remote dev boxes and consume errors from your local AI coding session — just point both sides at the same GreptimeDB instance and session name.

# Your laptop — install once, bakes --session and --store into MCP config
devtap install --adapter claude-code --session myproject --store greptimedb

# CI server — capture build output
devtap --store greptimedb --session myproject -- make

Multiple build machines can write to the same session simultaneously.

Changes

  • devtap install now forwards --session and --store to MCP config — the flags are written into .mcp.json / config.toml / opencode.json / .gemini/settings.json so the MCP server automatically uses the right store and session. For Claude Code auto-loop, the Stop hook drain command also receives these flags. (#feat)
  • --session accepts explicit names — in addition to "auto" and "pick", you can pass any string as a session name, enabling cross-machine use where path-based auto-detection doesn't apply.
  • Improved GC for empty directoriesallFilesOlderThan now checks directory mtime for empty dirs, preventing premature cleanup of freshly created adapter directories. (#feat)
  • README improvements — added cross-machine builds section, updated CLI reference, added remote CI as a problem statement.

v0.1.2

06 Feb 14:42

Choose a tag to compare

Changelog

v0.1.1

06 Feb 14:33

Choose a tag to compare

The true first edition of Devtap 💯

Changelog