Sequent is a CQRS and event sourcing framework written in Ruby.
See the official site at https://www.sequent.io/
New to Sequent? Getting Started is the place to be!
Fork and send pull requests. You can setup a working development environment manually (see below) or by using https://devenv.sh with Nix. You can also
use https://direnv.net/ do setup your environment automatically, see .envrc.example
for the minimal configuration.
Then just run devenv up
to start Postgres and Jekyll. Run devenv test
to (re-)create the databases and run the specs.
See the official site at https://sequent.io/
Want to help improve the documentation? Please let us know how we can improve by creating an issue
If you want to help write the documentation fork and send pull request.
You can start the documentation locally via:
cd docs
bundle install
cp .env.example .env
bundle exec jekyll serve --livereload
Open localhost:4000
A GitHub personal access token is required if you want Jekyll to retrieve GitHub metadata information. Create a new personal access token (no scope is required) and configure it in the .env file.
Ensure the version in lib/version.rb
is the new version. If not change it and update the sequent version for all the gemfiles
:
BUNDLE_GEMFILE=gemfiles/ar_7_1.gemfile bundle update sequent --conservative
BUNDLE_GEMFILE=gemfiles/ar_7_2.gemfile bundle update sequent --conservative
BUNDLE_GEMFILE=gemfiles/ar_8_0.gemfile bundle update sequent --conservative
Commit the changes.
Then run rake release
. A git tag will be created and pushed, and the new version of the gem will be pushed to rubygems.
- When using a local PostgreSQL database, create the user:
createuser -D -s -R sequent
- If you're not using a local Postgres database, setup the database using docker:
docker run --name sequent -e POSTGRES_HOST_AUTH_METHOD=trust -e POSTGRES_USER=sequent -p 5432:5432 -d postgres:16
Have Sequent create the database:
SEQUENT_ENV=test bundle exec rake sequent:db:create
Run rspec spec
to run the tests with the current database schema.
To ensure the specs use the latest database schema run:
SEQUENT_ENV=test rake sequent:db:drop sequent:db:create spec
The most notable changes can be found in the Changelog
Sequent is released under the MIT License.