CommitCycle CLI Shipped

O gate, o grant e o fechamento, do seu terminal

Um comando leva uma task de uma frase até um branch com acesso anexado, e outro a traz de volta com um registro. O que fica no meio é trabalho comum, feito pelo agente que você preferir.

~/acme-webzsh

$ cycle start "Export times out on large boards" \ --goal "a large board exports in one request" \ --non-goals "no format change" \ --criteria "2,000 tasks export without a timeout"

board https://dash.commitcycle.com · acme/web

CC-58 is In Progress on task/CC-58-export-times-out-on-large-boards

open no protected zones — everything unprotected is yours already

record .zones/tasks/CC-58.md

$ cycle submit

CC-58 is now In Review

the grant is gone — protected zones are closed again

No terminal, o cycle faz cada passo com um comando: start traz o grant para a máquina, submit devolve.

Instalação

npm i -g commitcycle

O pacote é commitcycle e o comando é cycle. Essa separação é deliberada: em qualquer máquina Unix cc já é o compilador C do sistema, então um cc global quebraria o node-gyp e todo Makefile que nunca sobrescreveu $(CC). Uma ferramenta de governança que ofusca um compilador é uma que as pessoas desinstalam.

O ciclo diário

cycle start "a coisa" \
  --goal "…" --non-goals "…" --criteria "…" \
  --topics backend,frontend        # intake → scope → branch → gate → grant → contexto
# ... trabalho ...
cycle submit                       # In Progress → In Review, zones fechadas
cycle verify --close --evidence <url>   # o manifest, os checks, o registro

Os quatro campos não são enfeite naquela primeira linha: o gate recusa uma task sem eles e a deixa em Todo, então um start escrito sem eles para antes de abrir qualquer coisa.

Toda porta para In Progress — cycle start, o botão Start do console, o cc_start do connector — é o mesmo gate. Não existe comando que abra uma zone por conta própria, e é justamente esse o ponto: assim que existe uma segunda porta, é ela que todo mundo usa com pressa.

O que ele sabe fazer

ComandoO que faz
initPrepara o repositório e escreve o contexto do agente — no modo memory por padrão (sem zones; toda edição precisa de uma task), ou com --mode governance para propor zones a partir do código
startIntake, scope, branch, gate, grant e contexto, numa única chamada
statusQual task está ativa, e exatamente o que está aberto para ela agora
syncEnvia o mapa de zones e os eventos, traz o grant deste branch
request-accessPede ao owner de uma zone que a abra — com um motivo e uma alternativa
approve · denyResponde do terminal a um pedido para uma zone da qual você é owner — de uma máquina pareada, só num board de um único membro. O console é a porta mais forte
submit · pauseEntrega o trabalho, ou o deixa de lado sem abandoná-lo
verify --closeConfere o branch contra o que a task declarou, e escreve o registro
seed · challengeRedige playbooks a partir do código, e depois discute com eles
doctorPor que o CommitCycle está se comportando assim?

Trinta e sete no cycle --help, na versão 0.1.25 (2026-10-12). A lista completa, flag a flag, está na referência da CLI (em inglês).

Onde ele para

A referência de comandos está na documentação (em inglês), e o modelo sobre o qual ele age é o mapa de zones.

Perguntas que esta página responde

Por que o comando se chama cycle e não cc?

Em qualquer máquina Unix cc já é o compilador C do sistema. Um cc global quebraria o node-gyp e todo Makefile que nunca sobrescreveu $(CC), e uma ferramenta de governança que ofusca um compilador é uma ferramenta que as pessoas desinstalam. O pacote npm é commitcycle; o comando é cycle.