Install
The CLI is published as @freecodexyz/cli on npm and exposes the fcf binary.
Global install (recommended for local use)
bash
npm install --global @freecodexyz/cli@alphaVerify:
bash
fcf --helpThe CLI is currently published under the alpha dist-tag. Always pin to @alpha (or to an explicit version) until a stable tag is published.
One-off use without install
bash
npx --yes -p @freecodexyz/cli@alpha -- fcf --helpThis is what the generated GitHub Actions workflow uses, via npm exec:
yaml
- name: Register repository
env:
PRIVATE_KEY: ${{ secrets.FCF_PRIVATE_KEY }}
RPC_URL: ${{ vars.FCF_RPC_URL }}
FCF_CONTRACT: ${{ vars.FCF_CONTRACT }}
run: |
npm exec --yes --package=@freecodexyz/cli@alpha -- fcf register \
--contract "$FCF_CONTRACT"From source
For development against unreleased changes:
bash
git clone https://github.com/freecodexyz/fcf.git
cd fcf/cli
corepack enable
pnpm install --frozen-lockfile
pnpm dev -- --helppnpm dev runs the CLI through tsx against the TypeScript source. To produce a built binary:
bash
pnpm build
node dist/index.js --helpUse Node 24 to match the CI environment.
Requirements
- Node.js 20+ for general use.
- Node.js 24 for development and to match CI exactly.
- A POSIX-like shell for the install commands above.
Continue
- CLI Overview, what the CLI does.
- Getting Started, what to do once it's installed.