Files
zeekay 1b367e2b62 chore: rebase the tree onto upstream master
The tree was a debranded snapshot of upstream taken around 2026-02-20, and
upstream has moved about five months since. This replaces it with upstream
master, mechanically re-derived: bin/debrand does the rename, and the
pipeline and squashed migrations are restored from the shipped tree.

Not a merge. The previous import replaced the tree wholesale in a single
commit, so there is no shared content history to merge against. Reproducing
the rename on the new tree is what actually converges.

What survives: .hanzo/workflows, the Dockerfiles and bin/docker* entrypoints,
compose files, LLM.md, and insights/migrations. The squashed initial
migration is load-bearing — the live database records it by name, so
upstream's ~918 individual migrations cannot come back.

Nine products are dropped as unreferenced. Twenty-one more that we do not run
are kept anyway because the core app still imports them; unpicking those is a
refactor and does not belong in a rebase.

This base does not build yet, and the reasons are not in the rename:
upstream now wants Python 3.13.13 against our 3.12.12 and Django 5.2 against
our 4.2, and the dependency manifests still name upstream packages that we
republish under our own names. Those are decisions, not renames.
2026-08-01 15:44:40 -07:00

4.0 KiB
Raw Permalink Blame History

title, sidebar, showTitle
title sidebar showTitle
Project structure Docs true

Note: This page refers to our main product repository, not our website.

Directory tree

.
├── bin              # Shell scripts wrapped by insightscli, the unified developer CLI
├── common           # Shared code: Insights SQL parser, ScriptVM, shared UI packages
├── tools            # Developer/CI tooling (insightscli framework, insightscli-commands, openapi-codegen, ...)
├── ee               # Enterprise platform package features (separate license)
├── frontend         # React/TypeScript frontend application
│   └── src
│       └── layout   # App layout components (navigation, sidebars)
│       └── lib      # Reusable components and utilities
│       └── scenes   # Page-specific components
│       └── queries  # Query builder components
│       └── toolbar  # Insights Toolbar code
├── livestream       # Golang service for live events API
├── playwright       # End-to-end tests using Playwright
├── nodejs           # Node.js service for event ingestion and plugins
├── insights          # Django backend application
│   └── api          # REST API endpoints
│   └── datastore   # Datastore database interactions
│   └── insightsql        # InsightsQL query language implementation
│   └── models       # Django ORM models
│   └── tasks        # Celery background tasks
├── products         # Product-specific code (vertical slices)
└── rust             # High-performance Rust services

*Selected subdirectories only

Key directories

frontend

The Insights web application, built with React and TypeScript. Uses Kea for state management.

  • src/lib – Reusable components and utilities
  • src/scenes – Page-specific components organized by feature
  • src/queries – Query builder and data visualization components
  • src/toolbar – Code for the Insights Toolbar

insights

The Django backend application. Key subdirectories:

  • api – REST API endpoints and serializers
  • datastore – Datastore schema definitions and migrations
  • insightsql – Insights SQL query language compiler and executor
  • models – Django ORM models (PostgreSQL)
  • tasks – Celery background tasks

products

Product-specific code organized as vertical slices. Each product folder contains its own backend (Django app), frontend (React), and optionally shared code. This structure allows features to evolve independently.

See the products README for detailed conventions.

nodejs

Node.js service responsible for:

  • Event ingestion and processing
  • Running plugins and data pipelines
  • Webhook delivery

rust

High-performance Rust services including:

  • capture – Event capture endpoint
  • feature-flags – Feature flag evaluation
  • cymbal – Error tracking symbolication
  • Various workers and utilities

common

Shared code used across the codebase:

  • insightsql_parser – Insights SQL parser (C++)
  • scriptvm – Script virtual machine
  • tailwind – Shared Tailwind configuration

tools

Developer and CI tooling, not imported by runtime code:

  • insightscli – Developer CLI framework (PyPI-publishable)
  • insightscli-commands – Insights-specific insightscli commands
  • openapi-codegen – OpenAPI client/spec generation
  • (and others — see tools/)

ee

Enterprise edition licensed features. This directory has a separate license - not MIT. For 100% FOSS code, see Insights/insights-foss.

playwright

End-to-end tests using Playwright. Tests live in the e2e/ subdirectory.

livestream

Golang service powering the live events feed in the Activity tab.