Skip to main content
// ple

// 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.

terminal
ple repo create "team-prompts" -d "Shared review prompts"
output
✓ 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.

terminal
ple import --scan --dry-run                         # see what was found
ple import --scan --project team-prompts            # import into the repo

Scanning 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

terminal
ple repo list
ple repo show team-prompts
ple list --project team-prompts
output
ID        NAME                            VISIBILITY  ROLE    PROMPTS  UPDATED
1a2b3c4d  team-prompts                    private     owner         0  now

A 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:

terminal
ple repo visibility team-prompts public --yes
ple repo visibility team-prompts private
output
✓ '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.md or 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.