Obedience-Corp/festival
Obedience-Corp/festival has 138 GitHub stars and 11 forks. Star changes are not measured yet. Last checked 2026-11-11 12:07 UTC. Last push 2026-11-11.
Comment ces chiffres sont mesurés
Vibe Engineering Framework, Organize your intent, loop your work and achieve the outcome you want from AI without wasting tokens
Progression mesurée des étoiles
- in 24h
- Mise à jour retardée
- in 7 days
- Mise à jour retardée
- in 15 days
- Mise à jour retardée
- in 1 month
- Mise à jour retardée
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.md
OriginalFestival: A vibe engineering framework

Vibe coding is a fast way to explore an idea, build a demo, or recreate something familiar. When you go beyond the demo, build something new, or work where a mistake could cost millions, you need more control over how the work gets done.
Vibe engineering means turning AI-assisted work into a process you can inspect, improve, and delegate repeatedly. You define the outcome, review important decisions, and check the evidence behind the result. The aim is to let agents carry more of the work without having to babysit every step.
Festival gives you the tools to build that process through templates and configuration: Fest for long-term goals and automated planning, Camp for shared context across sessions, and Obey for oversight and background orchestration. You shape how agents work, see where they need attention, and refine the process for the next run. Plans, decisions, progress, and checks stay in files and Git, so you can inspect the work and continue in another session.
Try it on one real goal · See a completed build · How it works · 简体中文
See Festival in action
Three completed festivals built the CodeSignal Practice Simulator.
Agents followed the fest next loop, with testing and review gates feeding
findings back into fixes. The demo repository includes the plans, tasks,
review findings, and verification evidence for each build.
Explore the demo · Inspect the three festivals · Watch all three replays
Start with one goal in a repository you already use. Keep your existing coding agent, let it help set up Camp and Fest, and review the result. Add Obey when you want the daemon to manage execution.
Set up with your agent · Configure Obey
How the components fit together
flowchart TB
accTitle: How Festival components work together
accDescr: Fest supplies plans and tracks progress. Camp shares saved context across sessions. Obey launches and supervises agents through a background daemon. All three work with your agent sessions.
subgraph festival["Festival: templates + configuration"]
fest["Fest<br/>Long-term goals<br/>Automated planning"]
camp["Camp<br/>Shared context<br/>Across agent sessions"]
obey["Obey<br/>Overseer<br/>Background daemon"]
end
agents["Agent sessions<br/>Your providers and models"]
fest <-->|Tasks and progress| agents
camp <-->|Read and record context| agents
obey -->|Launch and supervise| agents
| Component | What it makes possible |
|---|---|
| Fest | Long-term goals and automated planning. Guides agents through planning workflows, breaks goals into phases and tasks, and tracks execution through review and approval gates. |
| Camp | Shared context and context management. Organizes projects, worktrees, research, decisions, and work items so successive agent sessions can pick up the same work. |
| Obey | Oversight and background orchestration. Runs a local daemon that tracks agent sessions, launches and supervises supported providers, and drives festival execution. Its companion ob CLI provides planning, review, and other developer commands. |
A camp is the workspace around your goals. A festival is a larger goal
inside it. Each camp can have its own projects, knowledge, templates, and
working practices. Switch camps with camp switch (csw); a new agent session
can read the saved plans and decisions before continuing the work.
You can use Camp and Fest directly with an agent that reads files and runs commands, including Claude Code, Codex, Grok Build, Cursor, or OpenCode. Add Obey when you want daemon-managed execution; its provider setup guide covers the providers it can launch and supervise.
The festival command installs and updates the tools. The base suite includes
camp, fest, and the festival manager. Install Obey separately with
festival install obey, which adds both obey and ob.
What would you hand off?
Start with a real outcome that you can review. For example:
- A feature across repositories: “Add account deletion to the API and web app. Cover it with tests and document how existing users are affected.”
- An investigation before a build: “Investigate why this service slows down under load. Save the evidence, compare the options, and bring me a recommendation before changing production.”
- A recurring review: “Review this week's dependency changes, flag compatibility risks, and prepare the updates for my approval.”
The goal, constraints, and success criteria come from you. Your agent works through the plan and returns when it reaches a review point or a decision that needs you.
Explore the use cases · See example camps and festivals
Get started
Try it on one real goal. Start with one repository and one goal you already want to finish. Use your existing coding agent to plan the work, execute it, and leave the results ready for review.
1. Set up with your agent
Replace the brackets and paste this into your coding agent. It will install Festival if needed, create one camp, and link your existing repository. Git is required.
Help me set up Festival for this goal: [what you want done and how you'll know it worked].
My existing repository is at: [full local path].
If `camp`, `fest`, or `festival` is missing, install Festival. On macOS with Homebrew, use `brew install --cask Obedience-Corp/tap/festival`. On macOS or Linux with Node.js, use `npm install -g @obedience-corp/festival`. On Windows x64, install Scoop, then run `scoop install git`, `scoop bucket add obedience https://github.com/Obedience-Corp/scoop-bucket`, and `scoop install obedience/festival` in PowerShell. After installing, run `festival doctor` to check the install.
Use the installer that owns the suite for updates. For Scoop, run `scoop update festival`. For a Festival-managed install, run `festival update` without `--force`.
Ask me for a camp name, a one-line description, and a mission. Create the camp with `camp create <name> -d "<description>" -m "<mission>"`. Read `camp create --help` before adding flags. Use `camp create` for this. Do not run `camp init` or `festival setup`. Use the camp path printed by the command (by default, `~/campaigns/<name>`).
Set up navigation for my shell, adding the following lines to its config only if they are missing. For zsh or bash, use `eval "$(camp shell-init <shell>)"` and `eval "$(fest shell-init <shell>)"`, replacing `<shell>` with `zsh` or `bash`. For fish, use `camp shell-init fish | source` and `fest shell-init fish | source`. For PowerShell 5.1 or 7, add `Invoke-Expression (& camp shell-init powershell | Out-String)` and `Invoke-Expression (& fest shell-init powershell | Out-String)` to `$PROFILE`. Tell me to open a new terminal and run `csw <name>`; you can keep working from the camp root.
From the camp root, run `camp project link <full-local-repo-path> --yes`. This leaves the repository in place, links it under `projects/`, and adds a `.camp` attachment file to it.
Read the camp and project instructions, then use `fest understand` to learn the workflow. Skills are optional. Create a festival for my goal, link it to the project with `fest link` from the festival directory, and run the `fest next` loop. Ask me when you need a decision. Show me the festival path so I can follow progress, and leave the results and verification evidence ready for review.
The agent setup guides cover optional skills and integrations for your tool.
Prefer to set up manually?
Choose one method. Each installs camp, fest, and the festival manager.
macOS with Homebrew
brew install --cask Obedience-Corp/tap/festival
macOS or Linux with Node.js
npm install -g @obedience-corp/festival
Windows x64 with Scoop (PowerShell)
Install Scoop first, then run:
scoop install git
scoop bucket add obedience https://github.com/Obedience-Corp/scoop-bucket
scoop install obedience/festival
Windows supports local Camp and Fest work. camp sync --from,
camp clone --from, and artifact transfer to or from another camp are not
available in this release.
Check the install and create one camp:
festival doctor
camp create my-camp
camp create asks for a description and mission. By default, it creates your camp at ~/campaigns/my-camp. Enter the path printed by the command and link a repository you already use:
cd ~/campaigns/my-camp
camp project link /path/to/your-existing-repo
Replace the repository path with its full local path. Your repository stays where it is. Camp links it under projects/ and adds a .camp attachment file to the repository. You can also clone a project into the camp.
Add the shell integration described below, then open your coding agent at the camp root and give it a goal.
Linux packages, the checksummed Windows ZIP, and other install methods.
Enable the shell integration. The shell shortcuts (csw, cgo, fgo, fls, and cr) are shell functions, so they exist only in a shell that has loaded the integration. The setup prompt asks your agent to add it, but an agent cannot load it into a terminal you already have open. Check your shell config and add these lines if they are missing.
For zsh, add to ~/.zshrc (for bash, replace zsh with bash and use ~/.bashrc):
eval "$(camp shell-init zsh)"
eval "$(fest shell-init zsh)"
For fish, add to ~/.config/fish/config.fish:
camp shell-init fish | source
fest shell-init fish | source
Open a new terminal and run type csw. It should report a shell function. If it reports "not found", the lines are not in the config file your shell reads at startup. Homebrew, npm, and Linux package installs also ship a sourceable helper file that adds tab completion; the shell setup guide lists the path for each install method.
2. Give your agent a goal
If you used the setup prompt, your agent already has your first goal. For manual setup or your next goal, tell it:
I want [what you want done]. Success means [what you will check]. Create a festival for it, link it to the project, and run the
fest nextloop. Show me the festival path and leave the results ready for review.
A real Grok Build session planning a sample app feature. The agent handles the planning commands; you review the proposed work.
3. Follow progress and review the result
Your agent handles planning and execution, asking you when it reaches an approval point or needs a decision. You can focus on other work and review the results when they're ready.
To check progress along the way, open another terminal at the festival path your agent gives you and run fest watch.
When the work is ready, ask your agent to show you:
- The result against your original goal and success criteria.
- The changed files and commits in your project.
- The test and review evidence, including failures, unresolved questions, and decisions that still need you.
Use the saved festival plan and work records together with your project's Git history to review what happened before accepting the result.
The progress view you can open alongside your agent. This recording demonstrates the real fest watch interface with scripted progress updates in a sample festival.
If the session ends: point your next agent at the saved festival and ask it to continue from the linked project. The recorded plan, progress, and decisions give it a starting point.
Follow the video quick start to see setup, planning with Grok Build, and the progress view.
Share a festival replay
fest gif turns recorded festival progress into a GIF you can send and share:
fest gif my-festival -o replay.gif
fest gif --festival MF0001 --speed 2
When a festival moves to completed, Fest creates festival-replay.gif and embeds
it in FESTIVAL_OVERVIEW.md, with both files included in the completion commit.
Use fest gif --embed to refresh it or add a replay to an older festival.
See the replay guide for examples, sharing, and recovery.
How the work stays coherent
A festival is a graph of work, organized into phases, sequences, and tasks. Each task has context and completion criteria. Your agent uses fest next to find the next actionable step, does the work, checks the result, and records progress before continuing.
That is the basis for loop engineering with Festival: repeatable planning, execution, review, and handoff loops. You can start with a lightweight WORKFLOW.md, build a full festival for a larger goal, or run separate festivals with agents in separate worktrees.
The camp holds the context around those goals over the life of the work. Research can inform a design; that design can become a festival; its results and decisions remain available for the next goal.
You can work on many projects at once. Over time, camps function more like custom agents, where small seeds of your intentions trigger hundreds or thousands of individual actions.
Each camp has its own context and workflows, so switching camps changes how your agents work.
Quality gates provide places to test and review. fest validate checks plan structure, and fest commit links commits to festival tasks. You review the actual output and verification evidence before accepting the result.
Loops & orchestration · Festival methodology · Work items
Add background orchestration with Obey
After installing the Festival suite, add Obey:
festival install obey
obey ping
ob providers
Follow the Obey setup guide to check its service and configure a provider and model. From a planned festival, preview the execution context before starting the task loop:
ob fest execute --dry-run
ob fest execute
Obey oversees the session while the agent works through the festival. Use
obey top from the camp to follow sessions. For individual developer tasks,
ob can plan from a spec, review a diff, or generate a commit message.
Obey's binaries are publicly available even though its source repository is private. Configuration · Everyday use · Troubleshooting
The festival manager also installs CLI plugins. Run festival browse to
explore them, or read suite and plugin management.
Useful between the big goals, too
- Jump straight to the work.
cgo p apifinds a matching project;cgo ftakes you to festivals. Add the shell integration to enable these shortcuts. - Switch camps.
camp switchmoves between registered camps.cswis the shorthand. - Find the next thing to pick up.
camp workitembrings intents, research, designs, and festivals into one work queue. - Start fresh after a merged PR.
camp freshsyncs a project to its default branch and prunes merged branches. Preview withcamp fresh --dry-runfrom that project first, including any configured branch creation or follow-up commands.
Everyday development with cgo and camp fresh
Explore the tools
The GIFs play on this page at a readable size.
Create specialized camps and switch between them
Once you have a camp for your first goal, you can add others for your job, side projects, or hobbies. Give each its own skills, workflows, and processes so your agents work the way you want in that context.
camp create work
csw work
csw my-camp
csw is the shorthand for camp switch. It requires the shell integration. With no name, it opens the camp picker.
This recording shows both camps being created in a fresh demo home, then switching between them. By default, the camps are at ~/campaigns/my-camp and ~/campaigns/work.
Move between projects, plans, and camps
cgo jumps to a project or planning directory. camp switch moves between camps, and csw is the shorthand.
See your camps and the projects inside one
camp list browses registered camps by org. Move through them, change a camp's status, and filter down to the active ones.
camp project list browses the projects in the current camp, grouped by type.
Find work, capture an idea, and sort the inbox
Find work across the camp. camp workitem brings intents, research, designs, and festivals into one searchable list.
Capture an idea. camp intent add saves it to the inbox for later.
Sort the inbox. camp intent explore lets you browse intents by status and read their details.
See which festivals are active and inspect a plan
fest list groups festivals by status, so you can see what's active, ready, or still being planned.
fest show opens the structure of a plan, from its phases down to individual tasks.
Start fresh after a merged change
camp fresh configure sets the follow-up commands that run after a project syncs.
camp fresh checks out the default branch, pulls, prunes merged branches, and runs those follow-ups.
Add testing and review gates to a plan
fest gates apply previews the quality gates it will add before applying them with approval.
Review old work and clear space for what's next
camp dungeon crawl walks through stale work so you can choose what to keep or archive.
Reach a camp on another machine
camp machine lists computers camp can hop to, and can add one from your Tailscale network.
Open the Festival installer
festival opens the suite manager: install the tools, check the setup, and launch camp and fest.
Watch a longer Festival session (click to expand video preview)
An earlier Festival workflow recording at 16× playback speed. Use the setup instructions above for the current first-run path.
More video walkthroughs and demos
Fits the tools you already use
Can I keep my issue tracker?
Yes. Keep issues where your team coordinates, and use Festival for the agent's plan and work record. Intents and other work items live in files, so scripts or justfiles can connect them to an external service's API. Ask your agent to help build the connection you need. See the workflow.
Can I change agents partway through?
Yes. The next agent can read the same saved plan, decisions, and progress. Give it the festival location and access to the linked project. Agent handoff guide.
Do I need a Festival account?
The CLI tools are free to use and run locally without a Festival account. Your agent's account, model costs, and permissions remain with the provider you choose.
Keep going
- Join the Obedience Corp Discord: get help with Festival, compare workflows, and share what you build.
- Documentation: guides, use cases, and CLI reference.
- First festival tutorial: a hands-on walkthrough of the plan structure.
- Examples and templates: work you can inspect and adapt.
- Plugin authoring: extend
campandfestwith your own commands. - Report a bug or request a feature: tell us what happened or what would help.
- Give feedback or read the blog.
Festival App is in development. The CLI tools are available now. See what's coming.
If Festival is useful to you, star this repository to help other developers discover it. A bug report, a workflow you share, or an example of work you've handed off helps us improve it.
Apache License 2.0 · Built by Obedience Corp.
Explorer des projets similaires
codecrafters-io/build-your-own-x
Maîtrisez la programmation en recréant de zéro vos technologies préférées.
562,069 étoilespublic-apis/public-apis
Une liste collective d'API gratuites
498,463 étoilesmorluto/rea
Rétro-ingénierie de n'importe quoi avec des agents, du comportement des applications jusqu'aux binaires natifs.
454,658 étoilesopenclaw/openclaw
L'IA qui fait vraiment les choses. Tout système d'exploitation, toute plateforme. À la manière du homard. 🦞
394,407 étoiles