feat: Implement recursive core-memory database discovery and project listing

- Added `findAllCoreMemoryDatabases` function to recursively locate core-memory databases in nested project structures.
- Updated `listAllProjects` to utilize the new recursive function for improved project listing.
- Enhanced `getMemoriesFromProject` and `findMemoryAcrossProjects` to support nested project structures.

feat: Introduce spec context injection in hooks configuration

- Added a new hook configuration for "Spec Context Injection" to load project specs based on prompt keywords.

chore: Add gray-matter dependency for YAML frontmatter parsing

- Included `gray-matter` package in `package.json` for parsing YAML frontmatter in markdown files.

feat: Create Spec Index Builder tool for managing project specs

- Implemented `spec-index-builder.ts` to scan markdown files, extract YAML frontmatter, and generate index cache files for different spec dimensions.

feat: Develop Spec Init tool for initializing spec directories and seed documents

- Created `spec-init.ts` to set up the directory structure and seed documents for the spec system.

feat: Build Spec Keyword Extractor for keyword extraction from prompts

- Added `spec-keyword-extractor.ts` to extract keywords from user prompts, supporting both English and Chinese text.

feat: Implement Spec Loader for loading and filtering specs based on keywords

- Developed `spec-loader.ts` to handle loading of specs, filtering by read mode and keyword matches, and formatting output for CLI or hooks.
This commit is contained in:
catlog22
2026-02-26 12:51:29 +08:00
parent a35fb0fe8f
commit 2b5c334bc4
27 changed files with 2595 additions and 955 deletions

View File

@@ -235,6 +235,7 @@ TeamCreate({ team_name: teamName })
// Analyst (spec-only / full)
Task({
subagent_type: "general-purpose",
description: `Spawn analyst worker`,
team_name: teamName,
name: "analyst",
prompt: `你是 team "${teamName}" 的 ANALYST。
@@ -256,6 +257,7 @@ Session: ${sessionFolder}
// Writer (spec-only / full)
Task({
subagent_type: "general-purpose",
description: `Spawn writer worker`,
team_name: teamName,
name: "writer",
prompt: `你是 team "${teamName}" 的 WRITER。
@@ -276,6 +278,7 @@ Session: ${sessionFolder}
// Discussant (spec-only / full)
Task({
subagent_type: "general-purpose",
description: `Spawn discussant worker`,
team_name: teamName,
name: "discussant",
prompt: `你是 team "${teamName}" 的 DISCUSSANT。
@@ -297,6 +300,7 @@ Session: ${sessionFolder}
// Planner (impl-only / full)
Task({
subagent_type: "general-purpose",
description: `Spawn planner worker`,
team_name: teamName,
name: "planner",
prompt: `你是 team "${teamName}" 的 PLANNER。
@@ -318,6 +322,7 @@ Session: ${sessionFolder}
// Executor (impl-only / full)
Task({
subagent_type: "general-purpose",
description: `Spawn executor worker`,
team_name: teamName,
name: "executor",
prompt: `你是 team "${teamName}" 的 EXECUTOR。
@@ -338,6 +343,7 @@ Task({
// Tester (impl-only / full)
Task({
subagent_type: "general-purpose",
description: `Spawn tester worker`,
team_name: teamName,
name: "tester",
prompt: `你是 team "${teamName}" 的 TESTER。
@@ -358,6 +364,7 @@ Task({
// Reviewer (all modes)
Task({
subagent_type: "general-purpose",
description: `Spawn reviewer worker`,
team_name: teamName,
name: "reviewer",
prompt: `你是 team "${teamName}" 的 REVIEWER。