Source: https://seerepo.com/r/vxcontrol/pentagi/built
Markdown source: https://seerepo.com/r/vxcontrol/pentagi/built.md
Description: pentagi is a Go repo built with Gin, github.com/charmbracelet/bubbletea, github.com/gin-contrib/static, Vite, React, and 1 more.

# What is pentagi built with?

pentagi is a Go repo built with Gin, github.com/charmbracelet/bubbletea, github.com/gin-contrib/static, Vite, React, and 1 more. It stores its data in Postgres and HashiCorp, signs people in with github.com/gin-contrib/sessions, golang.org/x/oauth2, github.com/golang-jwt/jwt/v5, github.com/aws/aws-sdk-go-v2/credentials, and github.com/coreos/go-oidc/v3, uses AI through github.com/aws/aws-sdk-go-v2/service/bedrockruntime and Ollama, connects to Google, makes its content with github.com/charmbracelet/glamour, marked, @react-pdf/renderer, @tiptap/markdown, highlight.js, and 4 more, validates its data with github.com/go-playground/validator/v10, github.com/invopop/jsonschema, github.com/xeipuuv/gojsonschema, Zod, and @hookform/resolvers, is tested with github.com/stretchr/testify, Vitest, Testing Library, @playwright/test, and @axe-core/playwright, deploys with github.com/sirupsen/logrus, github.com/moby/moby/client, github.com/moby/moby/api, OpenTelemetry, go.opentelemetry.io/otel/metric, and 10 more, and uses go-sqlite3, pgx, pq, github.com/pgvector/pgvector-go, github.com/pressly/goose/v3, and 3 more. It has 330,671 written lines, with 489 test files.

Read on November 7, 2026, at commit cffed94.

Repository: https://github.com/vxcontrol/pentagi

## Frontend (/)

### Styles

- **[github.com/charmbracelet/lipgloss](https://seerepo.com/uses/githubcom-charmbracelet-lipgloss)**: 14 files

### Interface

- **[github.com/charmbracelet/bubbles](https://seerepo.com/uses/githubcom-charmbracelet-bubbles)**: 14 files
- **github.com/charmbracelet/ultraviolet**: 13 files
- **[github.com/muesli/termenv](https://seerepo.com/uses/githubcom-muesli-termenv)**: 1 file

## Backend (/)

### The base

- **[Gin](https://seerepo.com/uses/gin)**: 33 files

### Data

- **[go-sqlite3](https://seerepo.com/uses/go-sqlite3)**
- **[pgx](https://seerepo.com/uses/pgx)**
- **[pq](https://seerepo.com/uses/pq)**
- **[Postgres](https://seerepo.com/uses/postgres)**: 11 files · [backend/cmd/etester/main.go, line 19](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/backend/cmd/etester/main.go#L19)
- **[HashiCorp](https://seerepo.com/uses/hashicorp)**: 2 files
- **github.com/pgvector/pgvector-go**: 1 file
- **github.com/pressly/goose/v3**: 1 file
- **github.com/sqlc-dev/pqtype**: 1 file
- **[SQLite](https://seerepo.com/uses/sqlite)**: 1 file · [backend/go.mod, line 43](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/backend/go.mod#L43)

### Sign-in

- **github.com/gin-contrib/sessions**: 7 files
- **[golang.org/x/oauth2](https://seerepo.com/uses/golangorg-x-oauth2)**: 4 files
- **[github.com/golang-jwt/jwt/v5](https://seerepo.com/uses/githubcom-golang-jwt-jwt-v5)**: 2 files
- **[github.com/aws/aws-sdk-go-v2/credentials](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2-credentials)**: 1 file
- **[github.com/coreos/go-oidc/v3](https://seerepo.com/uses/githubcom-coreos-go-oidc-v3)**: 1 file

### AI

- **github.com/aws/aws-sdk-go-v2/service/bedrockruntime**: 2 files
- **[Ollama](https://seerepo.com/uses/ollama)**: 1 file

### Services

- **[Google](https://seerepo.com/uses/google)**: 1 file · [backend/pkg/tools/searchers/google.go, line 17](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/backend/pkg/tools/searchers/google.go#L17)

## Support (/)

### The base

- **[github.com/charmbracelet/bubbletea](https://seerepo.com/uses/githubcom-charmbracelet-bubbletea)**: 34 files
- **github.com/gin-contrib/static**: 1 file

### Content

- **github.com/charmbracelet/glamour**: 2 files

### Validation

- **[github.com/go-playground/validator/v10](https://seerepo.com/uses/githubcom-go-playground-validator-v10)**: 2 files
- **github.com/invopop/jsonschema**: 2 files
- **github.com/xeipuuv/gojsonschema**: 1 file

### Testing

- **github.com/stretchr/testify**: 132 files

### Deploy

- **[github.com/sirupsen/logrus](https://seerepo.com/uses/githubcom-sirupsen-logrus)**: 65 files
- **[github.com/moby/moby/client](https://seerepo.com/uses/githubcom-moby-moby-client)**: 12 files
- **[github.com/moby/moby/api](https://seerepo.com/uses/githubcom-moby-moby-api)**: 6 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 4 files
- **[go.opentelemetry.io/otel/metric](https://seerepo.com/uses/goopentelemetryio-otel-metric)**: 3 files
- **go.opentelemetry.io/otel/log**: 2 files
- **[go.opentelemetry.io/otel/trace](https://seerepo.com/uses/goopentelemetryio-otel-trace)**: 2 files
- **[github.com/aws/aws-sdk-go-v2](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2)**: 1 file
- **[github.com/aws/aws-sdk-go-v2/config](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2-config)**: 1 file
- **go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc**: 1 file
- **[go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://seerepo.com/uses/goopentelemetryio-otel-exporters-otlp-otlpmetric-otlpmetricgrpc)**: 1 file
- **[go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://seerepo.com/uses/goopentelemetryio-otel-exporters-otlp-otlptrace-otlptracegrpc)**: 1 file
- **[go.opentelemetry.io/otel/sdk](https://seerepo.com/uses/goopentelemetryio-otel-sdk)**: 1 file
- **go.opentelemetry.io/otel/sdk/log**: 1 file
- **[go.opentelemetry.io/otel/sdk/metric](https://seerepo.com/uses/goopentelemetryio-otel-sdk-metric)**: 1 file

### Tools

- **github.com/aws/smithy-go**: 1 file
- **github.com/swaggo/gin-swagger**: 1 file
- **github.com/swaggo/swag**: 1 file

### Other

- **github.com/charmbracelet/x/ansi**: 16 files
- **golang.org/x/crypto**: 5 files
- **github.com/vektah/gqlparser/v2**: 4 files
- **containerd**: 3 files
- **github.com/joho/godotenv**: 3 files
- **github.com/creack/pty**: 2 files
- **go.opentelemetry.io/proto/otlp**: 2 files
- **gopkg.in/yaml.v3**: 2 files
- **[Docker](https://seerepo.com/uses/docker)**: 1 file
- **github.com/digitalocean/go-smbios**: 1 file
- **github.com/distribution/reference**: 1 file
- **github.com/fatih/color**: 1 file
- **github.com/gin-contrib/cors**: 1 file
- **github.com/gin-contrib/gzip**: 1 file
- **github.com/go-ole/go-ole**: 1 file
- **github.com/gorilla/websocket**: 1 file
- **github.com/mattn/go-runewidth**: 1 file
- **github.com/rivo/uniseg**: 1 file
- **github.com/shirou/gopsutil/v3**: 1 file
- **golang.org/x/net**: 1 file
- **golang.org/x/sync**: 1 file
- **golang.org/x/sys**: 1 file
- **golang.org/x/term**: 1 file
- **google.golang.org/grpc**: 1 file

## Frontend (frontend)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in frontend/package.json](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/frontend/package.json)
- **[React](https://seerepo.com/uses/react)**: 186 files · [in frontend/package.json](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/frontend/package.json)
- **[react-router-dom](https://seerepo.com/uses/react-router-dom)**: 39 files

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 10 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[sonner](https://seerepo.com/uses/sonner)**: 37 files
- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 27 files
- **[tiptap](https://seerepo.com/uses/tiptap)**: 23 files
- **[React Hook Form](https://seerepo.com/uses/react-hook-form)**: 19 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 9 files
- **[xterm](https://seerepo.com/uses/xterm)**: 5 files
- **[motion](https://seerepo.com/uses/motion)**: 3 files
- **[cmdk](https://seerepo.com/uses/cmdk)**: 2 files
- **[lowlight](https://seerepo.com/uses/lowlight)**: 2 files
- **[recharts](https://seerepo.com/uses/recharts)**: 2 files
- **[react-day-picker](https://seerepo.com/uses/react-day-picker)**: 1 file
- **react-diff-viewer-continued**: 1 file
- **[react-resizable-panels](https://seerepo.com/uses/react-resizable-panels)**: 1 file
- **[react-textarea-autosize](https://seerepo.com/uses/react-textarea-autosize)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 98 files

## Backend (frontend)

### Data

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

## Support (frontend)

### Content

- **[marked](https://seerepo.com/uses/marked)**: 4 files
- **@react-pdf/renderer**: 1 file
- **[@tiptap/markdown](https://seerepo.com/uses/tiptap-markdown)**: 1 file
- **[highlight.js](https://seerepo.com/uses/highlightjs)**: 1 file
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file
- **[rehype-highlight](https://seerepo.com/uses/rehype-highlight)**: 1 file
- **rehype-slug**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 27 files
- **[@hookform/resolvers](https://seerepo.com/uses/hookform-resolvers)**: 10 files

### Testing

- **Vitest**: 119 files
- **Testing Library**: 59 files
- **@playwright/test**: 42 files
- **@axe-core/playwright**: 1 file

### Tools

- **@graphql-codegen/cli**: 1 file
- **@graphql-typed-document-node/core**: 1 file
- **ESLint**: 1 file

### Other

- **@apollo/client**: 30 files
- **use-debounce**: 15 files
- **date-fns**: 7 files
- **GraphQL**: 3 files
- **Axios**: 1 file
- **clsx**: 1 file
- **github-slugger**: 1 file
- **graphql-ws**: 1 file
- **ws**: 1 file

## Other repos with a similar stack

- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): Gin, pgx, pq, Postgres, Google, React, golang.org/x/oauth2, github.com/golang-jwt/jwt/v5, github.com/aws/aws-sdk-go-v2/credentials, OpenTelemetry, go.opentelemetry.io/otel/trace, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, Tailwind CSS, class-variance-authority, tailwind-merge, sonner, Radix UI, React Hook Form, cmdk, recharts, react-day-picker, react-resizable-panels, Lucide, react-markdown, remark-gfm, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/infiniflow/ragflow/vs/vxcontrol/pentagi)
- [multica-ai/multica](https://seerepo.com/r/multica-ai/multica/built): pgx, Postgres, React, react-router-dom, github.com/golang-jwt/jwt/v5, github.com/aws/aws-sdk-go-v2/credentials, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, Tailwind CSS, class-variance-authority, tailwind-merge, sonner, tiptap, TanStack, motion, cmdk, lowlight, recharts, react-day-picker, react-resizable-panels, marked, @tiptap/markdown, react-markdown, remark-gfm, Zod · [Compare](https://seerepo.com/compare/multica-ai/multica/vs/vxcontrol/pentagi)
- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): Gin, pgx, Postgres, React, golang.org/x/oauth2, github.com/golang-jwt/jwt/v5, github.com/aws/aws-sdk-go-v2/credentials, github.com/coreos/go-oidc/v3, github.com/go-playground/validator/v10, github.com/aws/aws-sdk-go-v2, Tailwind CSS, class-variance-authority, tailwind-merge, sonner, React Hook Form, TanStack, motion, cmdk, recharts, react-day-picker, react-resizable-panels, Lucide, marked, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/QuantumNous/new-api/vs/vxcontrol/pentagi)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): Postgres, Google, React, Ollama, Tailwind CSS, class-variance-authority, tailwind-merge, sonner, Radix UI, React Hook Form, motion, cmdk, recharts, react-day-picker, highlight.js, react-markdown, rehype-highlight, rehype-slug, remark-gfm, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/Significant-Gravitas/AutoGPT/vs/vxcontrol/pentagi)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): SQLite, Vite, React, lru-cache, Tailwind CSS, class-variance-authority, tailwind-merge, Radix UI, tiptap, React Hook Form, TanStack, motion, cmdk, react-day-picker, react-resizable-panels, Lucide, @tiptap/markdown, remark-gfm, Zod, @hookform/resolvers · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/vxcontrol/pentagi)
- [ruvnet/ruflo](https://seerepo.com/r/ruvnet/ruflo/built): Postgres, SQLite, Vite, React, react-router-dom, Tailwind CSS, class-variance-authority, tailwind-merge, sonner, Radix UI, React Hook Form, cmdk, recharts, react-day-picker, react-resizable-panels, Lucide, marked, highlight.js, Zod · [Compare](https://seerepo.com/compare/ruvnet/ruflo/vs/vxcontrol/pentagi)

## Frequently asked questions

### What language is pentagi written in?

pentagi is written in Go, with 330,671 written lines.

### What framework does pentagi use?

pentagi is built with Gin, github.com/charmbracelet/bubbletea, github.com/gin-contrib/static, Vite, React, and react-router-dom.

### What database does pentagi use?

pentagi stores its data in Postgres and HashiCorp.

The proof: [backend/cmd/etester/main.go, line 19](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/backend/cmd/etester/main.go#L19)

### What does pentagi sign people in with?

pentagi signs people in with github.com/gin-contrib/sessions, golang.org/x/oauth2, github.com/golang-jwt/jwt/v5, github.com/aws/aws-sdk-go-v2/credentials, and github.com/coreos/go-oidc/v3.

### Does pentagi use AI?

Yes. pentagi uses AI through github.com/aws/aws-sdk-go-v2/service/bedrockruntime and Ollama.

### What services does pentagi use?

pentagi connects to Google and uses go-sqlite3, pgx, pq, github.com/pgvector/pgvector-go, github.com/pressly/goose/v3, github.com/sqlc-dev/pqtype, SQLite, and lru-cache.

The proof: [backend/pkg/tools/searchers/google.go, line 17](https://github.com/vxcontrol/pentagi/blob/cffed9485aa1cca70762cd08a57ac62a80406258/backend/pkg/tools/searchers/google.go#L17)

### Does pentagi have tests?

Yes. pentagi has 489 test files and is tested with github.com/stretchr/testify, Vitest, Testing Library, @playwright/test, and @axe-core/playwright.

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

The ones that share most of its stack: infiniflow/ragflow, multica-ai/multica, and QuantumNous/new-api.

## 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.
