feat: initial commit

This commit is contained in:
2026-08-29 13:17:59 +02:00
commit 142f5f5759
91 changed files with 6155 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# Obraz runnera dla pipeline'u agentowego.
# W środowisku regulowanym buduj go u siebie i publikuj do wewnętrznego rejestru -
# job modyfikujący kod nie powinien ciągnąć obrazu z internetu przy każdym uruchomieniu.
FROM python:3.12-slim
ARG APM_VERSION=latest
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1
RUN apt-get update && apt-get install -y --no-install-recommends \
git ca-certificates ripgrep curl \
&& rm -rf /var/lib/apt/lists/*
# APM CLI - dostawca kontekstu agentowego.
# W sieci wewnętrznej podmień na instalację z lustra pakietów (PIP_INDEX_URL).
RUN pip install --no-cache-dir "apm-cli${APM_VERSION:+}" || \
(echo "Instalacja apm-cli z PyPI nieudana - uzupełnij obraz o lustro wewnętrzne" && exit 1)
WORKDIR /opt/agentic-codemod
COPY pyproject.toml ./
COPY src ./src
RUN pip install --no-cache-dir .
# Runner nie pracuje na koncie root - zmiany w repozytorium mają być zwykłymi plikami.
RUN useradd --create-home --uid 1001 codemod
USER codemod
ENTRYPOINT ["agentic-codemod"]
CMD ["--help"]
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Wejście dla joba CI: zainstaluj kontekst, sprawdź go, uruchom przebieg.
# Skrypt jest celowo cienki - logika mieszka w CLI, żeby dało się ją odtworzyć lokalnie.
set -euo pipefail
: "${CODEMOD_PACKAGE:?ustaw CODEMOD_PACKAGE}"
: "${CODEMOD_TO_VERSION:?ustaw CODEMOD_TO_VERSION}"
RUN_DIR="${CODEMOD_RUN_DIR:-.runs/local}"
apm install
apm audit
agentic-codemod context --json > "${RUN_DIR}/apm-context.json" 2>/dev/null || true
exec agentic-codemod run \
--repo "${CI_PROJECT_DIR:-$PWD}" \
--in-place \
--package "${CODEMOD_PACKAGE}" \
--to-version "${CODEMOD_TO_VERSION}" \
--module "${CODEMOD_MODULE:-}" \
--constraints "${CODEMOD_CONSTRAINTS:-}" \
--run-dir "${RUN_DIR}" \
"$@"