replit-local-dev-loop
Optimizes Replit development cycles with hot reload configuration, run commands, and preview setups.
Install
mkdir -p .claude/skills/replit-local-dev-loop && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/7089" && unzip -o skill.zip -d .claude/skills/replit-local-dev-loop && rm skill.zipInstalls to .claude/skills/replit-local-dev-loop
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Configure Replit development workflow with hot reload, Webview, andKey capabilities
- →Configure run commands and compile steps
- →Set up hot reloading for Node.js and Python
- →Bind applications to 0.0.0.0 for Webview access
- →Use Replit Agent for autonomous development
- →Configure unit testing environments
How it works
It defines the .replit configuration parameters for run commands, environment variables, and port binding to ensure the workspace correctly serves the application to the Webview.
Inputs & outputs
When to use replit-local-dev-loop
- →Configuring dev server hot reloading
- →Setting up multi-service run commands
- →Optimizing build steps for TypeScript or Go
- →Configuring Replit workspace environment
About this skill
Replit Local Dev Loop
Overview
Configure the Replit Workspace development cycle: run commands, hot reloading, port configuration, Webview preview, dev/production database separation, and Replit Agent for AI-assisted building.
Prerequisites
- Replit App with
.replitconfigured - Node.js or Python project initialized
- Familiarity with Replit Workspace UI
Instructions
Step 1: Configure Run Commands
# .replit — run determines what happens when you click "Run"
# Simple string command
run = "npm run dev"
# Array form (recommended for deployment)
# run = ["sh", "-c", "npm run dev"]
# Multiple services simultaneously
# run = "npm run api & npm run frontend & wait"
entrypoint = "index.ts"
Compiled languages need a compile step:
# TypeScript
compile = "npx tsc -b"
run = "node dist/index.js"
# Go
compile = "go build -o main ."
run = "./main"
Step 2: Hot Reload Setup
Node.js with tsx watch:
# .replit
run = "npx tsx watch src/index.ts"
{
"scripts": {
"dev": "tsx watch src/index.ts",
"test": "vitest",
"test:watch": "vitest --watch"
}
}
Python with Flask auto-reload:
run = "python main.py"
[env]
FLASK_DEBUG = "1"
# main.py — Flask auto-reloads in debug mode
if __name__ == '__main__':
app.run(host='0.0.0.0', port=3000, debug=True)
Vite/Next.js dev server:
run = "npm run dev"
[env]
PORT = "3000"
Step 3: Port Configuration
Replit routes external traffic to your app's port. Your app must listen on 0.0.0.0:
// Correct — Replit can reach this
app.listen(3000, '0.0.0.0', () => console.log('Ready'));
// Wrong — unreachable from Webview
// app.listen(3000, '127.0.0.1', () => ...);
[deployment]
run = ["sh", "-c", "npm start"]
deploymentTarget = "autoscale"
# Ignore ports used by dev tools only
ignorePorts = [3001, 5555]
Use the Networking tool in the sidebar to view active port mappings.
Step 4: Dev vs Production Database
Replit provides separate development and production databases:
// Databases auto-switch based on context:
// - Workspace "Run" button -> development database
// - Deployed app -> production database
// Both use the same DATABASE_URL env var — no code changes needed
import { Pool } from 'pg';
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
ssl: { rejectUnauthorized: false },
});
View database settings in the PostgreSQL pane:
- Development tab: data for workspace testing
- Production tab: live customer data (only after deployment)
Step 5: Using Replit Agent
Replit Agent (v4) builds apps from natural language prompts. It creates files, installs packages, runs tests, and can work up to 200 minutes autonomously.
Effective Agent prompts:
- "Build a todo app with user auth, PostgreSQL, and a React frontend"
- "Add a /api/search endpoint with full-text search"
- "Fix the login flow - users lose auth after redirect"
Agent 4 features:
- Parallel task forks (splits work, combines results)
- Self-testing and error correction
- Full .replit and replit.nix configuration
- Works with any framework
Step 6: Testing in Workspace
# .replit
[unitTest]
language = "nodejs"
// __tests__/api.test.ts
import { describe, it, expect } from 'vitest';
describe('Health Check', () => {
it('returns ok', async () => {
const res = await fetch('http://localhost:3000/health');
expect(res.ok).toBe(true);
});
});
Development Workflow Summary
1. Edit code in Workspace editor
2. Click "Run" -> dev server starts with hot reload
3. Webview tab shows live preview
4. Console tab shows server logs
5. Shell tab for CLI commands
6. Secrets tab (lock icon) for env vars
7. Database pane for PostgreSQL / KV data
8. Deploy when ready -> production database activates
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Webview blank | App not on 0.0.0.0 | Bind to 0.0.0.0, not localhost |
| Port already in use | Previous run active | Click "Stop" then "Run" |
| Module not found | Package missing | Use Packages tool or npm install |
| Hot reload broken | Wrong run command | Use tsx watch or nodemon |
| Agent stalls | Complex prompt | Break into smaller requests |
Resources
Next Steps
See replit-sdk-patterns for production code patterns or replit-deploy-integration to deploy.
When not to use it
- →When developing locally outside of the Replit Workspace
Prerequisites
Limitations
- →App must listen on 0.0.0.0 to be reachable from Webview
- →Agent is limited to 200 minutes of autonomous work
How it compares
It provides specific configuration for Replit's unique environment-aware database routing and port mapping rather than generic local development setups.
Compared to similar skills
replit-local-dev-loop side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| replit-local-dev-loop (this skill) | 1 | 25d | Review | Intermediate |
| browser-tools | 6 | 9mo | Review | Intermediate |
| browser-extension-builder | 6 | 6mo | No flags | Intermediate |
| obsidian-data-handling | 4 | 25d | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
browser-tools
Whamp
Lightweight Chrome automation toolkit with shared configuration, JSON-first output, and six focused scripts for starting, navigating, inspecting, capturing, evaluating, and cleaning up browser sessions.
browser-extension-builder
davila7
Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing. Use when: browser extension, chrome extension, firefox addon, extension, manifest v3.
obsidian-data-handling
jeremylongshore
Implement vault data backup, sync, and recovery strategies. Use when building backup features, implementing data export, or handling vault synchronization in your plugin. Trigger with phrases like "obsidian backup", "obsidian sync", "obsidian data export", "vault backup strategy".
playwright-mcp-dev
microsoft
Explains how to add and debug playwright MCP tools and CLI commands.
upgrading-expo
sickn33
Upgrade Expo SDK versions
pnpm
antfu
Node.js package manager with strict dependency resolution. Use when running pnpm specific commands, configuring workspaces, or managing dependencies with catalogs, patches, or overrides.