2.3 KiB
2.3 KiB
name, description, version
| name | description | version |
|---|---|---|
| nixos-asset-manager | Manage Pi agent assets (extensions, skills, themes, prompts) on NixOS with Gitea synchronization. | 1.0.0 |
NixOS Asset Manager
This skill guides the agent in maintaining a declarative, Gitea-backed configuration for the Pi coding agent on NixOS.
Core Principles
- Source of Truth: All custom code (extensions), instructions (skills), and UI assets (themes) must be saved in
~/ai-assets. - No Direct Nix Store Writes: Never attempt
pi install npm:...or globalnpm installas it fails on NixOS. Always clone sources into~/ai-assets/extensionsand runnpm installlocally within that folder. - Gitea Sync: After any local modification to
~/ai-assets, the agent must commit and push changes tohttps://audasmedia.com.au. - Configuration Layering:
- Global: Referenced via
home.nixin the~/.pi/agent/settings.jsonfile. - Project-Specific: Defined in
.pi/settings.jsonwithin individual project folders to avoid "bloat."
- Global: Referenced via
File Structure Standards
The agent must maintain the following structure in ~/ai-assets:
extensions/: TypeScript modules (e.g.,steel-browser/index.ts).skills/: Markdown instructions (e.g.,system-architect/SKILL.md).themes/: JSON theme definitions.prompts/: Markdown slash-command templates.
Workflows
Adding a New Extension
- Navigate to
~/ai-assets/extensions. - Clone the repository:
git clone <url> <name>. - Remove internal Git tracking to avoid submodules:
rm -rf <name>/.git <name>/.gitignore. - Install dependencies locally:
cd <name> && npm install. - Update the project's
.pi/settings.jsonto include"extensions/ <name>/index.ts". - Push to Gitea.
Updating a Skill
- Modify the relevant
.mdfile in~/ai-assets/skills/. - Push to Gitea.
- The change is live across all NixOS machines upon the next Pi launch.
Managing Settings via Nix
When instructions involve global changes, the agent must remind the user to update the home.file.".pi/agent/settings.json".text block in their Home Manager configuration.
Critical Guardrails
- DO NOT use
~/.agents/skillsas it bypasses Gitea version control. - ALWAYS check for an existing
.gitfolder in new extensions before pushing to Gitea. - NEVER push
auth.jsonorsessions/to Gitea.