Getting SEAM up and running locally takes just a handful of commands. Because SEAM is a vanilla JavaScript SPA with no JavaScript bundler, the only build step is compiling Tailwind CSS fromDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/TheSerchCp/SEAM/llms.txt
Use this file to discover all available pages before exploring further.
css/tailwind-base.css into css/tailwind.css. Once that file exists, the server.js Node.js HTTP server takes care of serving every asset — JavaScript modules, HTML, images, and fonts — with the correct MIME types and an SPA fallback so client-side hash routing works seamlessly.
Prerequisites
Before you begin, confirm the following are in place:
- Node.js 18+ — SEAM’s
server.jsuses the nativenode --watchflag (available since Node 18) and ES Module syntax ("type": "module"inpackage.json). Check your version:
- A running backend API — SEAM is a frontend-only application. It expects a REST API at
http://localhost:3001/api/v1by default. Start your backend server before (or alongside) SEAM so that login and data requests succeed.
SEAM’s own HTTP server runs on port 3000. Your backend API must run on port 3001 (or you must update
API_BASE in js/config/api.js to match — see Step 6).Clone the repository and install dependencies
Clone the SEAM repository and install the dev dependencies (Tailwind CSS, PostCSS, and nodemon):The
package.json declares only devDependencies — there are no runtime npm packages because server.js relies solely on Node.js built-in modules (http, fs, path).Compile Tailwind CSS
SEAM uses Tailwind CSS v4 compiled by a custom PostCSS build script. Run the one-shot build before starting the server:This executes
build-tailwind.mjs, which reads css/tailwind-base.css, processes it through @tailwindcss/postcss, and writes the output to css/tailwind.css:build-tailwind.mjs
Start the development server
Start the Node.js HTTP server that serves the SPA:You should see:The full list of available scripts is:
| Script | Command | Description |
|---|---|---|
npm start | node server.js | Start the server once |
npm run dev | node --watch server.js | Start with Node’s built-in file watcher |
npm run dev:watch | node --watch server.js | Alias for dev — same built-in watcher |
npm run dev:nodemon | nodemon server.js | Start with nodemon (watches server.js and js/**/*.js) |
npm run build:css | node build-tailwind.mjs | Compile Tailwind CSS once |
npm run build:css:watch | tailwindcss … --watch | Compile Tailwind CSS in watch mode |
Open SEAM in your browser
Navigate to the application in any modern browser:The server resolves
/ to index.html, which bootstraps js/main.js as an ES Module. The router reads the current URL hash and renders the login page at #/login (or redirects to #/home if a valid session already exists in localStorage).Log in and configure the API base URL
Enter your credentials on the login screen. On successful authentication the backend returns a JWT token and Change it to point to any backend, for example a remote staging server:Every repository and service module throughout the codebase imports
sidebarItems; SEAM stores them in localStorage under currentUser and redirects to #/home.If your backend runs on a different host or port, update the single API_BASE constant before starting the server:js/config/api.js
js/config/api.js
API_BASE from this single file, so one edit propagates everywhere. No rebuild is needed for the JavaScript layer — just save the file, refresh the browser, and the new base URL is in effect.