campi-cli will connect to many marketing platforms directly; Meta, TikTok and such, so you can manage campaigns as code; reviewable, version controlled and reproducible.
zig buildThe dev shell provides zig, clang, and the shared treefmt setup:
just # list recipes
zig build # build
just lint # treefmt lint
just format # treefmt formatTo build and install the binary:
zig build --prefix ~/.local- project scaffold
- devshells
- justfile
- docs; quarto
- branding
- man pages
- nix
- ci
- schemas
- config; the base config file
- manifest; the campaign manifest
- cli
- verbosity; debug logs
- help command; print tool and commands help text
- version; print the tool version
- init; scaffold a new project
- fmt; format manifest files
- validate; validate the config and manifests
- state; read and compare the state and lock files
- config; manage the config file
- plan; compute what would change
- apply; apply the changes
- import; import hand-created campaigns into state
- platform; fetch the platform marketing API data
- meta
- tiktok
- x
- file handling
- state reads and compares the state and lock files
- plan and apply read the campaign manifest
- init writes the base config file and prepares the working directory
- tests
- cli
- parser
- runner
- env
- platforms
- meta; payload and schema
- tiktok; schema
- artifacts
- source resolution and caching
- cli
See LICENSE.