Getting Started
Arkstack is a runtime-agnostic TypeScript backend framework for building structured, production-ready server applications.
It gives you a complete application layer with routing conventions, console commands, authentication, notifications, views, hooks, shared contracts, and runtime drivers for Express, H3, and future transports.
Arkstack is opinionated about application architecture while staying flexible about the HTTP runtime beneath it.
It prioritizes the Arkstack application model first, runtime adapters second.
Prerequisites
- Node.js 20+
- pnpm (recommended), npm, or yarn
Create a New App
$ npx create arkstack$ npm init arkstack@latest$ pnpm create arkstack@latest$ yarn create arkstack@latestYou can also provide a target directory:
$ npx create arkstack my-app$ npm init arkstack@latest my-app$ pnpm create arkstack@latest my-app$ yarn create arkstack@latest my-appAvailable Templates
express- full Arkstack app on the Express driver with database featuresexpress-lean- lean Express-driver app stripped of database features and app scaffoldingh3- full Arkstack app on the H3 driver with database featuresh3-lean- lean H3-driver app stripped of database features and app scaffolding
Install and Run
cd my-app
$ npm install
$ npm run devcd my-app
$ pnpm install
$ pnpm devcd my-app
$ yarn install
$ yarn devUseful Commands
npx ark dev- run in development modenpx ark build- build for productionnpx ark- run Arkstack console commandspnpm lint- run lint checks
For full command usage and generation workflows, see Arkstack CLI.
Full vs Lean
Use full templates when you want the complete Arkstack experience with Arkormˣ and database features included. Full kits come with:
src/appwith generated controllers, resources, and servicessrc/routes/api.tswith scaffolded API routes- Arkormˣ and related runtime files and dependencies
Use lean templates when you want a minimal HTTP starter without database dependencies. In lean kits, Arkstack removes:
src/appsrc/routes/api.ts- Arkormˣ/database runtime files and dependencies
Monorepo Packages (Concept)
Arkstack kits build on shared packages:
@arkstack/contract@arkstack/common@arkstack/console
For architecture details, see Architecture Overview.
If you are using a full template with database features, continue with Database & Modeling.
