agents-task-assigning 0.1.0 → 0.2.1
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/README.md +42 -8
- package/dist/cli.js +183 -0
- package/dist/cli.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -28,7 +28,22 @@ Coordinator (main branch)
|
|
|
28
28
|
|
|
29
29
|
## Quick Start
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
One command to set up everything in your project:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npx agents-task-assigning init # or: npx ata init
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
This will:
|
|
38
|
+
|
|
39
|
+
- Create `.mcp.json` with the MCP server config (or merge into existing)
|
|
40
|
+
- Add `.tasks/` and `.worktrees/` to `.gitignore`
|
|
41
|
+
|
|
42
|
+
That's it. Open Claude Code and start assigning tasks.
|
|
43
|
+
|
|
44
|
+
### Manual Setup
|
|
45
|
+
|
|
46
|
+
If you prefer to configure manually, add to your project's `.mcp.json`:
|
|
32
47
|
|
|
33
48
|
```json
|
|
34
49
|
{
|
|
@@ -41,12 +56,6 @@ Add to your project's `.mcp.json`:
|
|
|
41
56
|
}
|
|
42
57
|
```
|
|
43
58
|
|
|
44
|
-
Or install globally:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
npm install -g agents-task-assigning
|
|
48
|
-
```
|
|
49
|
-
|
|
50
59
|
## MCP Tools
|
|
51
60
|
|
|
52
61
|
### Task Management
|
|
@@ -298,11 +307,36 @@ You: Start task 3
|
|
|
298
307
|
(Agent C can now claim and start the CRUD API task)
|
|
299
308
|
```
|
|
300
309
|
|
|
310
|
+
## CLI
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
Usage: ata <command>
|
|
314
|
+
|
|
315
|
+
Commands:
|
|
316
|
+
init Set up agents-task-assigning in the current project
|
|
317
|
+
Creates .mcp.json, updates .gitignore
|
|
318
|
+
|
|
319
|
+
help Show this help message
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
`ata init` is smart about existing configs:
|
|
323
|
+
|
|
324
|
+
| Scenario | Behavior |
|
|
325
|
+
| --------------------------------------- | ------------------------------------ |
|
|
326
|
+
| No `.mcp.json` | Creates new file |
|
|
327
|
+
| `.mcp.json` exists with other servers | Merges `task-assigner` in |
|
|
328
|
+
| `.mcp.json` already has `task-assigner` | Skips (no overwrite) |
|
|
329
|
+
| Invalid `.mcp.json` | Skips with warning |
|
|
330
|
+
| No `.gitignore` (git repo) | Creates with `.tasks/` `.worktrees/` |
|
|
331
|
+
| `.gitignore` missing entries | Appends only the missing ones |
|
|
332
|
+
| `.gitignore` already complete | Skips |
|
|
333
|
+
| Not a git repo | Skips `.gitignore` |
|
|
334
|
+
|
|
301
335
|
## Development
|
|
302
336
|
|
|
303
337
|
```bash
|
|
304
338
|
pnpm install
|
|
305
|
-
pnpm test # run tests (
|
|
339
|
+
pnpm test # run tests (89 tests)
|
|
306
340
|
pnpm build # build to dist/
|
|
307
341
|
```
|
|
308
342
|
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/cli.ts
|
|
4
|
+
import fs from "fs";
|
|
5
|
+
import path from "path";
|
|
6
|
+
var green = (s) => `\x1B[32m${s}\x1B[0m`;
|
|
7
|
+
var yellow = (s) => `\x1B[33m${s}\x1B[0m`;
|
|
8
|
+
var red = (s) => `\x1B[31m${s}\x1B[0m`;
|
|
9
|
+
var cyan = (s) => `\x1B[36m${s}\x1B[0m`;
|
|
10
|
+
var dim = (s) => `\x1B[2m${s}\x1B[0m`;
|
|
11
|
+
var bold = (s) => `\x1B[1m${s}\x1B[0m`;
|
|
12
|
+
var PACKAGE_NAME = "agents-task-assigning";
|
|
13
|
+
var MCP_JSON = ".mcp.json";
|
|
14
|
+
var GITIGNORE = ".gitignore";
|
|
15
|
+
var GITIGNORE_ENTRIES = [".tasks/", ".worktrees/"];
|
|
16
|
+
var MCP_CONFIG = {
|
|
17
|
+
mcpServers: {
|
|
18
|
+
"task-assigner": {
|
|
19
|
+
command: "npx",
|
|
20
|
+
args: ["-y", PACKAGE_NAME]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
function findProjectRoot(cwd) {
|
|
25
|
+
let dir = cwd;
|
|
26
|
+
while (dir !== path.dirname(dir)) {
|
|
27
|
+
if (fs.existsSync(path.join(dir, "package.json")) || fs.existsSync(path.join(dir, ".git"))) {
|
|
28
|
+
return dir;
|
|
29
|
+
}
|
|
30
|
+
dir = path.dirname(dir);
|
|
31
|
+
}
|
|
32
|
+
return cwd;
|
|
33
|
+
}
|
|
34
|
+
function isGitRepo(dir) {
|
|
35
|
+
return fs.existsSync(path.join(dir, ".git"));
|
|
36
|
+
}
|
|
37
|
+
function runInit(cwd) {
|
|
38
|
+
const root = findProjectRoot(cwd);
|
|
39
|
+
const warnings = [];
|
|
40
|
+
let mcpJsonStatus = "created";
|
|
41
|
+
let gitignoreStatus = "created";
|
|
42
|
+
const mcpPath = path.join(root, MCP_JSON);
|
|
43
|
+
if (fs.existsSync(mcpPath)) {
|
|
44
|
+
try {
|
|
45
|
+
const existing = JSON.parse(fs.readFileSync(mcpPath, "utf-8"));
|
|
46
|
+
if (existing?.mcpServers?.["task-assigner"]) {
|
|
47
|
+
mcpJsonStatus = "skipped";
|
|
48
|
+
warnings.push(
|
|
49
|
+
`${MCP_JSON} already has "task-assigner" configured \u2014 skipped`
|
|
50
|
+
);
|
|
51
|
+
} else {
|
|
52
|
+
existing.mcpServers = existing.mcpServers || {};
|
|
53
|
+
existing.mcpServers["task-assigner"] = MCP_CONFIG.mcpServers["task-assigner"];
|
|
54
|
+
fs.writeFileSync(mcpPath, JSON.stringify(existing, null, " ") + "\n");
|
|
55
|
+
mcpJsonStatus = "merged";
|
|
56
|
+
}
|
|
57
|
+
} catch {
|
|
58
|
+
mcpJsonStatus = "skipped";
|
|
59
|
+
warnings.push(
|
|
60
|
+
`${MCP_JSON} exists but is not valid JSON \u2014 skipped (please fix manually)`
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
} else {
|
|
64
|
+
fs.writeFileSync(mcpPath, JSON.stringify(MCP_CONFIG, null, " ") + "\n");
|
|
65
|
+
mcpJsonStatus = "created";
|
|
66
|
+
}
|
|
67
|
+
if (!isGitRepo(root)) {
|
|
68
|
+
gitignoreStatus = "not_git_repo";
|
|
69
|
+
} else {
|
|
70
|
+
const giPath = path.join(root, GITIGNORE);
|
|
71
|
+
if (fs.existsSync(giPath)) {
|
|
72
|
+
const content = fs.readFileSync(giPath, "utf-8");
|
|
73
|
+
const lines = content.split("\n");
|
|
74
|
+
const missing = GITIGNORE_ENTRIES.filter(
|
|
75
|
+
(entry) => !lines.some((l) => l.trim() === entry)
|
|
76
|
+
);
|
|
77
|
+
if (missing.length === 0) {
|
|
78
|
+
gitignoreStatus = "skipped";
|
|
79
|
+
} else {
|
|
80
|
+
const additions = missing.join("\n");
|
|
81
|
+
const separator = content.endsWith("\n") ? "" : "\n";
|
|
82
|
+
const section = `${separator}
|
|
83
|
+
# agents-task-assigning
|
|
84
|
+
${additions}
|
|
85
|
+
`;
|
|
86
|
+
fs.appendFileSync(giPath, section);
|
|
87
|
+
gitignoreStatus = "updated";
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
const section = `# agents-task-assigning
|
|
91
|
+
${GITIGNORE_ENTRIES.join("\n")}
|
|
92
|
+
`;
|
|
93
|
+
fs.writeFileSync(giPath, section);
|
|
94
|
+
gitignoreStatus = "created";
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { root, mcpJson: mcpJsonStatus, gitignore: gitignoreStatus, warnings };
|
|
98
|
+
}
|
|
99
|
+
function printBanner() {
|
|
100
|
+
console.log();
|
|
101
|
+
console.log(bold(" \u26A1 ATA \u2014 Agents Task Assigning"));
|
|
102
|
+
console.log(dim(" Multi-agent task coordination via MCP"));
|
|
103
|
+
console.log();
|
|
104
|
+
}
|
|
105
|
+
function printResult(result) {
|
|
106
|
+
const icon = (status) => {
|
|
107
|
+
switch (status) {
|
|
108
|
+
case "created":
|
|
109
|
+
return green("\u2714 created");
|
|
110
|
+
case "merged":
|
|
111
|
+
return green("\u2714 merged");
|
|
112
|
+
case "updated":
|
|
113
|
+
return green("\u2714 updated");
|
|
114
|
+
case "skipped":
|
|
115
|
+
return yellow("\u2014 skipped");
|
|
116
|
+
case "not_git_repo":
|
|
117
|
+
return dim("\u2014 not a git repo");
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
console.log(` ${cyan("Project")} ${result.root}`);
|
|
121
|
+
console.log();
|
|
122
|
+
console.log(` ${cyan(MCP_JSON)} ${icon(result.mcpJson)}`);
|
|
123
|
+
console.log(` ${cyan(GITIGNORE)} ${icon(result.gitignore)}`);
|
|
124
|
+
if (result.warnings.length > 0) {
|
|
125
|
+
console.log();
|
|
126
|
+
for (const w of result.warnings) {
|
|
127
|
+
console.log(` ${yellow("\u26A0")} ${w}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
console.log();
|
|
131
|
+
console.log(dim(" Next: open Claude Code in this project \u2014 the MCP server"));
|
|
132
|
+
console.log(dim(" will load automatically. Ask Claude to create_tasks."));
|
|
133
|
+
console.log();
|
|
134
|
+
}
|
|
135
|
+
function printHelp() {
|
|
136
|
+
console.log(`
|
|
137
|
+
${bold("Usage:")} ata <command>
|
|
138
|
+
|
|
139
|
+
${bold("Commands:")}
|
|
140
|
+
${cyan("init")} Set up agents-task-assigning in the current project
|
|
141
|
+
Creates ${MCP_JSON}, updates ${GITIGNORE}
|
|
142
|
+
|
|
143
|
+
${cyan("help")} Show this help message
|
|
144
|
+
|
|
145
|
+
${bold("Examples:")}
|
|
146
|
+
${dim("$")} cd my-project
|
|
147
|
+
${dim("$")} ata init
|
|
148
|
+
`);
|
|
149
|
+
}
|
|
150
|
+
function main() {
|
|
151
|
+
const args = process.argv.slice(2);
|
|
152
|
+
const command = args[0];
|
|
153
|
+
switch (command) {
|
|
154
|
+
case "init": {
|
|
155
|
+
printBanner();
|
|
156
|
+
try {
|
|
157
|
+
const result = runInit(process.cwd());
|
|
158
|
+
printResult(result);
|
|
159
|
+
} catch (err) {
|
|
160
|
+
console.error(red(` \u2716 Init failed: ${err.message}`));
|
|
161
|
+
process.exit(1);
|
|
162
|
+
}
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
case "help":
|
|
166
|
+
case "--help":
|
|
167
|
+
case "-h":
|
|
168
|
+
printHelp();
|
|
169
|
+
break;
|
|
170
|
+
case void 0:
|
|
171
|
+
printHelp();
|
|
172
|
+
break;
|
|
173
|
+
default:
|
|
174
|
+
console.error(red(`Unknown command: ${command}`));
|
|
175
|
+
printHelp();
|
|
176
|
+
process.exit(1);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
main();
|
|
180
|
+
export {
|
|
181
|
+
runInit
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { execSync } from \"node:child_process\";\n\n// ── ANSI colors ──────────────────────────────────────────────────────────────\nconst green = (s: string) => `\\x1b[32m${s}\\x1b[0m`;\nconst yellow = (s: string) => `\\x1b[33m${s}\\x1b[0m`;\nconst red = (s: string) => `\\x1b[31m${s}\\x1b[0m`;\nconst cyan = (s: string) => `\\x1b[36m${s}\\x1b[0m`;\nconst dim = (s: string) => `\\x1b[2m${s}\\x1b[0m`;\nconst bold = (s: string) => `\\x1b[1m${s}\\x1b[0m`;\n\n// ── Constants ────────────────────────────────────────────────────────────────\nconst PACKAGE_NAME = \"agents-task-assigning\";\nconst MCP_JSON = \".mcp.json\";\nconst GITIGNORE = \".gitignore\";\nconst GITIGNORE_ENTRIES = [\".tasks/\", \".worktrees/\"];\n\nconst MCP_CONFIG = {\n\tmcpServers: {\n\t\t\"task-assigner\": {\n\t\t\tcommand: \"npx\",\n\t\t\targs: [\"-y\", PACKAGE_NAME],\n\t\t},\n\t},\n};\n\n// ── Helpers ──────────────────────────────────────────────────────────────────\nfunction findProjectRoot(cwd: string): string {\n\tlet dir = cwd;\n\twhile (dir !== path.dirname(dir)) {\n\t\tif (\n\t\t\tfs.existsSync(path.join(dir, \"package.json\")) ||\n\t\t\tfs.existsSync(path.join(dir, \".git\"))\n\t\t) {\n\t\t\treturn dir;\n\t\t}\n\t\tdir = path.dirname(dir);\n\t}\n\t// fallback to cwd\n\treturn cwd;\n}\n\nfunction isGitRepo(dir: string): boolean {\n\treturn fs.existsSync(path.join(dir, \".git\"));\n}\n\nfunction detectPackageManager(dir: string): \"pnpm\" | \"npm\" | \"yarn\" | \"bun\" {\n\tif (fs.existsSync(path.join(dir, \"pnpm-lock.yaml\"))) return \"pnpm\";\n\tif (fs.existsSync(path.join(dir, \"yarn.lock\"))) return \"yarn\";\n\tif (fs.existsSync(path.join(dir, \"bun.lockb\"))) return \"bun\";\n\treturn \"npm\";\n}\n\n// ── Init logic (exported for testing) ────────────────────────────────────────\n\nexport interface InitResult {\n\troot: string;\n\tmcpJson: \"created\" | \"merged\" | \"skipped\";\n\tgitignore: \"created\" | \"updated\" | \"skipped\" | \"not_git_repo\";\n\twarnings: string[];\n}\n\nexport function runInit(cwd: string): InitResult {\n\tconst root = findProjectRoot(cwd);\n\tconst warnings: string[] = [];\n\tlet mcpJsonStatus: InitResult[\"mcpJson\"] = \"created\";\n\tlet gitignoreStatus: InitResult[\"gitignore\"] = \"created\";\n\n\t// ── 1. .mcp.json ──────────────────────────────────────────────────────\n\tconst mcpPath = path.join(root, MCP_JSON);\n\n\tif (fs.existsSync(mcpPath)) {\n\t\ttry {\n\t\t\tconst existing = JSON.parse(fs.readFileSync(mcpPath, \"utf-8\"));\n\n\t\t\tif (existing?.mcpServers?.[\"task-assigner\"]) {\n\t\t\t\tmcpJsonStatus = \"skipped\";\n\t\t\t\twarnings.push(\n\t\t\t\t\t`${MCP_JSON} already has \"task-assigner\" configured — skipped`,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// merge into existing\n\t\t\t\texisting.mcpServers = existing.mcpServers || {};\n\t\t\t\texisting.mcpServers[\"task-assigner\"] =\n\t\t\t\t\tMCP_CONFIG.mcpServers[\"task-assigner\"];\n\t\t\t\tfs.writeFileSync(mcpPath, JSON.stringify(existing, null, \"\\t\") + \"\\n\");\n\t\t\t\tmcpJsonStatus = \"merged\";\n\t\t\t}\n\t\t} catch {\n\t\t\tmcpJsonStatus = \"skipped\";\n\t\t\twarnings.push(\n\t\t\t\t`${MCP_JSON} exists but is not valid JSON — skipped (please fix manually)`,\n\t\t\t);\n\t\t}\n\t} else {\n\t\tfs.writeFileSync(mcpPath, JSON.stringify(MCP_CONFIG, null, \"\\t\") + \"\\n\");\n\t\tmcpJsonStatus = \"created\";\n\t}\n\n\t// ── 2. .gitignore ─────────────────────────────────────────────────────\n\tif (!isGitRepo(root)) {\n\t\tgitignoreStatus = \"not_git_repo\";\n\t} else {\n\t\tconst giPath = path.join(root, GITIGNORE);\n\n\t\tif (fs.existsSync(giPath)) {\n\t\t\tconst content = fs.readFileSync(giPath, \"utf-8\");\n\t\t\tconst lines = content.split(\"\\n\");\n\t\t\tconst missing = GITIGNORE_ENTRIES.filter(\n\t\t\t\t(entry) => !lines.some((l) => l.trim() === entry),\n\t\t\t);\n\n\t\t\tif (missing.length === 0) {\n\t\t\t\tgitignoreStatus = \"skipped\";\n\t\t\t} else {\n\t\t\t\tconst additions = missing.join(\"\\n\");\n\t\t\t\tconst separator = content.endsWith(\"\\n\") ? \"\" : \"\\n\";\n\t\t\t\tconst section = `${separator}\\n# agents-task-assigning\\n${additions}\\n`;\n\t\t\t\tfs.appendFileSync(giPath, section);\n\t\t\t\tgitignoreStatus = \"updated\";\n\t\t\t}\n\t\t} else {\n\t\t\tconst section = `# agents-task-assigning\\n${GITIGNORE_ENTRIES.join(\"\\n\")}\\n`;\n\t\t\tfs.writeFileSync(giPath, section);\n\t\t\tgitignoreStatus = \"created\";\n\t\t}\n\t}\n\n\treturn { root, mcpJson: mcpJsonStatus, gitignore: gitignoreStatus, warnings };\n}\n\n// ── CLI output ───────────────────────────────────────────────────────────────\n\nfunction printBanner() {\n\tconsole.log();\n\tconsole.log(bold(\" ⚡ ATA — Agents Task Assigning\"));\n\tconsole.log(dim(\" Multi-agent task coordination via MCP\"));\n\tconsole.log();\n}\n\nfunction printResult(result: InitResult) {\n\tconst icon = (\n\t\tstatus: \"created\" | \"merged\" | \"updated\" | \"skipped\" | \"not_git_repo\",\n\t) => {\n\t\tswitch (status) {\n\t\t\tcase \"created\":\n\t\t\t\treturn green(\"✔ created\");\n\t\t\tcase \"merged\":\n\t\t\t\treturn green(\"✔ merged\");\n\t\t\tcase \"updated\":\n\t\t\t\treturn green(\"✔ updated\");\n\t\t\tcase \"skipped\":\n\t\t\t\treturn yellow(\"— skipped\");\n\t\t\tcase \"not_git_repo\":\n\t\t\t\treturn dim(\"— not a git repo\");\n\t\t}\n\t};\n\n\tconsole.log(` ${cyan(\"Project\")} ${result.root}`);\n\tconsole.log();\n\tconsole.log(` ${cyan(MCP_JSON)} ${icon(result.mcpJson)}`);\n\tconsole.log(` ${cyan(GITIGNORE)} ${icon(result.gitignore)}`);\n\n\tif (result.warnings.length > 0) {\n\t\tconsole.log();\n\t\tfor (const w of result.warnings) {\n\t\t\tconsole.log(` ${yellow(\"⚠\")} ${w}`);\n\t\t}\n\t}\n\n\tconsole.log();\n\tconsole.log(dim(\" Next: open Claude Code in this project — the MCP server\"));\n\tconsole.log(dim(\" will load automatically. Ask Claude to create_tasks.\"));\n\tconsole.log();\n}\n\nfunction printHelp() {\n\tconsole.log(`\n${bold(\"Usage:\")} ata <command>\n\n${bold(\"Commands:\")}\n ${cyan(\"init\")} Set up agents-task-assigning in the current project\n Creates ${MCP_JSON}, updates ${GITIGNORE}\n\n ${cyan(\"help\")} Show this help message\n\n${bold(\"Examples:\")}\n ${dim(\"$\")} cd my-project\n ${dim(\"$\")} ata init\n`);\n}\n\n// ── Main ─────────────────────────────────────────────────────────────────────\n\nfunction main() {\n\tconst args = process.argv.slice(2);\n\tconst command = args[0];\n\n\tswitch (command) {\n\t\tcase \"init\": {\n\t\t\tprintBanner();\n\t\t\ttry {\n\t\t\t\tconst result = runInit(process.cwd());\n\t\t\t\tprintResult(result);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error(red(` ✖ Init failed: ${(err as Error).message}`));\n\t\t\t\tprocess.exit(1);\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tcase \"help\":\n\t\tcase \"--help\":\n\t\tcase \"-h\":\n\t\t\tprintHelp();\n\t\t\tbreak;\n\t\tcase undefined:\n\t\t\tprintHelp();\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tconsole.error(red(`Unknown command: ${command}`));\n\t\t\tprintHelp();\n\t\t\tprocess.exit(1);\n\t}\n}\n\nmain();\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agents-task-assigning",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "MCP Server for multi-agent task assignment and coordination",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
9
|
-
"agents-task-assigning": "dist/index.js"
|
|
9
|
+
"agents-task-assigning": "dist/index.js",
|
|
10
|
+
"ata": "dist/cli.js"
|
|
10
11
|
},
|
|
11
12
|
"files": [
|
|
12
13
|
"dist"
|