Implements MCP server for semantic search across GSD projects: MCP Tools: - gsd_memory_search: Search across all registered projects - gsd_memory_decisions: Find decisions from SUMMARY/PROJECT.md - gsd_memory_patterns: Find patterns from SUMMARY.md - gsd_memory_pitfalls: Find pitfalls from RESEARCH.md - gsd_memory_stack: Find tech stack entries - gsd_memory_register: Register project with memory - gsd_memory_index: Trigger indexing/update - gsd_memory_status: Show system status Architecture: - QMD wrapper with grep fallback when QMD unavailable - YAML frontmatter extractors for GSD document types - Project registry at ~/.gsd/projects.json - Auto-install via bin/install.js for Claude Code Workflow integrations: - new-project: Registers project with memory - plan-phase: Indexes after planning - execute-phase: Indexes after execution - complete-milestone: Indexes milestone completion - Researcher agents query memory before Context7 Tests: 117 passing (66 unit + 51 integration) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
export interface RegisteredProject {
|
|
name: string;
|
|
path: string;
|
|
qmdCollection?: string;
|
|
registeredAt: string;
|
|
lastIndexed?: string;
|
|
}
|
|
export interface Registry {
|
|
version: string;
|
|
projects: RegisteredProject[];
|
|
}
|
|
/**
|
|
* Read the project registry
|
|
*/
|
|
export declare function readRegistry(): Registry;
|
|
/**
|
|
* Write the project registry
|
|
*/
|
|
export declare function writeRegistry(registry: Registry): void;
|
|
/**
|
|
* Register a new project
|
|
*/
|
|
export declare function registerProject(project: Omit<RegisteredProject, 'registeredAt'>): RegisteredProject;
|
|
/**
|
|
* Update a project's last indexed time
|
|
*/
|
|
export declare function updateProjectIndexTime(name: string): void;
|
|
/**
|
|
* Get a project by name
|
|
*/
|
|
export declare function getProject(name: string): RegisteredProject | undefined;
|
|
/**
|
|
* Get all registered projects
|
|
*/
|
|
export declare function getAllProjects(): RegisteredProject[];
|
|
/**
|
|
* Remove a project from the registry
|
|
*/
|
|
export declare function unregisterProject(name: string): boolean;
|
|
/**
|
|
* Get the registry path (for testing)
|
|
*/
|
|
export declare function getRegistryPath(): string;
|
|
//# sourceMappingURL=registry.d.ts.map
|