Getting Started
Follow the fastest path for either a source checkout or the packaged macOS app, then verify the first successful launch.
There are two supported ways to get started with Ops. The right path depends on whether you want to modify the app from source or install a packaged macOS desktop app.
Both flows depend on a Supabase connection. The difference is where the connection comes from: source checkouts can use .env.local as a fallback, while installed apps are designed around runtime configuration.
Quick start for a source checkout
Recommended path
Use this path if you are a developer or operator working directly from the repository.
pnpm install
npx polter app setup ops --path .
pnpm ops devPolter performs the important repository-aware work in the middle of that flow. It validates prerequisites, prepares configuration, links the Supabase project, pushes migrations, and writes the runtime bootstrap payload used by the desktop app.
After setup finishes, pnpm ops dev is the only Ops CLI command you normally need for local development.
Quick start for the installed macOS app
Recommended path
Use this path if you want to deploy or test the packaged app without rebuilding Ops locally.
npx @polterware/polter@latest app install opsPolter installs the .app, prepares the runtime Supabase connection payload, and can hand the app off for first launch. The installed app then consumes that payload and stores the runtime connection for later launches.
If you need to pin a specific release, run npx @polterware/polter@latest app install ops --version <version>.
If you need to point the installed app at a different Supabase project later, use the configuration workflow instead of reinstalling from scratch.
Requirements and first successful launch
Base requirements
- Node.js 20+ and pnpm for source-based workflows.
- Supabase CLI for repository setup and migration workflows.
- Rust and Tauri system dependencies only if you are running desktop development from source.
- A reachable Supabase project URL and publishable key.
Confirm the app is ready
Connection exists
The app should either read .env.local in a source checkout or find a runtime connection provided by the installed app workflow.
Sign-in screen loads
You should reach the login flow without a missing configuration error.
Business areas open
After authentication, product catalog, inventory, orders, sales, payments, analytics, and role-based access checks should all resolve against Supabase.