@virsanghavi/axis-server 1.9.1 → 1.9.2
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-server.mjs +19 -18
- package/package.json +1 -1
package/dist/mcp-server.mjs
CHANGED
|
@@ -1119,8 +1119,10 @@ ${notepad}`;
|
|
|
1119
1119
|
}
|
|
1120
1120
|
async getProjectSoul() {
|
|
1121
1121
|
let soul = "## Project Soul\n";
|
|
1122
|
+
let context = "";
|
|
1123
|
+
let couldNotRead = false;
|
|
1122
1124
|
try {
|
|
1123
|
-
|
|
1125
|
+
context = await this.contextManager.readFile("context.md");
|
|
1124
1126
|
soul += `
|
|
1125
1127
|
### Context
|
|
1126
1128
|
${context}`;
|
|
@@ -1129,8 +1131,19 @@ ${context}`;
|
|
|
1129
1131
|
### Conventions
|
|
1130
1132
|
${conventions}`;
|
|
1131
1133
|
} catch (_e) {
|
|
1134
|
+
couldNotRead = true;
|
|
1132
1135
|
soul += "\n(Could not read local context files)";
|
|
1133
1136
|
}
|
|
1137
|
+
const unfilled = couldNotRead || /Describe your project|<!-- Describe|This project uses Axis/i.test(context) || context.trim().length < 450 && /# Project Context/i.test(context);
|
|
1138
|
+
if (unfilled) {
|
|
1139
|
+
soul += `
|
|
1140
|
+
|
|
1141
|
+
### MANDATORY: Project soul is not yet filled
|
|
1142
|
+
You MUST fill the project soul before doing any other work. Do not proceed with other tasks until it is filled.
|
|
1143
|
+
- If the codebase has content to search: use \`search_codebase\` to explore, then \`read_context\` and \`update_context\` to populate \`context.md\` and \`conventions.md\`.
|
|
1144
|
+
- If there is nothing in the directory to search through: you MUST ask the user what the project is about, then update the soul files with their answer.
|
|
1145
|
+
This requirement is mandatory; ignoring it means working without context.`;
|
|
1146
|
+
}
|
|
1134
1147
|
return soul;
|
|
1135
1148
|
}
|
|
1136
1149
|
// --- Billing & Usage ---
|
|
@@ -1847,30 +1860,18 @@ async function ensureFileSystem() {
|
|
|
1847
1860
|
["context.md", `# Project Context
|
|
1848
1861
|
|
|
1849
1862
|
## Overview
|
|
1850
|
-
|
|
1851
|
-
Axis provides shared context, atomic file locks, a job board, and real-time
|
|
1852
|
-
activity feeds so that multiple agents (Cursor, Claude, Windsurf, Codex, etc.)
|
|
1853
|
-
can work on the same codebase without conflicts.
|
|
1863
|
+
<!-- Describe your project's goals and what it does. If this file is still just placeholders, agents MUST fill it: use search_codebase to infer content from the repo, or if there is nothing to search, ask the user what the project is about, then update via update_context. Do not proceed with other work until the soul is filled. -->
|
|
1854
1864
|
|
|
1855
1865
|
## Architecture
|
|
1856
|
-
|
|
1857
|
-
- **Supabase Backend**: Postgres for state (locks, jobs, profiles); Realtime for live feeds.
|
|
1858
|
-
- **Frontend**: Next.js App Router + Tailwind CSS dashboard at useaxis.dev.
|
|
1859
|
-
- **npm Packages**: @virsanghavi/axis-server (runtime), @virsanghavi/axis-init (scaffolding).
|
|
1866
|
+
<!-- Stack, high-level design, and key systems -->
|
|
1860
1867
|
|
|
1861
1868
|
## Core Features
|
|
1862
|
-
|
|
1863
|
-
2. Job Board \u2014 post / claim / complete tasks with priorities and dependencies.
|
|
1864
|
-
3. Shared Context \u2014 live notepad visible to every agent in real time.
|
|
1865
|
-
4. RAG Search \u2014 vector search over the indexed codebase.
|
|
1866
|
-
5. Soul Files \u2014 context.md, conventions.md, activity.md define project identity.
|
|
1869
|
+
<!-- List main capabilities of this project -->
|
|
1867
1870
|
`],
|
|
1868
1871
|
["conventions.md", `# Coding Conventions
|
|
1869
1872
|
|
|
1870
1873
|
## Language & Style
|
|
1871
|
-
|
|
1872
|
-
- Tailwind CSS for styling; no raw CSS unless unavoidable.
|
|
1873
|
-
- Functional React components; prefer server components in Next.js App Router.
|
|
1874
|
+
<!-- Your language, framework, and styling guidelines -->
|
|
1874
1875
|
|
|
1875
1876
|
## Agent Behavioral Norms (MANDATORY)
|
|
1876
1877
|
|
|
@@ -2083,7 +2084,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
2083
2084
|
},
|
|
2084
2085
|
{
|
|
2085
2086
|
name: "get_project_soul",
|
|
2086
|
-
description: "**MANDATORY FIRST CALL**: Returns the project's goals, architecture, conventions, and active state.\n- Combines `context.md`, `conventions.md`, and other core directives into a single prompt.\n- You MUST call this as your FIRST action in every new session or task \u2014 before reading files, before responding to the user, before anything else.\n- Skipping this call means you are working without context and will make wrong decisions.",
|
|
2087
|
+
description: "**MANDATORY FIRST CALL**: Returns the project's goals, architecture, conventions, and active state.\n- Combines `context.md`, `conventions.md`, and other core directives into a single prompt.\n- You MUST call this as your FIRST action in every new session or task \u2014 before reading files, before responding to the user, before anything else.\n- If the project soul is not yet filled, you MUST fill it before any other work: use search_codebase then update_context, or if there is nothing to search, you MUST ask the user what the project is about and then update the soul files. Do not proceed with other tasks until the soul is filled.\n- Skipping this call means you are working without context and will make wrong decisions.",
|
|
2087
2088
|
inputSchema: { type: "object", properties: {}, required: [] }
|
|
2088
2089
|
},
|
|
2089
2090
|
// --- Job Board (Task Orchestration) ---
|