Skip to content
CratisPublic

About

Cratis Arc for Go — commands, queries and observable queries with Chronicle integration

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

460 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arc for Go

Go Reference Build Release License: MIT Discord

The Go framework for Cratis Arc, bringing Arc's application-building approach to Go.

Status

Early development. Foundation packages provide artifact metadata, route resolution, UUID/temporal codecs, presence-aware JSON and result envelopes. Backend model-bound command/query pipelines now add authorization, validation, preparation, nested execution, paging, rendering and interception through typed adapters, with optional guarded DI resources. Releases will remain v0.x while the API is experimental. There is no tagged Go release yet; the installation command and Go reference will become usable after the first release.

See the compiling foundation example and feature-by-feature parity ledger. HTTP hosting composes commands, snapshots, observable SSE/WebSocket queries, identity and protected discovery with explicit graceful lifecycle. Try the minimal HTTP example and observable query guide. Adapter generation, TypeScript model/command/snapshot/observable-query proxies, and optional Chronicle/MongoDB integration are experimental. Proxy generation has actual CLI, independent Go-consumer, and locked Node runtime evidence, including a generated default WebSocket hub/Delta case. The wider manual transport lane remains separate. Those class-runtime cases use an independent delta reducer; a separate bounded mounted React lane executes generated hook reconstruction, cache reuse and joined cleanup with explicit WebSocket/Delta providers. Browser/DOM/StrictMode, the full Arc wrapper, suspense, reconnect, server paging, setter correctness and 30-second expiry remain unverified. MongoDB source-only watches have bounded native/live evidence and require explicit close/join/reopen after terminal loss; Chronicle watches remain unsupported. Opaque provider-source generation, including MongoDB Source[Find] without explicit emission metadata, remains unsupported. See the parity ledger for the Partial provider profiles and limits.

A separate paired snapshot HTTP checkpoint compares 36 GET/QUERY requests in 14 groups against pinned C# Arc: 34 strict matches and two exact successful ordinary-list paging-metadata allowances. This is Partial coverage, not command, authentication, HEAD, provider, streaming, browser or whole-product parity.

Installation

Requires Go 1.26 or later. Once a version has been published:

go get github.com/cratis/arc.go@latest

Use the lowercase module path exactly as shown. CI checks Go 1.26 and 1.27 independently of local Go workspaces.

Documentation

Start with Documentation. API reference will be available on pkg.go.dev after publication.

Development

From the repository root:

export GOWORK=off
go build ./...
go vet ./...
go test -race -count=1 -timeout=3m ./...
golangci-lint run

See CONTRIBUTING.md for the full checks and release conventions.

Community and security

License

MIT.

About

Cratis Arc for Go — commands, queries and observable queries with Chronicle integration

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages