From d631075418ef1c6e761ef5636a3075d95e6c3c30 Mon Sep 17 00:00:00 2001 From: Waleed Latif Date: Thu, 6 Mar 2025 02:06:35 -0800 Subject: [PATCH] feat: update README.md and CONTRIBUTING.md --- CONTRIBUTING.md | 23 ++++-------- README.md | 94 +++++++++++++++++-------------------------------- 2 files changed, 39 insertions(+), 78 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d96254536..e00186135 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -17,7 +17,7 @@ Thank you for your interest in contributing to Sim Studio! Our goal is to provid - [License](#license) - [Adding New Blocks and Tools](#adding-new-blocks-and-tools) - [Local Storage Mode](#local-storage-mode) -- [CLI](#cli) +- [Standalone Build](#standalone-build) --- @@ -398,7 +398,7 @@ Happy coding! Sim Studio supports a local storage mode that uses the browser's localStorage instead of a database. This is particularly useful for: - Quick demos and testing -- Using the `npx simstudio` CLI +- Using the `npx simstudio` command - Development without setting up a database - Creating shareable examples @@ -413,22 +413,11 @@ All data will be stored in the browser's localStorage. This means: - Different browsers (Chrome vs. Firefox) will have separate data stores - Database migrations and schema changes won't affect local storage -### Developing the CLI - -Sim Studio includes a CLI package that allows users to quickly start the application with `npx simstudio`. To develop the CLI: - -1. Build the CLI: `npm run cli:build` -2. Test the CLI: `npm run cli:start` -3. Make changes in the `packages/@simstudio/cli` directory -4. Publish new versions: `npm run cli:publish` (requires npm permissions) - -The CLI automatically enables local storage mode when running. - -### Building the Standalone Version +### Standalone Build The `npx simstudio` command downloads and runs a pre-built standalone version of Sim Studio. To build this standalone version: -1. Run `npm run build:standalone` from the project root +1. Run `node scripts/build-standalone.js` from the project root 2. This creates a tarball (`sim-standalone.tar.gz`) containing: - A pre-built static export of the Next.js application @@ -437,9 +426,9 @@ The `npx simstudio` command downloads and runs a pre-built standalone version of 3. To release a new version: - Upload the tarball to a GitHub release - - Update the `DOWNLOAD_URL` in `packages/@simstudio/cli/src/commands/start.ts` + - Update the `DOWNLOAD_URL` in `packages/simstudio/src/commands/start.ts` - Update the `STANDALONE_VERSION` constant if needed - - Publish the CLI package: `npm run cli:publish` + - Publish the package: `npm run publish-cli` --- diff --git a/README.md b/README.md index 3fe5b6c46..1b3207c91 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Twitter](https://img.shields.io/twitter/follow/simstudio?style=social)](https://x.com/simstudioai) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) -**Sim Studio** is a powerful, user-friendly platform that allows developers and agents to build, test, and optimize agentic workflows. +**Sim Studio** is a powerful, user-friendly platform for building, testing, and optimizing agentic workflows. ## Run @@ -11,19 +11,18 @@ ## Quick Start -### Try Instantly with npx - -Sim Studio now supports a quick start option with zero installation required: +### Try Instantly With Zero Installation ```bash npx simstudio ``` -This downloads and runs Sim Studio with browser localStorage for data persistence. Visit http://localhost:3000 to start building workflows immediately! +This instantly runs Sim Studio on your local machine with data stored in your browser's localStorage. +Visit http://localhost:3000 to start building your workflows right away! -### Docker Setup (For Development) +### Development Setup -For a full development environment with database support: +#### Option 1: Docker Environment (Recommended) ```bash # Clone the repository @@ -31,89 +30,62 @@ git clone https://github.com/YOUR_USERNAME/sim.git cd sim # Start the Docker environment +docker compose up -d +# Or use the helper script ./scripts/start_simstudio_docker.sh ``` -### VS Code Dev Container +#### Option 2: [Cursor](https://cursor.sh) / [VS Code](https://code.visualstudio.com) Dev Containers For the best development experience: -1. Install the VS Code Remote - Containers extension -2. Open the project in VS Code -3. Click "Reopen in Container" when prompted -4. Run `sim-start` in the terminal +1. Install [Cursor](https://cursor.sh) or [VS Code](https://code.visualstudio.com) +2. Install the [Remote - Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) +3. Open the project in Cursor or VS Code +4. Click "Reopen in Container" when prompted +5. Run `npm run dev` in the terminal -## Development Options +#### Option 3: Manual Setup -### Option 1: Docker (Recommended) +If you prefer not to use Docker or Dev Containers: -The quickest way to get started with development: +1. **Install Dependencies** ```bash -docker compose up -d -``` +# Clone the repository +git clone https://github.com/YOUR_USERNAME/sim.git +cd sim -Or use the convenience script for automatic setup: - -```bash -chmod +x scripts/start_simstudio_docker.sh -./scripts/start_simstudio_docker.sh -``` - -### Option 2: VS Code / Cursor Dev Containers - -For a great development experience with VS Code or Cursor: - -1. **Install Prerequisites** - - - Visual Studio Code - - Docker Desktop - - Remote - Containers extension for VS Code - -2. **Open in Container** - - - Open the project in VS Code - - When prompted, click "Reopen in Container" (or use F1 → "Remote-Containers: Reopen in Container") - - Wait for the container to build and initialize - -3. **Start Developing** - - The container automatically sets up your environment - - Type `sim-start` in the terminal to run the development server - -This method works with GitHub Codespaces too - just click "Code" → "Codespaces" → "Create codespace on main". - -### Option 3: Manual Setup - -If you prefer not to use Docker: - -1. **Install dependencies** - -```bash +# Install dependencies npm install ``` -2. **Set up environment variables** +2. **Set Up Environment** -Copy `.env.example` to `.env` and configure: +```bash +# Copy .env.example to .env +cp .env.example .env -- Database connection (PostgreSQL) -- Authentication secret -- Email provider (Resend) +# Configure your .env file with: +# - Database connection (PostgreSQL) +# - Authentication settings +``` -3. **Set up the database** +3. **Set Up Database** ```bash # Push the database schema npx drizzle-kit push ``` -4. **Start the development server** +4. **Start Development Server** ```bash +# Start the development server npm run dev ``` -5. **Open [http://localhost:3000](http://localhost:3000)** +5. **Open [http://localhost:3000](http://localhost:3000) in your browser** ## Tech Stack