Skip to content

v0.2.0

Choose a tag to compare

@Ezveus Ezveus released this 23 Mar 09:38
· 150 commits to master since this release

Added

  • Shallow clone by default (--depth 1) for faster cloning of large repos.
  • Per-project clone_depth config option (0 for full clone, default: 1).
  • Per-project sparse_checkout config option for monorepo support.
  • Better branch slug generation using i18n transliteration (incohérentincoherent instead of incohrent).
  • --dry-run flag to poll and display which issues would be processed without side effects.
  • Capture and store danger-claude stdout/stderr (dc_stdout, dc_stderr columns) from all calls (-p and -c) in the database for debugging and audit.
  • Configurable danger-claude timeout (dc_timeout, default: 1800s/30min). Global or per-project. Uses Process.spawn with TERM/KILL for reliable subprocess cleanup.
  • Structured logging with levels (DEBUG/INFO/WARN/ERROR), timestamps, dual output (stdout + file), daily log rotation. Global logs in ~/.autodev/logs/autodev/, per-project logs in ~/.autodev/logs/{project}/. Configurable via log_dir and log_level in config.
  • Retry with exponential backoff and max retries per issue (max_retries default: 3, retry_backoff default: 30s). Global or per-project. Issues that exceed max retries are skipped. Backoff doubles each attempt (30s → 60s → 120s).
  • Partial progress recovery: on retry, if the branch was already pushed, skip directly to MR creation instead of re-implementing from scratch.
  • Issue notifications: post comments on GitLab issues when processing starts, succeeds (with MR link), or fails (with error summary).
  • Specification check: before implementation, analyse the spec for ambiguities via a dedicated danger-claude call. If unclear, post a comment listing questions and mark as needs_clarification. On each poll, check for new human comments to automatically resume.

Fixed

  • Label guard: labels are now updated after MR creation succeeds, preventing issues from being left in a bad state if MR creation fails.