AI agents now install, execute, and test your code — not just suggest it. How to use open-source Goose to actually speed up delivery
I’m Denis Shokhirev, Agentic AI Systems Architect, running DennisCraft AI Studio from Freiburg im Breisgau. My stack is Claude, Supabase, n8n, Doppler, and self-hosted Postgres. The real pain in production isn’t whether an LLM can suggest a Python function — it’s whether an agent can set up, install, run, and test the project end-to-end, hands-off, without someone SSH-ing in to unblock a broken build. “AI agent as code suggester” is dead — real delivery bottlenecks are deeper By late 2023 mos
I’m Denis Shokhirev, Agentic AI Systems Architect, running DennisCraft AI Studio from Freiburg im Breisgau. My stack is Claude, Supabase, n8n, Doppler, and self-hosted Postgres. The real pain in production isn’t whether an LLM can suggest a Python function — it’s whether an agent can set up, install, run, and test the project end-to-end, hands-off, without someone SSH-ing in to unblock a broken build.
“AI agent as code suggester” is dead — real delivery bottlenecks are deeper
By late 2023 most teams I worked with had LLMs or Copilot suggesting code, sometimes generating unit tests, rarely wiring up CI/CD. The gaps show up in live delivery: on three recent B2B deployments, agents would submit “working” code — but pip installs would break, database migrations would fail, or the test suite wouldn’t run. The agent would report “success” but the actual change never moved past integration because it couldn’t handle real install/test/verify cycles.
Goose: open-source agent that builds, runs, and tests — not just writes
Goose (github.com/automorph-ai/goose) is a Python-based open-source agent that not only generates code, but also installs dependencies, runs the project, executes tests, and returns the full output. The key is its self-hosted sandbox model: Goose runs subprocesses, captures stdout/stderr, parses stacktraces, and operates entirely inside your infrastructure. I’ve connected Goose to Claude and n8n — so I can trigger the entire pipeline via API, no manual steps.
Example: running Goose from an n8n workflow
import subprocess
def run_goose(repo_path):
result = subprocess.run(
["goose", "run", "--repo", repo_path, "--test"],
capture_output=True, text=True, timeout=300
)
return result.stdout, result.stderr
stdout, stderr = run_goose("/mnt/project")
print(stdout)
if "FAIL" in stdout or stderr:
# Trigger n8n webhook for alert
pass
Why Goose makes a concrete difference in shipping code
1. Environment setup is handled by the agent, not by a brittle CI script. 2. Goose returns the full build/test log, not just a “success/failure” bit. 3. Security checks — you can run bandit or semgrep right inside the agent workflow. 4. Database migrations (Postgres) — Goose can call alembic upgrades directly and validate success.
Comparison: Traditional CI vs Goose Agent
| Step | Manual CI | Goose Agent |
|---|---|---|
| Env setup | Script/manual checklist | Automated via Goose subprocess |
| Dependency install | pip install by hand | goose run triggers pip |
| Run tests | pytest in CI, report in dashboard | goose run --test, log returned to n8n/agent |
| Security check | Manual bandit/semgrep run | Agent calls bandit, parses report |
| Debug errors | Read logs, SSH into container | Agent parses stacktrace, surfaces in workflow/chat |
Security: where agents fail, and how to catch it
A 2024 Stanford CodeML paper found that 38% of LLM-generated Python contained CWE-89 (SQL injection) patterns. (source) In my own deployments, I’ve caught SQL injection and unsafe eval calls in agent-generated code. Goose lets you add a step: after code runs, the agent executes bandit (for Python) or semgrep (multi-language), parses the output, and reports issues to n8n or Slack. This stopped real vulnerabilities from ever reaching prod, twice in my last five launches.
# Run bandit from inside the Goose workflow
bandit -r /mnt/project -f json -o /mnt/results/bandit.json
cat /mnt/results/bandit.json
This pattern — agent triggers static analysis, parses output, and surfaces issues immediately — is far more stable and production-grade than relying on “AI code sentinels” or unproven wrappers.
Integrating Goose with Supabase, Postgres, and n8n automation
My typical DACH client flow: spin up a Postgres database, run migrations (alembic), auto-generate a REST API (often with Supabase), hit endpoints, collect test results, and log outcomes to Jira or Notion. Goose acts as an orchestration engine — calling alembic, pytest, curl for endpoints, then parsing and routing the results into n8n workflows or back to the agent for review.
def run_migrations():
result = subprocess.run(
["alembic", "upgrade", "head"],
cwd="/mnt/project",
capture_output=True, text=True
)
return result.stdout, result.stderr
def test_api():
import requests
resp = requests.get("http://localhost:54321/rest/v1/users")
return resp.status_code, resp.json()
# Goose agent calls these in sequence
This means the pipeline can run fully automated: agent signals any fail with stacktrace, pushes success to Supabase or Jira, and never needs a human to SSH in and clean up broken builds.
FAQ
Is Goose a cloud SaaS?
No, Goose is open-source and runs on your own VMs or servers. Code and data stay inside your infra — critical for regulated B2B/enterprise.
How is Goose different from Copilot or Claude Code?
Copilot/Claude Code are code assistants — they generate snippets. Goose is an agent: it installs, runs, tests, parses logs, and reports results, not just writes code.
Can Goose integrate with n8n and Supabase?
Yes. I connect Goose with n8n via Python scripts and webhooks, and Supabase via API. Results are routed as JSON and can trigger further flows.
How do you keep agent-generated code safe?
I always add bandit/semgrep checks. The agent runs static analysis, parses output, and can alert before any code hits prod. It’s caught real issues for me.
Is Goose GDPR-compliant for DACH customers?
Yes: Goose runs locally, with no data sent to external clouds. This matches the strict requirements for DACH B2B and regulated markets.
Which stage of your agent pipeline breaks most often in real prod — environment setup, migrations, tests, or security? I’d genuinely like to know.
I run a free 30-min stack audit for DACH founders building AI for regulated markets. DM me on LinkedIn or write to @ger_dennis_ai.
Turn your process into an AI system
Fixed price. Production quality. DACH B2B focus.