DEV Community

Cover image for Workspace-First Development: Why It Changes Everything
RapidKit
RapidKit

Posted on

Workspace-First Development: Why It Changes Everything

The Problem Nobody Talks About

You're building a modern backend. Not one API. Several:

  • Authentication service
  • User management API
  • Payment gateway
  • Notification service

Microservices done right?

Then why does it feel so painful?


The Hidden Tax of Multiple Services

Day 1: Create first service (3 hours)

Day 3: Copy-paste for second service → already diverging

Week 2: 4 services with different structures

Month 2: New developer: "Which service is the reference?"

The real problems:

  • 4 separate virtualenvs (600MB each = 2.4GB)
  • Inconsistent structure across services
  • Version conflicts (Pydantic v1 or v2?)
  • 20-step onboarding guide

This is what workspaces solve.


What Is a Workspace?

A shared environment for multiple backend projects.

my-workspace/
├── .venv/                     # Shared Python env
├── auth-service/              # FastAPI
├── user-api/                  # FastAPI
├── payment-gateway/           # NestJS
└── notification-service/      # FastAPI
Enter fullscreen mode Exit fullscreen mode

Create it:

npx rapidkit my-workspace
cd my-workspace
Enter fullscreen mode Exit fullscreen mode

Add projects:

rapidkit create project fastapi.standard auth-service
rapidkit create project nestjs.standard payment-gateway
Enter fullscreen mode Exit fullscreen mode

Benefits:

  • One Python environment for all projects
  • Consistent structure
  • One CLI for everything
  • Auto-tracked registry

Why This Matters: Real Numbers

Traditional Approach (4 services):

  • Setup: 3 hours × 4 = 12 hours
  • Disk: 600MB × 4 = 2.4GB
  • Onboarding: 4-6 hours reading docs

Workspace Approach:

  • Setup: 5 minutes (workspace) + 2 minutes × 4 = 13 minutes
  • Disk: 150MB (shared) + 400MB (projects) = 550MB
  • Onboarding: 2 minutes (clone + ./bootstrap.sh)

Workspace saves you: 77% time, 77% disk space


How It Works: The Magic of Shared Environments

Create workspace:

npx rapidkit my-workspace
cd my-workspace
Enter fullscreen mode Exit fullscreen mode

Behind the scenes:

  1. Creates .rapidkit-workspace marker
  2. Installs Poetry
  3. Creates shared .venv/
  4. Installs rapidkit-core (the Python engine)
  5. Registers workspace in ~/.rapidkit/workspaces.json

Add projects:

rapidkit create project fastapi.standard api-one
rapidkit create project nestjs.standard api-two
Enter fullscreen mode Exit fullscreen mode

Each project gets:

  • Own .venv/ for project dependencies (~100MB)
  • Access to workspace's rapidkit-core
  • Consistent structure
  • Independent configs

Command routing:

# Inside workspace:
rapidkit --version
# ↳ Uses workspace .venv/bin/rapidkit

# Inside project:
rapidkit dev
# ↳ Launches project's FastAPI/NestJS server

# Outside workspace:
npx rapidkit dev
# ↳ Uses npm bridge
Enter fullscreen mode Exit fullscreen mode

Three Ways to Start

1️⃣ Workspace (Recommended)

npx rapidkit my-workspace
cd my-workspace
rapidkit create project fastapi.standard api
Enter fullscreen mode Exit fullscreen mode

Pros: Auto prerequisites, multi-project, disk efficient

Use when: 2+ projects, team development, production


2️⃣ Direct Project

npx rapidkit create project fastapi.standard api
cd api
npx rapidkit init
Enter fullscreen mode Exit fullscreen mode

Pros: Fastest for single project

Use when: Quick prototype, learning


3️⃣ VS Code Extension

  1. Install extension
  2. Ctrl+Shift+P → "RapidKit: Create Workspace"
  3. Visual project creation

Pros: GUI, visual discovery

Use when: New to RapidKit, team onboarding


💾 Export Your Workspace: Share & Backup

Export:

rapidkit workspace export
# or: Right-click workspace in VS Code → Export
Enter fullscreen mode Exit fullscreen mode

Result: ZIP file (1-10MB) with:

  • All projects + configs
  • Poetry lockfile
  • Smart exclusions (no node_modules, .venv)

Import:

# Extract ZIP
./bootstrap.sh
# Done in 2 minutes
Enter fullscreen mode Exit fullscreen mode

Use cases:

  • Team onboarding: Share entire backend in one file
  • Disaster recovery: Restore from backup
  • Experimentation: Export before refactor

Traditional onboarding: 4+ hours

Workspace import: 2 minutes ✅


🩺 Workspace Health & Upgrades

Check health:

rapidkit doctor
Enter fullscreen mode Exit fullscreen mode

Output:

✅ Python 3.11.5
✅ Poetry 1.7.0
✅ RapidKit Core v0.11.0
✅ 4 projects registered
⚠️  auth-service: missing dependencies
Enter fullscreen mode Exit fullscreen mode

Check updates:

rapidkit check updates
Enter fullscreen mode Exit fullscreen mode

VS Code shows orange "Upgrade Available" button when new version is released.


Real Example: SaaS Backend

Create workspace:

npx rapidkit saas-backend
cd saas-backend
Enter fullscreen mode Exit fullscreen mode

Add services:

rapidkit create project fastapi.ddd auth-service
rapidkit create project nestjs.standard api-gateway
rapidkit create project fastapi.standard jobs-service
Enter fullscreen mode Exit fullscreen mode

VS Code sidebar:

📁 SaaS Backend
 ├── 🐍 auth-service
 ├── 🟦 api-gateway
 └── 🐍 jobs-service
Enter fullscreen mode Exit fullscreen mode

One click to:

  • Start any service
  • Run tests
  • Install modules
  • Check health

Developer Experience Benefits

1. Instant Discoverability

git clone company/backend-workspace
cd backend-workspace
code .
Enter fullscreen mode Exit fullscreen mode

New developer sees all services, identical structure, ready to run.

2. Consistent Commands

cd auth-service
rapidkit dev

cd ../api-gateway
rapidkit dev      # Same command, different framework
Enter fullscreen mode Exit fullscreen mode

3. Shared Updates

cd auth-service
rapidkit add module logging

cd ../api-gateway
rapidkit add module logging   # Same version, instant
Enter fullscreen mode Exit fullscreen mode

Workspace Strategies

1. Monolithic (all projects):

company-backend/
├── auth-service/
├── user-api/
├── payment-api/
└── 10 more services/
Enter fullscreen mode Exit fullscreen mode

2. Domain-Separated (recommended):

company-auth/          # Workspace
├── auth-service/
└── user-api/

company-payments/      # Workspace
├── payment-api/
└── billing-service/
Enter fullscreen mode Exit fullscreen mode

3. Hybrid:

core-platform/         # Workspace for core services
├── auth/
├── users/
└── payments/

tools/                 # Standalone utilities
├── migration-script/
└── data-import/
Enter fullscreen mode Exit fullscreen mode

When NOT to Use Workspaces

Use standalone when:

  • Single quick prototype
  • Learning RapidKit
  • Unrelated projects
  • Maximum control needed

Use workspace when:

  • 2+ related projects
  • Team development
  • Production environments
  • Consistent architecture matters

The Hidden Superpower: Team Onboarding

Traditional:

  1. Clone repos (4+)
  2. Read 10-page guide
  3. Install Python, Node, Docker, Poetry
  4. Create virtualenvs
  5. Configure .env files
  6. Fix dependency conflicts
  7. Debug for 2 hours

Time: 4-6 hours


Workspace:

  1. Download ZIP
  2. Extract
  3. Run ./bootstrap.sh

Time: 2 minutes

Everything works. No questions. No debugging.


This Changes How Teams Collaborate

Before workspaces:

  • "Works on my machine"
  • Week-long onboarding
  • Inconsistent structures
  • Version conflicts

With workspaces:

  • Identical environments
  • 2-minute onboarding
  • Enforced consistency
  • One source of truth

Try It Yourself

# Create workspace
npx rapidkit demo-workspace
cd demo-workspace

# Add two projects
rapidkit create project fastapi.standard api-one
rapidkit create project nestjs.standard api-two

# Open in VS Code
code .
Enter fullscreen mode Exit fullscreen mode

Explore:

  • Sidebar shows both projects
  • Health check (pulse icon)
  • Install modules visually
  • See tracking in action

Comparison: Workspace vs Direct

Feature Workspace Direct
Prerequisites ✅ Auto ⚠️ Manual
Multi-Project ✅ Excellent ❌ No
Disk Usage ✅ Efficient ⚠️ Wasteful
Setup Time 🟢 Fast 🟡 Slow
Team-Friendly ✅ Yes ⚠️ Moderate
Learning Curve 🟢 Easy 🟡 Medium

Rule of thumb:

  • 2+ related projects → Workspace
  • Single prototype → Direct
  • Not sure? → Workspace (you can ignore it)

What's Next?

Next article: "From Zero to Production API in 5 Minutes" — we build a real deployable API with timer running.

After that: New AI-focused tracks (support triage, provider failover, cost control).


Learn More

Top comments (0)