• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

astronomer / astro-cli / 6e9dd8d1-3b8b-47cc-a01f-b67fb42c13d6 / 1
40%
main: 45%

Build:
Build:
LAST BUILD BRANCH: forward-process-env-to-compose
DEFAULT BRANCH: main
Ran 24 Apr 2026 03:31PM UTC
Files 203
Run time 6s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Apr 2026 03:25PM UTC coverage: 39.548% (+0.03%) from 39.515%
6e9dd8d1-3b8b-47cc-a01f-b67fb42c13d6.1

Pull #2100

circleci

jlaneve
Add `astro agent` command with Otto binary management

Adds a new top-level CLI command that downloads and launches Otto,
Astronomer's AI coding agent for Airflow. Introduces a shared
`pkg/agent/` package so other tools can reuse the same binary lifecycle.

Commands:

    astro agent                        # interactive TUI
    astro agent "fix my DAG"           # one-shot with a prompt
    astro agent -c                     # continue last session
    astro agent update                 # force-update Otto
    astro agent version                # show installed version

Otto auto-updates on launch by default (cached-latest > installed →
sync download + swap). Opt out with `astro config set -g
agent.auto_update false`.

Surrounding code fixes required to make the agent reliable:

- `config/config.go`: `saveConfig` wraps viper writes in a `gofrs/flock`
  so concurrent astro processes can't corrupt `~/.astro/config.yaml`.
  `gofrs/flock` was already a transitive dep.
- `config/context.go`: `SetContextKey` / `SetExpiresIn` work around
  viper#1106 — `viper.Set` on a nested path leaves the override layer
  holding a partial tree, so later `UnmarshalKey` silently zeros every
  untouched sibling.
- `airflow/proxy/`: `DetectAirflow` prefers the proxy hostname URL
  over the direct container port, which rotates on every
  `astro dev restart`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pull Request #2100: Add `astro agent` command with Otto binary management

25340 of 64074 relevant lines covered (39.55%)

9.56 hits per line

Source Files on job 6e9dd8d1-3b8b-47cc-a01f-b67fb42c13d6.1
  • Tree
  • List 203
  • Changed 5
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 6
  • 5c13aea5 on github
  • Prev Job for on julian/astro-agent (#890248b6-fd81-4876-b519-0d2a5f343461.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc