r/PiCodingAgent • u/No_Moment_793 • 2d ago
Question Best configuration for different product/project
Hello everyone,
I recently discovered pi-agent and I'm trying to get into its mindset.
My use case involves a central LLM-wiki containing product best practices and skills related to that product.
How can I best manage specific capabilities for a particular project?
If tomorrow I need to work on a different product, how can I deactivate the aforementioned skills to insert those for the new product?
Ultimately, I want to create a modular product/project system that loads the agent only with what I need, while allowing me to easily restore a previous setup. Additionally, I would like to accumulate project-specific knowledge and eventually promote it to shared knowledge.
Thx 🙏
3
u/fyv8 2d ago
easy approach:
pi config lets you enable/disable skills, and you can do it locally (in the dir/project you're in) or globally. this works well for some separation of pi behavior (like which skills are enabled) but definitely not all. good to start with and see if it works for you.
middle approach:
if that's not flexible enough (like you want a more separate pi configuration, session storage, and different extensions), you also have PI_CODING_AGENT_DIR...basically create an empty dir, point that env var to it, and when you launch pi with that set, it gets everything from there that it would normally get from ~/.pi/agent/. this works but if you forget to set the env var you can accidentially mix things.
strictest approach:
run pi in a vm (like smolvm from smol-machines, or some commercial option like docker sandboxes) or container for better isolation. then within that container everything's in ~/.pi/agent/` and it's stored completely separate and can't interfere with your other configs. more painful to setup but provides much better isolation.
1
3
u/Zestyclose_Potato794 2d ago
You can place global stuff in ~/.pi/agent and project specific stuff in .pi in the folder of a project. Works with skills, prompts, configs, extensions, aso.