Workflow
A typical day with sesamy-cli looks like this.
Local development
# 1. Edit sesamy.yaml — add or tweak a provider.
$EDITOR sesamy.yaml
# 2. Preview the change.
sesamy diff web
sesamy diff server
# 3. Apply when the diff looks right.
sesamy provision web
sesamy provision server
# 4. Verify.
sesamy list webIn code review
Commit sesamy.yaml alongside the application change. Reviewers can run sesamy diff locally — or, better, have CI do it on every PR.
In CI
A minimal CI job:
- run: sesamy diff web -c sesamy.yaml -c sesamy.prod.yaml
- run: sesamy diff server -c sesamy.yaml -c sesamy.prod.yamlFor a deploy job, run sesamy provision against the appropriate workspace. The CLI is idempotent: re-running it without config changes produces no GTM mutations.
TIP
Run provision against a non-default workspace in CI and require a human to publish in the GTM UI. That keeps a human in the loop for the actual go-live step.
When the config changes
Whenever the YAML changes:
sesamy diffto confirm the change is what you expect.sesamy provisionto apply.- If you generate TypeScript events, run
sesamy typescriptand commit the regenerated files.
When code in this repo changes
If you're contributing to sesamy-cli itself: a change to commands, the config schema, or a provider must be reflected in these docs. Every section under Commands and Providers maps directly to a folder under pkg/ or cmd/.
