Skip to content
SHC Docs

Tech stack quick reference

SHC is a Go CLI + daemon with no web frontend. See architecture/core/tech-stack for the full technical specification.

ComponentChoiceNotes
LanguageGo 1.25+Statically linked binaries (shc + shcd)
Build toolchainasdf, pure GoCGO_ENABLED=0; rqlited bundled at package time
CLI Frameworkspf13/cobraStandard Go command tree
Terminal Outputcharmbracelet/bubbletea + lipglossBubbletea TUI for HUD, lipgloss for styling
ComponentChoiceNotes
API Frameworkgo-chiLightweight chi router + middleware
Databasesqlite / rqlitePure-Go modernc sqlite single-node; raft-replicated rqlite in clusters
DB driverdatabase/sql”sqlite” (modernc) single-node; “shc-rqlite” in cluster mode
MigrationsAtlasDeclarative schema in migrations/*.sql
ComponentChoiceNotes
Distributed DBrqliteSQLite with Raft consensus (external rqlited process)
Inter-node CommsmTLSPorts 4001-4003
Container RuntimeSwarmHA mode with automatic failover
ToolPurpose
gofmtCode formatting
golangci-lintLint suite (forbidigo, gocritic, staticcheck, errcheck, …)
go testUnit + integration testing
BatsE2E + bash-level testing
shfmtShell script formatting
TechnologyReason
React/Vue/SvelteNo web UI
CSS/TailwindNo frontend
JavaScript/TSPure Go
PostgreSQL/MySQLSQLite/rqlite sufficient
KubernetesDocker Compose focused