Skip to content

Brickell-Research/caffeine

Repository files navigation

caffeine

GitHub Release Homebrew CI

CLI and Language Server for the Caffeine DSL — generates reliability SLOs from service expectation definitions.


Installation

Homebrew (macOS / Linux)

brew tap brickell-research/caffeine
brew install caffeine_lang

GitHub Releases

Download pre-built binaries for Linux (x64/ARM64), macOS (x64/ARM64), and Windows (x64) from Releases.

Usage

caffeine compile <measurements_dir> <expectations_dir> [output_path]
caffeine format <path> [--check]
caffeine types [--quiet]  # Show type system reference

Development

make build    # Build all packages
make test     # Run tests (Erlang target)
make test-js  # Run tests (JavaScript target)
make test-e2e # Run LSP end-to-end tests
make ci       # lint + build + test

Working with a local caffeine_lang

make dev-link                    # Switch to local ../caffeine_lang
make dev-link CAFFEINE_LANG_PATH=../../caffeine_lang  # Custom path
make dev-unlink                  # Restore Hex dependency

Learn more

Releasing

After publishing a new caffeine_lang to Hex, bump the version everywhere it appears (package.json, both gleam.tomls) yourself, then:

make release             # refreshes manifest checksums, commits, tags vX.Y.Z
git push --follow-tags   # triggers the Release workflow

make release reads the new version from caffeine_cli/gleam.toml, runs gleam deps update caffeine_lang in both packages so the outer_checksum in each manifest.toml matches what's on Hex, and prints the diff for you to confirm before committing.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors