Quick Start
This guide walks you through setting up a new DevStack project from scratch. By the end, you will have a working development environment with hot-reload, structured logging, and a basic route handler ready for extension. The steps below apply to all supported runtimes; framework-specific instructions are linked from each section.
Prerequisites
Before installing DevStack, ensure your system meets the following requirements. You will need a supported operating system (see the compatibility matrix below), at least 4 GB of available RAM, and one of the supported runtime versions: Node.js 20+, Python 3.11+, .NET 8+, or Java 21+. A working git installation is also required for template scaffolding.
Installation
DevStack ships as a single CLI binary with no external dependencies beyond your chosen runtime. Install it globally using the package manager for your platform:
bash# Install via the universal installer (all platforms)
curl -fsSL https://get.devstack.dev | sh
# Or via npm if you prefer Node-based tooling
npm install -g @devstack/cli@4.2.1
# Verify the installation
devstack --version
# devstack 4.2.1 (build 8a3f2e1, 2026-08-02)
Project Scaffolding
Once installed, create a new project using the init command. DevStack will prompt you for a runtime, a template, and your preferred package manager. You can also pass flags to skip the interactive prompts entirely:
yaml# devstack.config.yml
project:
name: "my-application"
version: "0.1.0"
runtime: "node"
server:
port: 3000
host: "0.0.0.0"
hot_reload: true
logging:
level: "debug"
format: "json"
output: "stdout"
Minimal Server Example
With the project initialized, you can start building immediately. Below is a minimal HTTP server that responds to health checks and serves a JSON payload. The createApp factory handles middleware registration, graceful shutdown, and structured error responses out of the box.
typescriptimport { createApp, defineRoute, Context } from "@devstack/core";
// Initialize with sensible defaults
const app = createApp({
name: "my-application",
version: "0.1.0",
});
// Define a typed route handler
const healthCheck = defineRoute("GET", "/healthz", async (ctx: Context) => {
return ctx.json({
status: "healthy",
uptime: process.uptime(),
timestamp: new Date().toISOString(),
});
});
app.use(healthCheck);
app.listen(3000);
// => Server listening on http://0.0.0.0:3000
Run devstack dev to start the development server with hot-reload enabled. Changes to any source file will trigger an incremental rebuild, typically completing in under 50ms for projects with fewer than 500 modules.
Version Compatibility Matrix
Not all framework versions support every operating system. Use the selector below to check compatibility for your target platform.
| Operating System | Version | Status | Notes |
|---|
Dependency Tree Viewer
Inspect the transitive dependency graph of any supported package. Enter a package name below to see its resolved tree at the latest stable version.
Cold Start Performance
Measured cold-start times for a minimal "hello world" HTTP server across frameworks, on an AWS c6g.medium instance with 1 vCPU and 2 GB RAM. Lower is better.
Was this page helpful?