Your tools repositories
Code Config works with two GitHub repositories of your own. Your private tools repository keeps the tools you write or change. Your public tools repository holds the tools you share with other people. You choose both in the web app under Settings › GitHub, and neither one is needed to launch.
Your computer sends your tools to GitHub itself. Nothing is uploaded to Code Config.
Using your GitHub across workspaces
Section titled “Using your GitHub across workspaces”You connect GitHub once. After that, in any workspace where you are an owner or administrator, you can add a private repository without connecting again. Code Config checks with GitHub at that moment that you can reach that repository through the code-config.com GitHub App. If GitHub says no, Code Config asks you to give access on GitHub.
Adding a private repository is for owners and administrators, so other members of a workspace can’t do this. A public repository needs none of this.
Adding a private repository to a shared workspace makes it readable by that workspace’s members, and they can use its tools. The workspace’s other owners and administrators can then add other repositories that the same GitHub connection covers. Add one only to a workspace you want to have it.
Private tools repository
Section titled “Private tools repository”This is where Code Config keeps the tools you write or change, including your own version of a tool you got from someone else.
Under Settings › GitHub, Create it on GitHub makes a private repository named code-config-private-tools, and I already have one takes the address of a repository you made yourself. From a terminal:
csc repo set --role private --url <address> --jsonIt has to be a private repository on GitHub. Changing it later moves no file.
When a save happens
Section titled “When a save happens”A session Code Config launched works from its own copies of your toolkit’s tools. When you or your agent add or change a tool in that session, Code Config saves it for you:
- about 3 seconds after the session’s tool folders stop changing
- once more when the coding app closes
- before the session switches to another toolkit
To save a tool yourself at any time, run csc tool save <path>.
Saves cover every kind of tool, not only skills. In Claude Code and the Claude app that means skills, agents, commands, output styles, rules, agent apps, and workflows. In Codex it means skills, agents, and agent apps.
Settings and hooks you change in a session are saved too, into the settings and hook files they came from, or into the toolkit’s own when they are new. A setting of your own, such as the theme, stays in your account on this computer. Changes to env stay on this computer, because they often hold keys.
The running session keeps working from its own folder, so a save never changes files under you.
When you edit a tool from a public toolkit
Section titled “When you edit a tool from a public toolkit”A toolkit can pick tools from anyone’s public repository. When you change one of those tools in a session, your changed copy is saved to your private tools repository as your own tool.
Once Code Config has read the save, the toolkit you launched uses your copy in place of the original. The repository the tool came from doesn’t change, and neither do your other toolkits. They keep the original until you pick your copy for them.
A tool launched from your own public tools repository works the same way: your edit is saved at the same path in your private tools repository.
A tool you delete in a session leaves the toolkit you launched.
What is not saved
Section titled “What is not saved”- The tools Code Config places in every session.
- A tool the coding app shows as a copy made for it. Code Config tells you when this happens. To keep your change, save it as a new tool under a name of its own.
- A link inside a tool, or anything else that is neither a file nor a folder. Code Config tells you which path it left out.
- MCP servers. A server you add in a session goes into the toolkit you launched, not into this repository, and its key stays on this computer.
Folder structure
Section titled “Folder structure”Each kind of tool has a folder of its own:
code-config-private-tools/├── README.md├── skills/│ └── pdf/│ └── SKILL.md├── agents/│ └── helper.md├── commands/│ └── go.md├── output-styles/│ └── terse.md├── rules/│ └── voice.md├── agent-apps/│ └── one-page-site/├── workflows/│ └── audit.js├── settings/│ └── web-development.json└── hooks/ └── web-development/ └── hooks.jsonCode Config adds the README.md beside the first tool saved to an empty repository. settings/ and hooks/ are named after the toolkit they belong to.
A new tool goes in its kind’s folder. A tool already in the repository stays where it is, and a save updates it there.
If a new tool’s name is taken, it gets a number: skills/pdf-2/, then skills/pdf-3/, or commands/go-2.md. Names that differ only in capital letters count as the same name.
How a save reaches GitHub
Section titled “How a save reaches GitHub”Each save is one commit, sent from your computer with the git login it already has, the same one git push uses. That login stays on your computer, and it is separate from connecting GitHub in Settings.
If GitHub doesn’t accept this computer’s login, your tools stay on this computer and go out the next time it can reach the repository. A computer with no GitHub login doesn’t save to a private repository. That is expected, and launching and working in a session are not affected.
Two computers can save to the same repository. They take turns through GitHub. If both changed the same lines, your computer’s version wins and the other stays in the repository’s history.
If the repository asks for a review before a change reaches its default branch, Code Config puts the change on a branch and gives you the link to open a pull request.
With no private tools repository
Section titled “With no private tools repository”Your sessions run as usual. The tools and settings you change aren’t saved, and Code Config tells you so. An MCP server you add still goes into the toolkit you launched.
Public tools repository
Section titled “Public tools repository”This is where Code Config copies your private tools when you share a toolkit, so other people can use them. Saving never writes to it. Only sharing does.
Under Settings › GitHub, Create it on GitHub makes a public repository named code-config-tools, and I already have one takes the address of one you made yourself. From a terminal:
csc repo set --role public --url <address> --jsonIt has to be a public repository on GitHub. Changing it later moves no file.
What sharing does to your files
Section titled “What sharing does to your files”Sharing copies your tools. It never moves them. The originals stay in your private tools repository, and each copy goes to the same path in your public tools repository, in one commit your computer sends to GitHub with its own git login.
- Listing in Community: every tool from a private repository is copied first, and the toolkit is listed once Code Config has read the copies. If your toolkit has tools in a private repository and you have no public tools repository, nothing is copied, and Code Config asks you to set one.
- Sharing by link: nothing is copied unless you ask for it with
csc toolkit share --toolkit <toolkit-id> --link-only --copy-to-public. Without that, whoever opens the link needs access to your private repository on GitHub. - Tools already in a public repository: these aren’t copied. The toolkit keeps using them where they are.
- Keys: if a tool’s file holds a key, nothing is copied and you are told which file and which lines.
- Sharing again: a changed tool replaces its earlier copy, and files the tool no longer has are removed from the copy. If your public tools repository already has a different tool with that name, nothing is copied and you are asked to rename yours.
- Stopping a share: tools already copied to your public tools repository stay there.
What Community receives
Section titled “What Community receives”A Community listing carries only which tools your toolkit uses. Your tool files stay on GitHub, and no file goes to Code Config. MCP servers go with the names of the keys they need, and the values of your keys never leave your computer.
Share your toolkit walks through sharing by link and listing in Community. Bring an existing setup moves tools you already keep into a repository.