FAQ ยท v0.8.1

Frequently asked questions

Answers to typical questions about the Agentic Software Factory v0.8.1 โ€” platform, setup, wizard, adapters, quality gate, settings, security, licensing and roadmap. If your question is missing, drop us a line: hello@softwarefabrik.io.

Platform in general

What is the Agentic Software Factory?

The Agentic Software Factory is a local web application that lets you kick off, supervise and trace AI-assisted development in a structured way. It connects project capture (with or without the wizard), automatic generation of Markdown specifications, run orchestration against coding CLIs (Claude Code, Codex, Gemini, Aider), live logs, Git discipline and an automatic quality gate. The goal is not "magic AI coding with one click" โ€” it's reproducible, reviewed results you can hand to your team.

What's happened since v0.4.0?

Seven minor releases have taken the platform from "MVP with two wizard templates" to a fully orchestrated solo-dev tool. Short list:

The news page has the full release notes.

How does it differ from using Claude Code directly in the shell?

With direct shell use you have to organise project definition, guardrails, approvals, Git discipline and status oversight manually. The Software Factory makes those aspects visible and reusable โ€” you don't kick off one coding pass, you orchestrate a sequence of plan, implement, review and validate, with live logs and a quality-gate verdict at the end. It's not a different coding mode, it's a different abstraction layer.

Who is the platform for?

Primarily for software architects, lead developers, technical project managers and small teams who want to do AI-assisted development in a more controlled, reproducible way โ€” typically in mid-sized companies, regulated industries, or consultancies that have to document code outcomes. It's not meant as a mass consumer product and isn't aimed at hobbyists who want to generate a quick script โ€” Claude Code on its own is faster for that.

What problems does the platform solve?

What agent roles are envisaged?

Typical: Architect, Developer, Reviewer, QA, Security Reviewer, Documentation, Merge/Release. Each role can have a preferredModel โ€” an Architect might use claude-opus-4-7 for deep design decisions, a Reviewer the faster claude-haiku-4-5. Roles are serialised as Markdown into AGENTS.md and read by the coding agent as context.

What's a typical workflow?

  1. Capture the project idea (wizard or quick create).
  2. Fill in project fields or take what the wizard pre-filled.
  3. Generate Markdown artifacts and read them once.
  4. Verify the team composition (or accept the default).
  5. Create a run with a clear goal, move to READY, start.
  6. Follow logs, phases and Git diff, click approvals.
  7. After COMPLETED, run the quality gate, review findings.
  8. If needed, set up a follow-up run with a corrective goal.

Why work with Markdown artifacts?

Files like PROJECT.md or INSTRUCTIONS.md are human-readable, versionable and friendly to AI tools. They form the "working contract" between user, platform and agent. The agent reads them as a top-level brief, you can edit them and trace changes in Git history. Unlike binary configurations or DB columns, Markdown is also useful outside our platform โ€” you never get locked into a proprietary format.

Why Spring Boot + Thymeleaf instead of Angular/React?

Version 1 prioritises orchestration, run model, Git/build integration and traceability. A server-rendered UI with Spring Boot and Thymeleaf reduces complexity โ€” no separate frontend build, no API versioning, no double authentication. That makes the product core trustworthy faster. A SPA version is on the backlog (ADR-0015 under discussion), but only after the core is stable.

Is the platform a real multi-agent system?

Not in the sense of "multiple agents running in parallel and talking to each other". v1 prepares roles, teams and workflow structure for that, but starts with one executing adapter per run. The goal is a clean extension path, not maximum complexity in step one. True multi-agent (different models per phase, mutual review) is on the roadmap from phase 5/6 onwards.

Setup & install

What are the prerequisites?

You don't need to install Java, Maven or Node locally as long as you stay in container mode. Only when you use real vendor adapters such as claudecode or codex do you need that CLI locally.

How do I start the platform?

From the repo root:

git clone https://github.com/janda-io/SoftwareFabrik.git
cd SoftwareFabrik
# create .env with ADMIN_USER, ADMIN_PASSWORD, DB_PASSWORD, SECRETS_MASTER_KEY
docker compose up -d

Generate the master key with openssl rand -base64 48. Details in the quickstart.

Does the platform work offline?

Depends on the tier:

Can it be run air-gapped?

Yes, with an Enterprise Air-Gap license. The platform itself has no hard internet dependency. What you need:

What data is sent to external servers?

In the default setup only:

In air-gap mode: nothing. Details in the transparency document.

Wizard & project creation

How does the wizard work internally?

The wizard is a four-step controller at /wizard with its own persistence in wizard_draft (V12). Steps:

  1. Pick a template: you choose between spring-boot-backend and static-frontend. The template determines the questions in step 2.
  2. Questions: per template a fixed set of questions (Java version, DB, architecture style, Node version, build tool, โ€ฆ). Answers are stored in a JSON column.
  3. Quality-gate toggles: ArchUnit, OWASP, Trivy, Playwright. Which ones appear depends on the template (e.g. ArchUnit only for backends).
  4. Summary: overview of all answers, then "Create project". On completion the wizard creates a ProjectDefinition, fills all editor fields, sets the draft status to completed.

Drafts survive browser reload and server restart. The next visit to /wizard shows a "Resume draft" button that takes you to the last saved step. Unfinished drafts are auto-deleted after 30 days (cleanup job at 04:00).

Which templates exist?

TemplateContentQuality-gate toggles
spring-boot-backendJava backend with Spring Boot. Java 21 or 25, DB choice Postgres / H2 / MySQL, architecture style hexagonal / layered / modulith.ArchUnit, OWASP, Trivy
static-frontendStatic frontend with HTML/CSS/JS. Build tool Vite or Astro. Node 20 or 22.Trivy, Playwright

Snippets sit on the classpath under resources/wizard/templates/<name>/ and exist in DE and EN (you choose the language in wizard step 2).

How do version values reach the wizard?

From the version_cache (V13). A daily @Scheduled job at 03:00 fetches current stable versions from three sources:

Cache keys are functional, not technical: spring-boot.3.x, archunit.latest, trivy.cli.latest, โ€ฆ If the cache is empty or stale, the wizard falls back to hard-coded versions from the source.

What happens if the version cache is stale?

"Stale" means: Java-computed, the last refresh is more than 25 hours old. The wizard still shows the values (with a stale badge in the admin UI), and you can hit "Refresh now" at /einstellungen/wizard/versions to trigger a synchronous lookup. If the lookup job has failed multiple times, the last error is shown in the last_error column.

How do I disable the wizard and only use "Quick create"?

You don't need to disable it โ€” the "Quick create" button stays on the project list and opens a two-field form (project title, product name). You go straight to the editor and fill the rest yourself.

If you want to hide the wizard completely (e.g. because your team only uses quick create), there's a toggle in settings under UI for "Wizard menu entry". The route stays technically reachable โ€” we only hide it from navigation.

Can templates be extended?

Yes, but only in code. A new template is a new entry in TemplateRegistry (immutable record with fields and supported toggle IDs), plus accompanying snippet files under resources/wizard/snippets/<lang>/<toggleId>.md and base prompts under resources/wizard/prompts/<lang>/<templateId>/basis.md. Six templates are registered today (Spring Boot Backend, Static Frontend, .NET Backend, Python FastAPI, Node Express, Existing-Repo-Import). A UI-based template manager (custom templates via drag-and-drop) stays a V2 topic.

Adapters & models

Which adapters exist?

AdapterPurposePrerequisite
claudecodeAnthropic Claude Code CLILocal CLI install + Anthropic API key
codexOpenAI Codex CLILocal install + OpenAI API key
geminiGoogle Gemini CLILocal install + Google API key
aiderAider (open source)Local install + LLM provider config (Anthropic, OpenAI, local)
mockTest adapter, no API callNone. Always available.

How do I configure default models per adapter?

Under /einstellungen โ†’ Adapter. Each adapter has a Default model field:

These defaults are used for new runs unless the user explicitly picks another model in the run-creation dialog. Per AgentDefinition there's an additional preferredModel field (V11) you can set per role โ€” it lands in the UI in phase 5.

What is the mock adapter for?

The mock adapter is a test adapter that works without an API key and writes deterministic pseudo tokens into the workspace. Ideal for:

Output is not "real code" โ€” more like pseudo content that simulates a typical run flow.

Can I pick a different adapter per run?

Yes. The run-creation page has an "Adapter" dropdown. If you pick something there, it overrides the global default (override order: RUN > PROJECT > USER > GLOBAL > YAML). Useful for A/B comparisons: same brief, once with Claude, once with Codex, then compare results.

Quality gate

What does the quality gate do?

The quality gate is an automatic assessment of the run output. It calls multiple reviewers, collects their findings and produces an aggregated verdict (PASSED / WARNING / FAILED / SKIPPED / ERROR). Reviewers are read-only โ€” they don't write into the workspace, they only inspect.

Which reviewers are available?

What do the verdicts mean?

What are the special rules?

Two finding types are always blocking, regardless of policy:

This rule prevents an overly relaxed policy from quietly waving through critical issues.

What's the difference between strict and lenient policy?

Special rules (SECURITY/HIGH, ARCHITECTURE/CRITICAL) are blocking either way.

Settings

What can I configure in the settings area?

Under /einstellungen (ADMIN-only) you can configure:

What is the override order?

PROJECT > USER > GLOBAL > YAML. A project-level value beats a user-level value beats a global value beats the default in application.yml. SettingService implements this resolution uniformly for all settings.

How does the token budget work?

You set a daily token cap (e.g. 2,000,000) and/or a weekly token cap. Per run, used tokens (input + output) are summed. Two modes:

Reset at midnight (local time) for daily, Sunday 00:00 for weekly.

When do settings changes take effect?

At most 5 minutes after saving, because SettingService uses a 5-minute TTL cache. That's an intentional trade-off: fewer DB hits per resolve, slight delay in return. To see changes immediately, click "Invalidate cache now" on the settings page.

Who can change settings?

Only users with the ADMIN role. Primarily the bootstrap admin (SOFTWAREFABRIK_ADMIN_USER); you can create more admins under /admin/users. Every change creates an audit log entry with subject (who), key, old value, new value, timestamp.

Security & compliance

How does the platform handle security and privacy?

The platform aims for data-minimal, traceable use:

How is a user authenticated?

In v1: local authentication with username + password against the platform DB. BCrypt-hashed passwords, CSRF protection, session cookies (HttpOnly, Secure, SameSite=Lax). For the Enterprise tier, additional Keycloak OIDC with the device authorization grant โ€” one-time browser login, then the app keeps an encrypted refresh token locally.

What goes into the audit log?

Append-only โ€” nothing is deleted or edited. Table audit_event.

Is the platform suitable for regulated environments?

It's well aligned โ€” traceability, structure, documentation, Git discipline and explicit approvals are built in. Concrete hardening (e.g. ISO-27001, BAIT, DORA conformance) depends on the deployment environment and needs additional organisational measures. For government we recommend the air-gap tier with on-prem LLM.

License & pricing

Which license tiers exist?

Three tiers:

How much does the platform cost?

The platform itself is free in DEMO and COMMUNITY tiers. FULL/Professional is paid (price on request), Enterprise Self-Hosted and Enterprise Air-Gap are individual contracts. What costs extra are vendor API costs (Anthropic, OpenAI, Google) for actual coding calls โ€” the platform only acts as a broker there.

Which LLMs are supported?

LLM choice is the customer's call and configured in the adapter. Air-gap mode allows on-prem LLMs only.

Can I switch between tiers?

What are the Community tier limits?

Roadmap & extension

How does it differ from LangChain / LangGraph / AutoGPT?

LangChain and LangGraph are library frameworks for Python developers building AI workflows themselves. AutoGPT is an experimental auto-run agent that decomposes tasks largely autonomously. The Software Factory is not a library โ€” it's a finished web application with a defined workflow (project โ†’ artifacts โ†’ run โ†’ quality gate). You don't program it, you use it. The audience is therefore much broader: not only Python devs with an AI background, but every lead developer.

When does multi-agent execution arrive?

Roadmap phase 5/6 (summer/autumn 2026). Concretely: a different agent per phase (Plan = Architect / Implement = Developer / Review = Reviewer), with role-specific models. The DB schema prep is already in place via V11 (agent_preferred_model) โ€” only the orchestration logic is missing.

Can external plugins / adapters be loaded?

In v1: no. Adapters are added as Java classes in the codebase. A plugin API (e.g. via Java Service Provider Interface or Spring Boot Starter mechanism) is on the backlog (ADR-0014). We deliberately defer it because a stable plugin API design is only worth designing once the adapter logic has iterated a few times.

Is there a roadmap?

Yes, in the repo at docs/roadmap/reifegrad-roadmap.md. Current state (May 2026): v0.4 done, v0.5 in progress (multi-model per role, web IDE stub). Larger themes like multi-tenant, external plugin API and SPA frontend are v0.7+ on the horizon.

Is there deeper technical background available?

Yes. As an architecture deep-dive there's a separate whitepaper covering the architectural foundations of agentic software development: reference architecture, agent orchestration, AI guardrails, shared knowledge stores and integration into the SDLC. The PDF (76 pages) is free and downloadable without registration.

What's the best way to get started?

The quickstart (10 minutes, mock adapter, no API cost). Once that runs: tutorial with the real Claude Code adapter (45 minutes). If you'd rather just click around without installing: live demo.