README added by Robert Dickinson via Comet.
This repository (originally scaffolded as ruby-canvas) is an ICM Ruby Studio — a web-based editor and workspace for writing and exploring Ruby scripts used with InfoWorks ICM's UI/Exchange scripting. It pairs a landing experience with an in-browser code editor and uses Supabase for backend storage/integration.
It is part of the SWMMEnablement collection and is built on a modern Vite + React + TypeScript frontend styled with Tailwind CSS and shadcn/ui.
| Area | Description |
|---|---|
src/components/editor/ |
In-browser Ruby script editor components |
src/components/landing/ |
Landing page sections |
src/components/ui/ |
shadcn/ui reusable UI primitives |
src/pages/ |
Application page views |
src/integrations/ |
Supabase client and integration code |
src/hooks/, src/lib/ |
Custom React hooks and utilities |
supabase/ |
Supabase project config and backend functions |
public/ |
Static assets |
| Layer | Technology |
|---|---|
| Language | TypeScript |
| Framework | React |
| Build tool | Vite |
| Styling | Tailwind CSS |
| UI components | shadcn/ui |
| Backend | Supabase |
# Clone the repository
git clone https://github.com/SWMMEnablement/ruby-canvas.git
cd ruby-canvas
# Install dependencies
npm install
# Start the development server
npm run devThen open the local URL printed by Vite (typically http://localhost:5173) in your browser.
Note: This project integrates with Supabase. Configure the required environment variables (see
.env) with your own Supabase project URL and keys before running against a live backend.
# Build for production
npm run build
# Preview the production build
npm run previewNo license file is currently included. Contact the SWMMEnablement organization regarding reuse.