mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 18:01:22 +00:00
Breaking changes: - Settings: 'hooks' and 'customTools' arrays replaced with 'extensions' - CLI: '--hook' and '--tool' flags replaced with '--extension' / '-e' - API: HookMessage renamed to CustomMessage, role 'hookMessage' to 'custom' - API: FileSlashCommand renamed to PromptTemplate - API: discoverSlashCommands() renamed to discoverPromptTemplates() - Directories: commands/ renamed to prompts/ for prompt templates Migration: - Session version bumped to 3 (auto-migrates v2 sessions) - Old 'hookMessage' role entries converted to 'custom' Structural changes: - src/core/hooks/ and src/core/custom-tools/ merged into src/core/extensions/ - src/core/slash-commands.ts renamed to src/core/prompt-templates.ts - examples/hooks/ and examples/custom-tools/ merged into examples/extensions/ - docs/hooks.md and docs/custom-tools.md merged into docs/extensions.md New test coverage: - test/extensions-runner.test.ts (10 tests) - test/extensions-discovery.test.ts (26 tests) - test/prompt-templates.test.ts
42 lines
1 KiB
TypeScript
42 lines
1 KiB
TypeScript
/**
|
|
* Prompt Templates
|
|
*
|
|
* File-based templates that inject content when invoked with /templatename.
|
|
*/
|
|
|
|
import {
|
|
createAgentSession,
|
|
discoverPromptTemplates,
|
|
type PromptTemplate,
|
|
SessionManager,
|
|
} from "@mariozechner/pi-coding-agent";
|
|
|
|
// Discover templates from cwd/.pi/prompts/ and ~/.pi/agent/prompts/
|
|
const discovered = discoverPromptTemplates();
|
|
console.log("Discovered prompt templates:");
|
|
for (const template of discovered) {
|
|
console.log(` /${template.name}: ${template.description}`);
|
|
}
|
|
|
|
// 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`,
|
|
};
|
|
|
|
// Use discovered + custom templates
|
|
await createAgentSession({
|
|
promptTemplates: [...discovered, deployTemplate],
|
|
sessionManager: SessionManager.inMemory(),
|
|
});
|
|
|
|
console.log(`Session created with ${discovered.length + 1} prompt templates`);
|
|
|
|
// Disable prompt templates:
|
|
// promptTemplates: []
|