Skip to Content
Constellation as Code1. Set up the project

1. Set up the project

Start from the Zodiac Constellation Template . It ships the project layout, the zodiac CLI wired up through Bun scripts, and example roles you’ll replace with your own.

Create your project

Use the template directly from GitHub — click Use this template on the repo, or clone it:

git clone https://github.com/gnosisguild/zodiac-constellation-template.git cd zodiac-constellation-template

Install dependencies

The template runs on Bun . If you don’t have it yet:

curl -fsSL https://bun.sh/install | bash

Then install:

bun install

The project layout

A few files and folders matter for the rest of this tutorial:

. ├── constellation/ │ ├── index.ts # entrypoint — what gets pushed onchain │ ├── allowances/ # reusable Roles-allowance objects │ └── roles/<role>/ # one folder per role │ ├── index.ts │ ├── members.ts # addresses allowed to assume the role │ └── permissions.ts # what the role can call ├── zodiac.config.ts # contracts the `allow` kit should know about ├── abis/ # generated by `bun pull` ├── .zodiac/ # generated codegen (git-ignored) └── .env # ZODIAC_API_KEY for this directory (git-ignored)

constellation/index.ts is the heart of the project: only the nodes you export from it end up onchain. Everything else is supporting structure.

Next, authorize this directory against your Zodiac workspace and pull down your org data → Authorize & pull.

Last updated on