@projectctx/agent 0.1.0-alpha.2 → 0.1.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp.js +1 -1
- package/package.json +3 -3
package/dist/mcp.js
CHANGED
|
@@ -29,7 +29,7 @@ export function createMcpServer(logger) {
|
|
|
29
29
|
logger?.debug("creating MCP server");
|
|
30
30
|
const server = new McpServer({ name: "projectctx-agent", version: "0.1.0-alpha.0" });
|
|
31
31
|
logger?.debug("registering MCP tool: scan_workspace");
|
|
32
|
-
server.tool("scan_workspace", "Scan a local workspace with the ProjectCtx scanner and return structured JSON. Read-only: no memory writes or cloud calls. The result includes auditTargets[]: EVERY content-bearing
|
|
32
|
+
server.tool("scan_workspace", "Scan a local workspace with the ProjectCtx scanner and return structured JSON. Read-only: no memory writes or cloud calls. The result includes auditTargets[]: EVERY content-bearing target — git repos, plain folders (docs, notes, research, campaigns), a root-level loose-file cluster (kind file_cluster), and allowlisted agent/tool dot folders such as .claude, .codex, .agents, .cursor, .windsurf, and .github — each with facts, overview excerpts, importantLookingFiles, and a suggestedReadPlan. Coverage mandate: do not silently skip any audit target, and never infer meaning from folder or file names — meaning comes from reading the actual file contents. If skipped contains beyond maxDepth, re-invoke scan_workspace on that subtree with higher maxDepth; depth is iterative, not a reason to stop. Delegation: <=3 targets inspect inline; 4-15 targets use one focused subagent per target; >15 targets cluster related targets by parent folder at 3-5 targets per subagent; never skip a target to save agents. Each subagent prompt must include the target facts block verbatim, overview excerpts, importantLookingFiles, and suggestedReadPlan as a starting point, then read beyond the plan until it can state what the target is for, what decisions/knowledge it holds, and what would be lost if it vanished. Subagents return memory candidates — never writes — e.g. Project, Person, Decision, Research Thread, Campaign, Experiment, Service, Dataset, Open Question, Source (open-ended; capture other meaningful things too), each with title, type, why it matters, source file path(s), confidence, suggested collection, and suggested relationships. Then run a verification pass: confirm each candidate is supported by cited files, not already in memory (get_workspace_schema + search_memory/query_records), and captures meaning rather than file inventory. Run a completeness critic: every target has candidates or a concrete 'nothing meaningful' explanation, no skipped deep subtree is left unre-scanned, and another bounded round would produce nothing new. Present a coverage table to the user before preview/apply; ask before writing anything; use the preview/apply flow only.", {
|
|
33
33
|
rootPath: z.string().optional(),
|
|
34
34
|
maxRepos: z.number().int().positive().optional(),
|
|
35
35
|
maxTargets: z.number().int().positive().optional(),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@projectctx/agent",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"pack:verify": "node scripts/verify-package.mjs"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@projectctx/contracts": "0.1.0-alpha.
|
|
33
|
-
"@projectctx/indexer": "0.1.0-alpha.
|
|
32
|
+
"@projectctx/contracts": "0.1.0-alpha.3",
|
|
33
|
+
"@projectctx/indexer": "0.1.0-alpha.3",
|
|
34
34
|
"@modelcontextprotocol/sdk": "^1.13.1",
|
|
35
35
|
"@napi-rs/keyring": "^1.3.0",
|
|
36
36
|
"zod": "^3.25.67"
|