Source: https://seerepo.com/r/gastownhall/beads/built
Markdown source: https://seerepo.com/r/gastownhall/beads/built.md
Description: beads is a Go repo built with net/http and fastmcp. It stores its data in MySQL and SQLite and uses AI through Anthropic.

# What is beads built with?

beads is a Go repo built with net/http and fastmcp. It stores its data in MySQL and SQLite, uses AI through Anthropic, makes its content with github.com/JohannesKaufmann/html-to-markdown/v2, github.com/microcosm-cc/bluemonday, and github.com/yuin/goldmark, validates its data with Pydantic and github.com/invopop/jsonschema, is tested with github.com/DATA-DOG/go-sqlmock, github.com/stretchr/testify, github.com/testcontainers/testcontainers-go, and github.com/testcontainers/testcontainers-go/modules/dolt, deploys with OpenTelemetry, go.opentelemetry.io/otel/trace, go.opentelemetry.io/otel/metric, go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, go.opentelemetry.io/otel/exporters/stdout/stdoutmetric, and 2 more, and uses go-sqlite3. It has 1,299,687 written lines, with 2,621 test files.

Read on November 8, 2026, at commit 2edea9c.

Repository: https://github.com/gastownhall/beads

## Frontend

### Styles

- **[charm.land/lipgloss/v2](https://seerepo.com/uses/charmland-lipgloss-v2)**: 2 files

### Interface

- **charm.land/glamour/v2**: 1 file
- **charm.land/huh/v2**: 1 file

## Backend

### The base

- **[net/http](https://seerepo.com/uses/net-http)**

### Data

- **[go-sqlite3](https://seerepo.com/uses/go-sqlite3)**
- **[MySQL](https://seerepo.com/uses/mysql)**: 16 files · [internal/storage/dolt/store.go, line 37](https://github.com/gastownhall/beads/blob/2edea9ced8c6f6124b6c157896ae53a0e09ff7be/internal/storage/dolt/store.go#L37)
- **[SQLite](https://seerepo.com/uses/sqlite)**: 2 files · [internal/migration/legacysqlite/reader.go, line 24](https://github.com/gastownhall/beads/blob/2edea9ced8c6f6124b6c157896ae53a0e09ff7be/internal/migration/legacysqlite/reader.go#L24)

### Services

- **[Anthropic](https://seerepo.com/uses/anthropic)**: 2 files · [internal/compact/haiku.go, line 14](https://github.com/gastownhall/beads/blob/2edea9ced8c6f6124b6c157896ae53a0e09ff7be/internal/compact/haiku.go#L14)

## Support

### The base

- **[fastmcp](https://seerepo.com/uses/fastmcp)**: 1 file

### Content

- **github.com/JohannesKaufmann/html-to-markdown/v2**: 1 file
- **[github.com/microcosm-cc/bluemonday](https://seerepo.com/uses/githubcom-microcosm-cc-bluemonday)**: 1 file
- **[github.com/yuin/goldmark](https://seerepo.com/uses/githubcom-yuin-goldmark)**: 1 file

### Validation

- **[Pydantic](https://seerepo.com/uses/pydantic)**: 2 files
- **[github.com/invopop/jsonschema](https://seerepo.com/uses/githubcom-invopop-jsonschema)**: 1 file

### Testing

- **github.com/DATA-DOG/go-sqlmock**: 116 files
- **github.com/stretchr/testify**: 52 files
- **github.com/testcontainers/testcontainers-go**: 4 files
- **github.com/testcontainers/testcontainers-go/modules/dolt**: 3 files

### Deploy

- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 16 files
- **[go.opentelemetry.io/otel/trace](https://seerepo.com/uses/goopentelemetryio-otel-trace)**: 10 files
- **[go.opentelemetry.io/otel/metric](https://seerepo.com/uses/goopentelemetryio-otel-metric)**: 8 files
- **[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp](https://seerepo.com/uses/goopentelemetryio-otel-exporters-otlp-otlpmetric-otlpmetrichttp)**: 1 file
- **go.opentelemetry.io/otel/exporters/stdout/stdoutmetric**: 1 file
- **[go.opentelemetry.io/otel/sdk](https://seerepo.com/uses/goopentelemetryio-otel-sdk)**: 1 file
- **[go.opentelemetry.io/otel/sdk/metric](https://seerepo.com/uses/goopentelemetryio-otel-sdk-metric)**: 1 file

### Tools

- **github.com/spf13/cobra**: 189 files
- **golang.org/x/mod**: 3 files

### Other

- **golang.org/x/sys**: 24 files
- **golang.org/x/term**: 14 files
- **gopkg.in/yaml.v3**: 11 files
- **github.com/cenkalti/backoff/v4**: 10 files
- **github.com/BurntSushi/toml**: 5 files
- **github.com/spf13/pflag**: 3 files
- **github.com/spf13/viper**: 3 files
- **golang.org/x/net**: 3 files
- **[Google](https://seerepo.com/uses/google)**: 3 files
- **github.com/charmbracelet/x/ansi**: 2 files
- **golang.org/x/sync**: 2 files
- **github.com/creack/pty**: 1 file
- **github.com/olebedev/when**: 1 file
- **github.com/subosito/gotenv**: 1 file
- **go.opentelemetry.io/otel/exporters/stdout/stdouttrace**: 1 file
- **pydantic-settings**: 1 file

## Other repos with a similar stack

- [alibaba/open-code-review](https://seerepo.com/r/alibaba/open-code-review/built): net/http, Anthropic, charm.land/lipgloss/v2, OpenTelemetry, go.opentelemetry.io/otel/trace, go.opentelemetry.io/otel/metric, go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, go.opentelemetry.io/otel/sdk, go.opentelemetry.io/otel/sdk/metric · [Compare](https://seerepo.com/compare/alibaba/open-code-review/vs/gastownhall/beads)
- [The-Vibe-Company/quivr](https://seerepo.com/r/The-Vibe-Company/quivr/built): net/http, Pydantic, OpenTelemetry, go.opentelemetry.io/otel/metric, go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp, go.opentelemetry.io/otel/sdk, go.opentelemetry.io/otel/sdk/metric · [Compare](https://seerepo.com/compare/gastownhall/beads/vs/The-Vibe-Company/quivr)
- [mudler/LocalAI](https://seerepo.com/r/mudler/LocalAI/built): net/http, SQLite, github.com/microcosm-cc/bluemonday, OpenTelemetry, go.opentelemetry.io/otel/metric, go.opentelemetry.io/otel/sdk/metric · [Compare](https://seerepo.com/compare/gastownhall/beads/vs/mudler/LocalAI)
- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): net/http, MySQL, github.com/yuin/goldmark, OpenTelemetry, go.opentelemetry.io/otel/trace · [Compare](https://seerepo.com/compare/gastownhall/beads/vs/infiniflow/ragflow)
- [traefik/traefik](https://seerepo.com/r/traefik/traefik/built): OpenTelemetry, go.opentelemetry.io/otel/trace, go.opentelemetry.io/otel/metric, go.opentelemetry.io/otel/sdk, go.opentelemetry.io/otel/sdk/metric · [Compare](https://seerepo.com/compare/gastownhall/beads/vs/traefik/traefik)
- [go-gitea/gitea](https://seerepo.com/r/go-gitea/gitea/built): go-sqlite3, MySQL, SQLite, github.com/microcosm-cc/bluemonday, github.com/yuin/goldmark · [Compare](https://seerepo.com/compare/gastownhall/beads/vs/go-gitea/gitea)

## Frequently asked questions

### What language is beads written in?

beads is written in Go, with 1,299,687 written lines.

### What framework does beads use?

beads is built with net/http and fastmcp.

### What database does beads use?

beads stores its data in MySQL and SQLite.

The proof: [internal/storage/dolt/store.go, line 37](https://github.com/gastownhall/beads/blob/2edea9ced8c6f6124b6c157896ae53a0e09ff7be/internal/storage/dolt/store.go#L37)

### Does beads use AI?

Yes. beads uses AI through Anthropic.

The proof: [internal/compact/haiku.go, line 14](https://github.com/gastownhall/beads/blob/2edea9ced8c6f6124b6c157896ae53a0e09ff7be/internal/compact/haiku.go#L14)

### What services does beads use?

beads uses go-sqlite3.

### Does beads have tests?

Yes. beads has 2,621 test files and is tested with github.com/DATA-DOG/go-sqlmock, github.com/stretchr/testify, github.com/testcontainers/testcontainers-go, and github.com/testcontainers/testcontainers-go/modules/dolt.

### Which repos have a stack like beads's?

The ones that share most of its stack: alibaba/open-code-review, The-Vibe-Company/quivr, and mudler/LocalAI.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
