Quickstart: ABAP
What spexso is for ABAP developers today: a spec, planning, and review assistant. The automated TDD build loop (failing test → minimum code, in an isolated worktree) is built for CAP/UI5 projects with a local test runner — ABAP Unit runs inside your SAP system, so that loop does not apply. This page tells you exactly what you get, and what you don't.
Before you start
- Claude Code installed
- A GitLab project (for issues and the board — the ABAP source itself may live only in your SAP system, or in a GitLab repo synced via abapGit) with
glab auth logindone - Node.js ≥ 18 for the spexso CLI
What you get
- An ABAP rulebook —
spexso initseeds.spexso/rules/abap.md: clean-core discipline, released-API usage, naming, and the project-specific rules your team adds over time. The reviewer reads it on every ABAP diff it checks. - Live ABAP knowledge —
/spexso-setuprecommends installing an ABAP docs MCP server, so plans and reviews are grounded in current released-API documentation instead of the model's memory. - Written specs with testable criteria —
/spexso-brainstormand/spexso-reportturn ideas and bugs into GitLab issues with EARS-style acceptance criteria your whole team (and every agent) works from. - Task decomposition —
/spexso-planbreaks a spec into ordered, reviewable tasks; clean-core discipline is enforced at review time — the reviewer checks every ABAP diff againstabap.md. - Diff review — where your ABAP code lives in a GitLab repo (abapGit),
/spexso-reviewreviews the diff against the spec andabap.md, with calibrated severities. Its CRITICAL/HIGH auto-fix and test rerun assume a local test runner — for ABAP, treat the review as comment-oriented: read the findings, apply the fixes yourself in ADT.
Setup
@flexso/spexso comes from Flexso's private GitLab npm registry, so configure the @flexso scope first — once per machine (or per project):
- Create a GitLab Personal Access Token with the
read_apiscope and copy the value. - Expose it as an environment variable (in your shell profile, so it survives a new terminal):powershell
$env:NPM_REGISTRY_READ_TOKEN = "<your-token>" # Windows PowerShellbashexport NPM_REGISTRY_READ_TOKEN=<your-token> # macOS/Linux - Add an
.npmrc(~/.npmrcor project root):iniAlways reference@flexso:registry=https://flexso.gitlab.host/api/v4/packages/npm/ //flexso.gitlab.host/api/v4/packages/npm/:_authToken="${NPM_REGISTRY_READ_TOKEN}"${NPM_REGISTRY_READ_TOKEN}, never a literal token, in a committed.npmrc. Details and troubleshooting: Team onboarding.
Then:
npm install -D @flexso/spexso
npx @flexso/spexso initThen in Claude Code: /spexso-setup. It detects ABAP sources and recommends the ABAP docs MCP server — this one isn't a one-command plugin install like the CAP/UI5 recommendations; it's a self-hosted community server (mcp-abap/mcp-sap-docs) you register in .mcp.json yourself, then re-run /spexso-setup to confirm the wiring. Spend ten minutes tuning .spexso/rules/abap.md to your system's conventions while you're there — that file is the highest-leverage thing you own: every review reads it.
The workflow
/spexso-brainstorm <idea> # or /spexso-report for bugs — spec on a GitLab issue
/spexso-plan # decompose the spec into ordered, reviewable tasks
# ... implement in ADT/Eclipse, sync via abapGit ...
/spexso-review # diff review against spec + abap.md (abapGit repo required)You implement and run ABAP Unit in your own system, as always. Spexso owns the paperwork around it: the spec, the plan, the review, the issue lifecycle on the GitLab board. The review diffs your feature branch against the target branch, so push your abapGit changes to a feature branch first.
What does NOT work for ABAP (yet)
- The automated RED→GREEN build loop (
/spexso-build) — ABAP Unit cannot run from the repo. - Worktree isolation — your code lives in the system, not on the filesystem.
- Targeted test runs, time budgets, and the latency report for build sessions.
These boundaries are recorded in the spexso research backlog; when ABAP tooling makes them feasible, this page changes.
Where to go next
- Spec Template — what a good spec contains
- Bug of feature melden — reporting into the backlog
- Issue bespreken & verfijnen — refinement flow