PlatformKit is a modular SaaS framework in Go for building governed, composable applications — identity, tenancy, admin, content, audit, notifications, and deployment paths, without rebuilding the same substrate every time.
Built by Septagon. Licensed under Apache 2.0.
| If you want to… | go to |
|---|---|
| Run the complete seeded SaaS starter | platformkit — the canonical runnable front door |
| Follow the starter tutorial | Documentation site — quickstart, extensions, API contract, runtime surfaces |
| Use the core building blocks | pk-core — module system, authz, entities, security |
| Browse the reference modules | pk-modules — tenant, user, auth, api key, content, notification, audit, admin, health |
| Use the CLI and scaffold tools | pk-tools — doctor, verify, explain |
| Ask questions or discuss | Community discussions |
go get github.com/septagon-oss/pk-core@latest
No clone, no pinned version to go stale — @latest resolves the newest release
through the Go module proxy:
go run github.com/septagon-oss/platformkit@latest
# → http://127.0.0.1:8080 — a complete SaaS app with auth, admin, and nine reference modulesPrefer the source, or want to extend it? Clone the default branch:
git clone https://github.com/septagon-oss/platformkit && cd platformkit && go run .The terminal prints the local development login. Full quickstart → septagon-oss.github.io/pk-docs · Latest release → releases/latest
| Layer | Repo | Role |
|---|---|---|
| Start | platformkit |
Canonical runnable front door for the seeded SaaS starter |
| Core | pk-core |
Module system, authz, entities, security, observability, resilience |
| Core | pk-shared |
Shared vocabulary — flow definitions, state machines, composition |
| Core | pk-design |
Design tokens, themes, component contracts |
| Runtime | pk-runtime |
HTTP, health checks, request context, host composition |
| Modules | pk-modules |
Reference modules — tenant, user, auth, api key, content, notification, audit, admin, health |
| Apps | pk-apps |
The canonical starterapp composition and two extension references |
| Tools | pk-tools |
CLI, scaffold, developer workflows |
| Client | pk-client |
HTTP client — CRUD, bulk, typed envelopes |
| Design | pk-ui |
Component contracts, ARIA builder, gomponents renderers |
| Design | tw |
Typed utility classes + CSS emission — no Node, no Tailwind build |
| Design | styleengine |
Typed Go-native CSS construction, parsing, sanitizing |
| Test | pk-testkit |
Conformance, flow, and API test contracts |
| Docs | pk-docs |
Architecture, ADRs, requirements, tutorials |
The septagon-oss repos are the public upstream — provider-neutral and Apache 2.0.
The APIs are pre-1.0 and may evolve; pin released versions when stability matters.
Pro modules (including billing and enterprise auth), cloud integrations, and enterprise
adapters live in companion repos under a separate organisation.
Core contracts stay provider-neutral. Databases, queues, cloud SDKs, and business-specific flows belong in modules, apps, or Pro extensions.
- Discussions (hosted under our sister org): septagon-dev/platformkit-community
- Bug reports: open a GitHub issue in the relevant repo
- Security: report privately to
hello@septagon.dev - License: Apache 2.0 — see individual repo LICENSE files
Calm surface. Serious machinery underneath.