Prerequisites
Complete these first:- Install the Fjall CLI
- Sign in to Fjall with
fjall login - Connect an AWS account with
fjall connect - Deploy your organisation, optional, for multi-account setups
fjall create app authenticates before it scaffolds anything. The only exception is --offline, which writes files without registering the application.
Overview
A Fjall application is an infrastructure stack with compute, storage, and networking resources. Pick a tier preset or build a custom stack.Application tiers
The first prompt, “Choose your starting point?”, lists six tiers in this order with Standard pre-highlighted. Resilient requires a Pro plan and Enterprise requires an Enterprise plan.
Standard, Lightweight and Tinkerer default to an RDS Instance. Resilient and Enterprise default to Aurora. Resilient keeps 30-day backup retention and 90-day flow logs. Enterprise keeps 35-day retention, ships flow logs to S3 for 365 days, and adds a read replica to the Instance variant.
The tier picker is a fixed list. It never filters on database type, and the database question comes later in the wizard.
Interactive flow
After the tier, the wizard prompts for the rest. A tiered application asks:- Name your application? (for example,
api) - Use suggested container ‘<dir>’? (Y/n) only when a monorepo container directory is inferred and
--containerwas not passed. Answering no asks Container directory (leave empty for repo-root scaffold): - Include database?
- Restore database from an existing RDS snapshot? only when a database is included. Answering yes asks for Snapshot identifier (ARN or name): then Master username from the snapshot (immutable, must match original):
- How many services? (default 1, maximum 10, and Tinkerer accepts 1 only), then per service: Name service N of M?, What type of service is “X”? (asked only when the count is above 1), Provide Dockerfile for “X”?, Dockerfile path for “X”?, Container port for “X”? (skipped for workers and when an
EXPOSEport is read from the Dockerfile), Does “X” need database connection? (asked only when the application includes a database) - Which frontend should be the main website (catch-all)? only when two or more frontend services exist
- The review list, then Create application with these settings?
- Select a deployment target: shown only when your organisation config derives more than one target. A single target is selected automatically, and a run with no derivable target skips the prompt
✓ Setting up git repository, appears when you pass --git or --github.
What gets created
Your application structure:fjall-config.json is committed and records the project’s organisation binding plus any domains. The active deployment target lives in a gitignored sibling, .fjall/local.json, so a teammate’s choice never re-aims your deploy.
The Dockerfile is written only for applications with ECS compute, and only when you have not supplied your own with --dockerfile. Static-site and pattern applications get none.
Infrastructure code
The generatedinfrastructure.ts for a Standard application with a database:
Non-interactive mode
Pass--non-interactive with the options below to skip the wizard. Options on their own do not skip it: on a terminal they pre-fill the wizard and it still prompts, which is how a CI job hangs.
-n, --name is required. --register-only and a non-TTY stdout also force the non-interactive path.
Application options
Three refusals to plan around:
--offlineconflicts with--github, which needs a GitHub identity, and with--target, which is checked against your organisation.--offlineis refused for the paid tiers. Create offline withtinkerer,lightweight,standard, orcustom.--register-onlyconflicts with--dry-run,--offline,--git,--github,--services,--dockerfile,--container-port,--file-override,--owner,--network,--snapshot-identifier/--snapshot-username, and the static-site flags (--source,--build-command,--output-dir,--routing,--forms-to,--cors-origin).
Pattern options
Patterns are a separate scaffold path, driven by--pattern and valid only in non-interactive mode. The interactive wizard drops pattern flags and lands in the six-tier picker, so reach patterns interactively through bare fjall create, then Patterns.
--tier is narrower than -t, --type: tinkerer and enterprise are not pattern tiers.
Create an application on its own or as part of an organisation. For multi-account setups, deploy the organisation first. In agent mode the same flow is spelled
fjall apps create.Next Steps
Deploy Application
Deploy your application to AWS.
Add Resources
Extend with databases, storage, and more.
Connect AWS
Connect the AWS account your application deploys into.
Deploy Organisation
Set up multi-account management with Fjall.