diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6a53f7d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +# Blast Radius Agent — multi-stage Docker image +FROM python:3.12-slim AS base +WORKDIR /app + +# Install orbit CLI (if available) +# RUN curl -sSL https://gitlab.com/gitlab-org/orbit/-/releases/permalink/latest/downloads/orbit-linux-amd64 -o /usr/local/bin/orbit && chmod +x /usr/local/bin/orbit + +COPY pyproject.toml . +RUN pip install --no-cache-dir . + +COPY blast_radius/ ./blast_radius/ +COPY skills/ ./skills/ + +ENTRYPOINT ["python", "-m", "blast_radius"] +CMD ["--help"] diff --git a/README.md b/README.md index 055401b..6fc2608 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,26 @@ blast-radius-agent/ └── thumbnail.png # Architecture diagram thumbnail ``` + + +## Future: GitHub + Local Support + +Blast Radius currently requires GitLab Orbit for code graph data. Tree-sitter support +is planned (see [#45](https://github.com/tcconnally/blast-radius-agent/issues/45)) +to enable analysis on any codebase without GitLab: + +- Walk local file tree with tree-sitter +- Extract symbol definitions and references +- Build in-memory graph matching the Orbit contract +- Works on GitHub, Bitbucket, and local-only repos + +### Docker + +```bash +docker build -t blast-radius . +docker run blast-radius src/myfile.py --function main +``` + ## License MIT — see [LICENSE](LICENSE)