Scaffoldizr: Scaffolding to create Structurizr Workspaces

Opinionated TypeScript/Bun Scaffolding Tool for creating Structurizr DSL Documentations

Download as .zip Download as .tar.gz View on GitHub

< Back

2. Support AI Agent and Non-Interactive Mode

Date: 2026-04-08

Status

Accepted

Context

Scaffoldizr was originally designed as a fully interactive CLI tool, relying on Inquirer.js prompts to guide users through workspace and element creation. This worked well for human operators but made the tool unusable in automated contexts.

As AI-assisted development workflows became common, agents (such as LLM-based coding assistants) needed to generate and evolve architecture documentation programmatically. These agents cannot interact with TTY-based prompts and require all inputs to be provided upfront as CLI flags.

Additionally, the rise of standardized agent skill formats (e.g., OpenCode / Claude skills) created an opportunity to package Scaffoldizr’s conventions and generator knowledge into a reusable agent skill, enabling AI assistants to invoke the tool correctly without human guidance.

Decision

We will extend the CLI to support non-interactive execution by:

  1. Subcommand routing — when a workspace.dsl already exists, the desired generator can be passed as a positional subcommand (e.g., scfz container), bypassing the interactive main menu.
  2. Flag-based answers — all Inquirer prompt questions can be answered via CLI flags using --parameter "value" format. When all required flags are present, no prompts are shown.
  3. AI Agent Skill — a structured skill file (.claude/skills/scaffoldizr/SKILL.md) is shipped with the repository, providing AI agents with conventions, element creation rules, workspace scope constraints, and CLI usage patterns.

The interactive mode remains fully supported and is unchanged. Non-interactive mode is strictly additive.

Consequences

Positive:

Negative: