HierarchiDB is a web application designed for people who need to organise rich, hierarchical data without getting lost in tabs, spreadsheets, or GIS consoles. From project plans to geospatial assets, the app keeps everything in a single tree so you can browse, edit, and present information exactly the way your team thinks about it.
- Navigate complex hierarchies with confidence: Drag-and-drop folders, undo/redo any action, and rely on automatic saves to keep your structure intact while you explore ideas.
- Work the way your data demands: Enable plugins only when you need them—switch between maps, spreadsheets, timelines, and project nodes without changing tools.
- Stay productive on any connection: Once the app is loaded you can keep working offline; changes live in IndexedDB until you are ready to export or share them.
- Collaborate without chaos: Real-time co-editing, granular roles, and threaded comments help teams move quickly while preserving accountability.
- Build unlimited trees with folder, project, and custom plugin nodes.
- Use the breadcrumb trail, keyboard shortcuts, and quick actions to jump across deep hierarchies in seconds.
- Update properties from the detail panel and keep context with breadcrumb navigation and history tools.
- Maps: Combine basemaps, shapes, and styling layers to visualise locations, routes, and territories directly alongside documents.
- Spreadsheets: Manage tabular data with CSV/Excel import, column mapping, and formula-friendly editing without leaving the tree.
- Linker workspaces: Assemble curated collections of compiled assets and launch ready-to-share map views instantly.
- Invite teammates with role-based access, from read-only reviewers to project owners.
- Co-edit in real time with presence indicators, live cursors, and conflict resolution tools.
- Open comment threads on any node, mention stakeholders, and attach files to keep discussions in context.
- Automatic version history gives you confidence to experiment—roll back or compare changes whenever you need.
- Import and export entire trees or selected branches in JSON, CSV, Excel, PDF, HTML, and GeoJSON formats to stay compatible with external systems.
- Configure personal settings for language, light/dark theme, and notification preferences so the workspace feels like yours.
- Sign in and pick a language: Access HierarchiDB in your browser and choose Japanese or English from the settings menu.
- Create your first tree: Start a project, add folders and plugin nodes, and rearrange them with drag-and-drop.
- Add content with plugins: Drop in a Linker node for a curated map view, a Spreadsheet node for data entry, or a Shape node to sketch geometry on top of a basemap.
- Invite collaborators: Share access from the team panel, assign roles, and kick off a discussion with comments or mentions.
- Export a snapshot: When you are ready to share outside the app, export the relevant branch in the format your audience needs.
- Planning and documentation: Use project folders to keep briefs, decisions, and reference material structured and searchable.
- Operations and fieldwork: Combine geospatial layers with spreadsheets to track assets, routes, and site notes in one place.
- Publishing and reviews: Curate Linker workspaces to showcase the latest compiled maps, then hand over an export or invite reviewers for live feedback.
- Keyboard shortcuts for navigation, creation, and editing keep power users in flow.
- Help icons in the header link directly to documentation, so answers are always one click away.
- Runtime flags let administrators toggle experimental plugins or tailor the experience for specific teams.
Dive deeper with the in-app documentation located under app/docs/:
- Getting started
- Basic operations
- Navigation tips
- Plugin guides including Linker, map, and spreadsheet tools
- Import & export workflows
- Collaboration and permissions
- Settings, shortcuts, and troubleshooting
- Monorepo layout:
app/(React + Vite shell, plugin loader, worker entry) sits alongsidepackages/(runtime services, UI host/SDK, tooling) andplugins/(feature packages that ship UI/worker/icon/database entries). Shared docs and scripts live indocs/,config/, andscripts/env. - Plugin registry as single source of truth: Each plugin declares
hierarchidb.pluginmetadata in itspackage.json. Runpnpm tools:gen-plugin-registryto aggregate definitions into@hierarchidb/plugin-registryandapp/src/plugin-registry, then UI/worker/icon/database loaders import from the same registry viaimport.meta.globfor consistent resolution. - UI ↔ Worker bridge:
@hierarchidb/runtime-workerwires plugin worker modules and Dexie stores;@hierarchidb/plugin-ui-hostandplugin-ui-sdkprovide MultiStep dialog scaffolding, Jotai-based working copy state, and Comlink RPC helpers. WorkerProvider injects the bridge so dialogs stay in sync without bespoke messaging. - Tooling baseline:
pnpm+turboorchestrate builds/tests;tsdown(configured attsdown.config.ts) is the unified bundler for packages and plugins. TypeScript paths point tosrc/only, with NodeNext resolution and project references to generate.d.tsbefore consumers compile.
- Install and validate:
pnpm install --frozen-lockfile→pnpm lint && pnpm format && pnpm typecheck && pnpm test. Usepnpm --filter @hierarchidb/<pkg> <task>for targeted checks (e.g.,typecheck,build,test). - Run locally:
pnpm devloads env fromscripts/env/development.shand starts the app worker shell;pnpm dev:with-watchkeeps Turbo build/watch and Vite aligned. For production-like checks usepnpm buildthenpnpm preview. - Plugin lifecycle: add metadata, implement
src/{ui,worker,icon,shared}entries, regenerate the registry, and ensure loaders resolve in both UI and worker contexts. Keep feature toggles default-off and document them underconfig/feature-flags.ts. - Tests and coverage: unit suites live beside sources in
packages/*/src/__tests__/andplugins/*-plugin/src/**/__tests__/; worker flows run viapackages/runtime-worker/src/__tests__/wfl/; Playwright smoke tests live ine2e/.
- Ship small, reversible changes behind default-off flags; record branch and task status in the linked GitHub Issue and Project before editing.
- Prefer registry regeneration + targeted package builds over ad-hoc path tweaks; if a change regresses, revert the touched files and rerun the same
pnpmcommands you used for verification. - Default validation set before review:
pnpm lint && pnpm format && pnpm typecheck && pnpm test(or scoped equivalents), plus any package-specific checks you touched.
- Stabilise NodeNext type graphs and keep
tsdownas the single bundler across packages/plugins. - Maintain a single plugin registry source, ensuring UI and worker loaders stay in lockstep after new plugins or schema changes.
- Keep feature flags and rollback notes current in the linked GitHub Issue, and expand tests around plugin dialogs and worker flows as new capabilities land.
HierarchiDB puts every layer of your project within reach—so you and your team can plan, analyse, and deliver without friction.