npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

spine-framework

v0.3.145

Published

Multi-tenant, modular application platform for modern SaaS systems

Readme

Spine Framework

A complete enterprise application platform built on Supabase + Netlify + React for building scalable multi-tenant SaaS applications with an extensible app ecosystem.


Quick Start

Prerequisites

1. Install and scaffold

mkdir my-app && cd my-app
npm install spine-framework@latest
npx spine-framework init

This scaffolds the full project structure, copies all framework files, and writes a .env template.

2. Configure your environment

Edit .env with your Supabase credentials:

SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
SUPABASE_DB_PASSWORD=your-database-password

Get these from your Supabase dashboard.
SUPABASE_DB_PASSWORD is under Settings → Database.

3. Apply database migrations

npx spine-framework migrate

This creates all tables, RLS policies, functions, and seeds system data. Safe to re-run on an existing project — migrations are idempotent.

4. Start the development server

npm install && npm run assemble && netlify dev

Your app is now running at http://localhost:8888.


CLI Reference

All commands run via npx spine-framework <command>.

| Command | Description | |---------|-------------| | init | Scaffold a new project in the current directory | | migrate | Apply framework SQL migrations to your Supabase project | | migrate --dry-run | Preview pending migrations without applying | | migrate --db-password <pw> | Pass DB password directly instead of reading from .env | | status | Show installed apps and framework version |


Project Structure

After init, your project looks like this:

my-app/
├── .env                        # Your credentials (never commit this)
├── .framework/                 # Framework core (do not edit)
│   ├── cli/                    # CLI commands
│   ├── functions/              # Serverless API functions
│   ├── migrations/             # SQL migrations
│   ├── src/                    # React frontend core
│   └── scripts/                # Build scripts
├── custom/                     # Your custom apps and extensions
│   └── apps/                   # App packages go here
├── config/                     # Vite, TypeScript, Tailwind config
├── scripts/                    # Project-level build scripts
├── netlify.toml                # Netlify configuration
└── package.json

Architecture

  • Multi-tenant: Account hierarchy with inherited access and RLS-enforced isolation
  • Role-based access control: Fine-grained permissions via database-enforced policies
  • App ecosystem: Install, manage, and build custom applications on the framework
  • Serverless API: Netlify Functions handle all backend logic
  • Real-time: Supabase Realtime for live updates
  • AI integration: Native support for AI agents and pipeline automation

Database Schema

| Table group | Tables | |-------------|--------| | Identity | accounts, people, roles | | Runtime | items, threads, messages, links, attachments, watchers | | Apps | apps, types, pipelines, triggers | | AI | ai_agents, embeddings, prompt_configs | | System | api_keys, logs, integrations, timers |


Building Custom Apps

Create your own applications and place them in custom/apps/:

// custom/apps/my-app/index.tsx
export default function MyApp() {
  return <div>Hello from My App</div>
}

Add custom database migrations in custom/migrations/:

-- custom/migrations/001_my_app.sql
CREATE TABLE IF NOT EXISTS my_app_records (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  account_id uuid NOT NULL REFERENCES public.accounts(id),
  title text NOT NULL,
  created_at timestamptz DEFAULT now()
);

ALTER TABLE my_app_records ENABLE ROW LEVEL SECURITY;

Custom migrations are picked up automatically by npx spine-framework migrate.


Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | SUPABASE_URL | Yes | Your Supabase project URL | | SUPABASE_ANON_KEY | Yes | Supabase anon/public key | | SUPABASE_SERVICE_ROLE_KEY | Yes | Supabase service role key (server-side only) | | SUPABASE_DB_PASSWORD | Yes (migrate) | Postgres database password |


Deployment

# Build and deploy to Netlify
npm run assemble
netlify deploy --prod

Contributing

git clone https://github.com/spine-framework/spine-framework.git
cd spine-framework
npm install
npm run dev

See docs/ARCHITECTURE.md for internals and docs/APPS.md for the app development guide.


License

Licensed under the Spine Framework Internal Use License.

  • Free for internal business use
  • Commercial redistribution requires a separate license
  • Contact spine-framework.com for commercial licensing

Support