Start here

Last updated on Jul 14, 2026

Firestruct is a native Firebase workspace for macOS. It connects to Firebase projects and emulators, lets users inspect and manage Firestore/Auth/Storage data, and adds guarded workflows for tasks such as imports, exports, transfers, push testing, seeding, migrations, and point-in-time recovery.

Implementation completion is evidence-based: Firebase behavior must be proven with emulator runs or approved live Firebase verification. Mock-only proof is not enough for user-facing workflows.

Start Here

  • Foundation and App Shell: workspace layout, collapsible sidebar trees, tabs, split view, output modes, feature flags, and command palette.
  • Project Registry: linking projects, selecting environments, emulator setup, read-only mode, and local project state.
  • Firestore: queries, JS scripts, table/tree/json/log views, emulator-proven CRUD/import/export/transfer/backups, live request-shape guardrails, and schema tools.
  • Auth: user search, filtering, editing, custom claims, bulk actions, import/export/transfer, scripts, and Auth-to-Firestore linking.
  • Storage: emulator-proven bucket browsing, upload/download/delete, folder and multi-selection workflows, ZIP and URL actions, thumbnails, guarded production controls, and Auth photo URL handoff.
  • Push: FCM payload validation, token resolution, simulated sends, and guarded send attempts.
  • PITR Recovery: point-in-time request shape, current vs historical diff output, and guarded restore prep while live proof remains open.
  • Index Advisor: deterministic query/index comparison, local index checks, and captured backend-link parsing while live missing-index UI proof remains open.
  • Seed Studio: deterministic fixture generation, emulator seed snapshots, and drift comparison against current emulator data.
  • Tasks: queue, progress, counters, errors, and retry visibility for long-running work.
  • Migrations: Fireway file and Firestore migration status inspection.
  • Workspace Link: local Firebase workspace link, rules/index viewing, diffing, and guarded deploy prep.
  • Support: in-app Chatwoot support.
  • Purchases and Pro Access: entitlement model and gated actions.

Operator and maintainer references:

Every module also has a cli.md page. CLI support includes project/module and Firestore-database selection; Firestore querying, backups, import/export/transfer, scripts, embeddings, schema, and writes; Auth administration, per-project tenant discovery/selection, and Auth-to-Firestore route management/resolution; Storage object/folder/bulk workflows; Tasks history; Index Advisor; Seed Studio; Workspace Link; PITR; Push; Migrations; and release-evidence preflight.

Basic Concepts

Project: a local link to a Firebase or emulator target. Firestruct stores display name, Firebase project ID, environment, read-only status, emulator endpoints, selected Firestore database, color tag, and module settings.

Environment: the target type: emulator, development, or production. Production mutations and deploys require explicit confirmation.

Module: a workspace area such as Firestore, Auth, Storage, Tasks, or Index Advisor. GUI modules open in tabs and may expose output modes.

Output mode: a result view such as TABLE, TREE, JSON, LOGS, or Storage BROWSER.

Task: a queued long-running operation with status, progress, counters, duration, errors, and retry controls.

Read-only project: a project guardrail that blocks writes and destructive actions.

Pro-gated action: a paid capability such as writes, deletes, imports, exports, uploads, deploys, scripts, transfers, and saved local workflows.

Simple query: a Firestore query built from path, filters, ordering, and limit.

JS Query / script: a local JavaScript run() workflow with Firestruct's Admin SDK-style local shim, structured results, and captured logs.

Workspace link: a local Firebase repo association using files such as firebase.json and .firebaserc.

Safety Defaults

  • Show target project and environment before every mutation.
  • Require explicit confirmation for production writes, destructive operations, deploys, seed applies, migration applies, and push sends.
  • Validate same-project move and rename paths before running.
  • Make overwrite behavior visible before confirmation.
  • Run long imports, exports, transfers, deploys, seeds, migrations, and recursive mutations through Tasks.
  • Keep credentials and Firebase data local to the user's machine.