This guide walks you through setting up DevStride on your local machine.
Install via nvm:
nvm install 18
nvm alias default 18
npm install -g pnpm
# macOS
brew install awscli
# Or download from AWS
# https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html
Install from docker.com
You'll receive an email invite to https://devstride.awsapps.com/start
ds initThe easiest way to configure your local environment:
git clone git@github.com:devstride/devstride.git
cd devstride
pnpm install
./ds init
./ds without arguments to see an interactive menu of all available commands.The init wizard will:
DEVSTRIDE_STAGE).env fileAfter init completes:
source ~/.zshrc # Apply shell changes
# Add your DB_CONNECTION_STRING to .env (from Neon Console)
./ds run backend
If you prefer manual configuration:
Add to your ~/.zshrc or ~/.bashrc:
export DEVSTRIDE_STAGE=yourname # e.g., phil
export AWS_PROFILE=devstride-yourname
export DEVSTRIDE_DEV_PROFILE=devstride-yourname
export DEVSTRIDE_REGION=us-east-1
aws configure sso
# SSO start URL: https://devstride.awsapps.com/start
# SSO Region: us-east-1
# CLI profile name: devstride-yourname
Fetch shared secrets from AWS:
./ds cloud-dev setup-secrets
Or copy .env.sample to .env and ask a team lead for the values.
Important: Add your personal DB_CONNECTION_STRING from Neon Console > Your Branch > Connection Details.
# Start the backend
./ds run backend
# After deployment completes, stop and run migrations
./ds migrations run
# Set up configuration
./ds script set-config
# Start both services
./ds run backend # Terminal 1
./ds run ui # Terminal 2
# Pull DynamoDB image (first time only)
docker pull amazon/dynamodb-local
# Run tests
cd backend && pnpm test
# Run with coverage
cd backend && pnpm coverage
aws sso login
.env has correct DB_CONNECTION_STRING./ds migrations runThe backend runs on port 3000 by default. Kill any existing processes:
lsof -i :3000 | grep LISTEN | awk '{print $2}' | xargs kill -9