mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 21:03:19 +00:00
- Add ResourceLoader interface and DefaultResourceLoader implementation - Add PackageManager for npm/git extension sources with install/remove/update - Add session.reload() and session.bindExtensions() APIs - Add /reload command in interactive mode - Add CLI flags: --skill, --theme, --prompt-template, --no-themes, --no-prompt-templates - Add pi install/remove/update commands for extension management - Refactor settings.json to use arrays for skills, prompts, themes - Remove legacy SkillsSettings source flags and filters - Update SDK examples and documentation for ResourceLoader pattern - Add theme registration and loadThemeFromPath for dynamic themes - Add getShellEnv to include bin dir in PATH for bash commands
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
/**
|
|
* Prompt Templates
|
|
*
|
|
* File-based templates that inject content when invoked with /templatename.
|
|
*/
|
|
|
|
import {
|
|
createAgentSession,
|
|
DefaultResourceLoader,
|
|
type PromptTemplate,
|
|
SessionManager,
|
|
} from "@mariozechner/pi-coding-agent";
|
|
|
|
// Define custom templates
|
|
const deployTemplate: PromptTemplate = {
|
|
name: "deploy",
|
|
description: "Deploy the application",
|
|
source: "(custom)",
|
|
content: `# Deploy Instructions
|
|
|
|
1. Build: npm run build
|
|
2. Test: npm test
|
|
3. Deploy: npm run deploy`,
|
|
};
|
|
|
|
const loader = new DefaultResourceLoader({
|
|
promptsOverride: (current) => ({
|
|
prompts: [...current.prompts, deployTemplate],
|
|
diagnostics: current.diagnostics,
|
|
}),
|
|
});
|
|
await loader.reload();
|
|
|
|
// Discover templates from cwd/.pi/prompts/ and ~/.pi/agent/prompts/
|
|
const discovered = loader.getPrompts().prompts;
|
|
console.log("Discovered prompt templates:");
|
|
for (const template of discovered) {
|
|
console.log(` /${template.name}: ${template.description}`);
|
|
}
|
|
|
|
await createAgentSession({
|
|
resourceLoader: loader,
|
|
sessionManager: SessionManager.inMemory(),
|
|
});
|
|
|
|
console.log(`Session created with ${discovered.length + 1} prompt templates`);
|