atlan-app-scaffold-standard
Atlan App Scaffold Standard
When a user asks to create a new app, treat CLI bootstrap as implicit. Do not require users to mention CLI commands.
Workflow
- Interpret user intent:
- If request is "create/build/new app" (even without technical detail), trigger this skill first.
- Resolve app path and slug from user request.
- Ask clarifying questions when high-impact requirements are missing:
- Ask 1-3 short questions for business behavior only (input source, expected output, critical constraints).
- Do not ask users to specify CLI commands or low-level scaffolding details.
- If unanswered, proceed with sane defaults and state the assumptions.
- Choose quality tier before implementation:
- default:
quickstart-utility - use
connector-standardwhen request requires connector behavior comparable to postgres/redshift patterns. - follow
../_shared/references/app-quality-bar.md.
- default:
- Run progressive discovery before coding (no repo-wide sweep):
quickstart-utility: read only skill references + one representative quickstart app (main/workflow/activity/pyproject + one e2e test), target <= 12 reads.connector-standard: read skill references + one postgres-style and one redshift-style reference slice, target <= 20 reads.- Expand beyond budget only when blocked by missing facts.
- Do not run recursive wildcard scans (for example full-tree
Search(\"**\")) in first pass.
- Enforce CLI-first bootstrap:
- Check
atlanavailability (command -v atlan). - If available: use
atlan app init -o <app_path> -t generic -y(or-s <sample>when requested). - If missing: invoke
atlan-cli-install-configure, then continue scaffold. - Do not begin by searching for a local
atlan-clirepository. - Re-verify with
command -v atlan && atlan --help. - If network/install is blocked, stop and ask the user to enable installation or provide an existing CLI binary path.
- Check
- Verify template/sample choices only when needed:
atlan app template listatlan app sample list
- After scaffold, apply mode-specific structure from
references/scaffold-matrix.md:postgres-minimalby default.redshift-customonly when requirements demand custom auth/preflight/miner behavior.
- If behavior-critical decisions are unclear, run
atlan-fact-verification-gate. - Continue implementation on scaffolded project files; do not hand-create base tree.
- Before declaring completion, hand off to
atlan-cli-run-test-loopto run at least:
- unit tests
- e2e tests (or record a concrete infrastructure blocker) and summarize results.
Hard Rules
- Do not manually create baseline app skeleton when CLI scaffold is available.
- Do not copy another quickstart folder as a substitute for scaffold.
- Keep SDK/CLI repositories read-only.
- Keep outputs portable; no machine-local absolute paths.
References
- Scaffold matrix:
references/scaffold-matrix.md - Quality bar:
../_shared/references/app-quality-bar.md - Shared verification map:
../_shared/references/verification-sources.md - CLI install/config:
../atlan-cli-install-configure/SKILL.md
More from atlanhq/atlan-sample-apps
atlan-fact-verification-gate
Verify Atlan app behavior against SDK docs/code and CLI docs/code before behavior-changing decisions; use lightweight checks by default and deep checks when risk is high.
10atlan-sdk-objectstore-io-defaults
Enforce object store and IO defaults from the Atlan SDK for output paths, prefixes, and file writes. Use when implementing or reviewing raw/transformed output handling.
8atlan-cli-install-configure
Install Atlan CLI with OS-aware binaries (or Homebrew on macOS) only when missing, then configure baseline tenant auth/log settings.
6atlan-cli-run-test-loop
Run Atlan app execution loops using CLI-first commands with automatic CLI availability checks and safe fallbacks.
5atlan-review-doc-sync
Run findings-first review for Atlan app changes and synchronize app documentation with implemented behavior. Use when completing a change set, preparing handoff, or auditing regressions.
5atlan-sql-connector-patterns
Select and apply the correct SQL connector implementation pattern (SDK-default minimal or source-specific custom). Use when building or extending SQL metadata/query extraction connectors.
5