Skip to content
surypusPublic

About

Surypus ERP/CRM - Haskell implementation with formal verification, type-safe database, and event sourcing

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1,048 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Surypus ERP/CRM

Haskell ERP prototype with formal verification in selected areas

License: MPL-2.0 Haskell GHC Stack CI


Overview

Surypus is an experimental Haskell ERP/CRM prototype. It focuses on a narrow verifiable core: tax calculations, double-entry accounting, JWT auth with refresh rotation, RBAC, and bill posting.

This repository is not production-ready. The current goal is one green vertical slice, not broad feature coverage.

Current status

  • Prototype stage — the library and executables build; the API surface is exercised by tests, not deployed.
  • CI: green — 27 workflows pass on main (build + tests, CodeQL, HLint, Fourmolu, Hadolint, secret scanning, coverage, supply-chain checks, docs).
  • 382 library modules in src/: 381 exposed in exposed-modules of Surypus.cabal, plus one internal helper (Service.Workflow).
  • 792 test examples, 0 failures across 54 test modules (a few pending without infrastructure); 798 examples, 0 failures, 0 pending when run with SURYPUS_TEST_DATABASE_URL and SURYPUS_TEST_REDIS_URL, which also exercises the real PostgreSQL event-store round-trip and the Redis Streams fan-out.
  • Stack resolver: lts-22.21 (GHC 9.6.5); local development uses GHC 9.10.3.

Getting started

stack build
stack test
stack run

Or with Cabal:

cabal build all --enable-tests
cabal test

Repository layout

src/     library modules (382), organised by domain (Finance, Commerce, HR, ...)
app/     executables (surypus-server, ...)
test/    Hspec test suite (test/Test.hs is the aggregator entry point)
tools/   build and documentation helpers
docs/    MkDocs documentation sources
dsl/     schema.yaml — source of the generated DAL.Types entity types

Task tracking

The task list lives in beads, stored in a Dolt database at .beads/ and synced to DoltHub. It is mirrored into GitHub so the same list is visible as Issues, on the project board and in the wiki.

bd list                       # show the task list
bd show Surypus-sca           # one issue
python3 tools/beads-sync-github.py --push   # mirror to GitHub

The mirror is idempotent: it creates only what is missing, so it is safe to re-run. A workflow runs it every six hours and whenever .beads/ changes. That workflow needs a GH_TOKEN repository secret — the default GITHUB_TOKEN cannot write to a project.

Documentation

About

Surypus ERP/CRM - Haskell implementation with formal verification, type-safe database, and event sourcing

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages

⌂