Skip to content

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

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages