// blog / guide
How to organize prompts in repos, private by default
A flat list of prompts stops working at about thirty. Repos group them by project or team, and they start out private.
Why group prompts at all
Once you have a review prompt, a bug triage prompt and a migration prompt for three different projects, titles start to collide and every search returns noise. A repo is a named collection of prompts: one per project, one for the team, one you may share publicly. Each prompt keeps its own version history.
1. Create a private repo
Repo commands arrived in CLI 0.8 and need a signed-in account (full reference). Check your version with ple --version.
ple repo create "team-prompts" -d "Shared review prompts"✓ Created private repo 'team-prompts' (team-prompts, 1a2b3c4d)The name must be unique for your account, and the URL slug is derived from it. The server enforces name rules and your plan's repo limit. --json prints a stable shape for scripts.
2. Put prompts in it
If your agents already read prompt files, scan for them and import into the repo in one go. Re-running never imports the same content twice, and secret files such as .env are never opened.
ple import --scan --dry-run # see what was found
ple import --scan --project team-prompts # import into the repoScanning covers .claude/commands, SKILL.md files, .cursor/commands, ~/.codex/prompts, Copilot prompt files and AGENTS.md. You can also add prompts in the web app.
3. See what you have
ple repo list
ple repo show team-prompts
ple list --project team-promptsID NAME VISIBILITY ROLE PROMPTS UPDATED
1a2b3c4d team-prompts private owner 0 nowA repo can be named by its name, its slug or its short id. When two repos hold a prompt with the same title, add --project to ple get, ple show, ple diff or ple export to pick one.
4. Visibility: private until you decide
Private is the default and the safe choice for anything that mentions internal systems. If you want to publish a collection, change it explicitly:
ple repo visibility team-prompts public --yes
ple repo visibility team-prompts private✓ 'team-prompts' is now public.Only the owner can change visibility, and the server enforces it. Making a repo public asks for confirmation, and a script has to pass --yes. There is no delete command in the CLI: deleting a repo is irreversible, so it stays on the web.
Using a repo from your agent
- Pipe a prompt into an agent:
ple get "code review" --project team-prompts --var diff="$(git diff)" | claude - Export a whole repo as one
AGENTS.mdor an Agent Skill:ple export --project team-prompts --format agents-md - Connect Claude Code through MCP, see prompt management for Claude Code.
- Keep a record of why a prompt changed with a changelog entry.
FAQ
Are new repos private?
Yes. ple repo create makes a private repo unless you pass --public, so a mistyped command cannot publish anything. Private means only you and the people you invite can see it.
Who can make a repo public?
Only the owner. The server checks this, not the CLI, so a script with a teammate's session cannot change it. In a script you must pass --yes to confirm making a repo public.
Can I delete a repo from the CLI?
No, on purpose. Deleting a repo cannot be undone, so it is only possible on the web.
How many repos does the free plan include?
One. The plan limit is enforced by the server, and ple repo create tells you when you reach it. See the pricing page for paid plans.
How do I find the same prompt title in two repos?
Add --project <repo> to ple list, ple get, ple show, ple diff or ple export. The repo can be given as its name, its slug or its short id.
Do I need an account to use repos?
Yes. Local prompts saved with ple save work with no account, but repos live in your account. Try the no-account flow first on the /try page.
Try it before you sign up
Repos need an account, but the versioning flow does not. Save a prompt, edit it, then diff and roll back in your browser first. Nothing is sent to our servers.