Skip to content

Create a Project

Open in ChatGPTOpen in Claude

axs new scaffolds a complete, deployable project from a validated starter template:

Terminal window
axs new my-api

With no flags you get the rest-v1 starter in module layout, and the CLI prompts you through the choices that matter. Every starter is extracted from a synth-tested example project in the framework repository, so what you scaffold is exactly what CI validates on every commit.

StarterSurfaceWhat you get
rest-v1API Gateway REST APIThe full-breadth starter: REST routes, Cognito auth, DynamoDB, SQS/SNS, KMS, S3, Secrets, WAF/SES, observability, budget (opt-in).
rest-v2API Gateway HTTP API (v2)Intentionally lean — the API surface only, with JWT auth and a greedy /{proxy+} route. No storage/security breadth.
graphqlAppSyncGraphQL schema + resolvers alongside the full construct breadth, with resolver Lambdas wired through the same registries.
workerNo API — standalone computeA cron Lambda and an SQS queue consumer with a table and observability. Background processing without an HTTP surface.
bareNo API — the floorOne standalone Lambda and an optional DynamoDB table. Everything else is something you add, not something you strip out.
Terminal window
axs new my-api --template rest-v1
axs new my-api --template rest-v2
axs new my-graphql --template graphql
axs new my-jobs --template worker
axs new my-fn --template bare

If --template is omitted, the CLI prompts for it.

module (the default) groups Lambdas by module and kind under lambdas/modules/; feature colocates each feature’s Lambdas and tables under lambdas/features/. In this version, feature is supported for the rest-v1, rest-v2, graphql, and worker starters — only bare is module-only, and the CLI rejects that pairing with an explicit error. On graphql, the feature layout also colocates resolver artifacts under each feature. The full comparison and support matrix live in Layout: Module vs Feature.

Terminal window
axs new my-api --template rest-v1 --layout feature

Feature prompts set defaults — nothing is pruned

Section titled “Feature prompts set defaults — nothing is pruned”

For starters with optional construct groups, the interactive prompts ask one yes/no per group (queues, topics, KMS, S3, secrets, WAF, SES, EventBridge, …). Your answers become the DEFAULT_FEATURES values in the generated config/features.tsno code is deleted. A “no” at create time is fully reversible: edit the constant, run axs feature, or pass --context feature.<name>=on at synth. Mandatory groups (like the rest-v1 data layer) are not prompted for. See Feature Toggles.

--composer scaffolds a build-your-own project driven by the single defineAxisApp entry point instead of a per-stack bin/app.ts. You pick the API surface’s access model and authorizer at create time, and your selections are recorded in axis.json (wiring: "composer") as the canonical project state:

Terminal window
axs new my-api --composer --template rest-v1

Composer-specific flags cover non-interactive use: --api-access public|authenticated|mixed, --authorizer cognito|iam|custom|none, --api-key, and for GraphQL --graphql-auth-mode, --graphql-additional-mode (repeatable), and --oidc-issuer. Under --yes, a composer API surface with no auth flag is an error — a project is never silently public. The model behind all of this is in The Composer.

  • --skip-install — scaffold files only; skip git init, dependency install, and Husky setup.
  • -y, --yes — skip the summary confirmation (CI / non-interactive).
  • --local — framework contributors only: resolve @axis-tech-co/* from a local checkout via file: paths, skipping registry auth.
  1. Writes the full project structure from the extracted starter template, plus a STRUCTURE.md narrative at the root for humans and AI tools.
  2. Writes axis.json recording the starter, layout, paths, and conventions.
  3. Runs git init and creates the initial commit.
  4. Installs dependencies and activates the Husky git hooks.
  5. Prints next steps — review the structure, edit config/dev-config.ts, bootstrap CDK, deploy.

Point CDK at your AWS account: AWS Credentials & Bootstrap.

© 2026 Axis Tech. Powered by axis-tech.co.