@papi-ai/server 0.2.0-alpha.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/README.md +120 -0
- package/dist/index.js +13540 -0
- package/package.json +53 -0
- package/skills/next-task.md +33 -0
- package/skills/quick-review.md +38 -0
- package/skills/sprint-status.md +33 -0
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@papi-ai/server",
|
|
3
|
+
"version": "0.2.0-alpha.2",
|
|
4
|
+
"description": "PAPI MCP server — AI-powered sprint planning, build execution, and strategy review for software projects",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"papi-server": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"skills",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsup",
|
|
17
|
+
"start": "node dist/index.js",
|
|
18
|
+
"test": "vitest run",
|
|
19
|
+
"test:watch": "vitest",
|
|
20
|
+
"prepack": "rm -rf dist && npm run build"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"mcp",
|
|
24
|
+
"model-context-protocol",
|
|
25
|
+
"sprint-planning",
|
|
26
|
+
"project-management",
|
|
27
|
+
"ai",
|
|
28
|
+
"claude",
|
|
29
|
+
"anthropic",
|
|
30
|
+
"devtools"
|
|
31
|
+
],
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "https://github.com/cathalos92/papi-ui.git",
|
|
36
|
+
"directory": "packages/server"
|
|
37
|
+
},
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=18.0.0"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@anthropic-ai/sdk": "^0.78.0",
|
|
43
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
44
|
+
"js-yaml": "^4.1.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/js-yaml": "^4.0.9",
|
|
48
|
+
"@types/node": "^22.0.0",
|
|
49
|
+
"tsup": "^8.0.0",
|
|
50
|
+
"typescript": "^5.5.0",
|
|
51
|
+
"vitest": "^4.0.18"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: next-task
|
|
3
|
+
description: >
|
|
4
|
+
Pick the next task to build and start working on it.
|
|
5
|
+
Use when the user says /next-task, "what should I build next",
|
|
6
|
+
"start building", "pick a task", or "next".
|
|
7
|
+
invocable: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /next-task — Pick and Start Next Task
|
|
11
|
+
|
|
12
|
+
Find the highest-priority unstarted task and begin the build.
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
1. **Run `build_list`** — get the list of tasks with BUILD HANDOFFs.
|
|
17
|
+
|
|
18
|
+
2. **Pick the next task:**
|
|
19
|
+
- If any task is **In Progress**, resume that one (don't start a new one).
|
|
20
|
+
- Otherwise, pick the first **Backlog** task from the list (already priority-sorted).
|
|
21
|
+
|
|
22
|
+
3. **Show the user what you're picking** — task ID, title, and effort estimate. Ask for confirmation: "Starting task-XXX: [title] (effort: M). Go ahead?"
|
|
23
|
+
|
|
24
|
+
4. **On confirmation, run `build_execute`** with the task ID to start the build. This creates a feature branch and returns the BUILD HANDOFF with scope, acceptance criteria, and files to touch.
|
|
25
|
+
|
|
26
|
+
5. **Read the BUILD HANDOFF carefully** and begin implementation. Follow the scope — don't exceed it.
|
|
27
|
+
|
|
28
|
+
6. **After implementation, run `build_execute` again** with the report fields (completed, effort, estimated_effort, surprises, discovered_issues, architecture_notes) to complete the build.
|
|
29
|
+
|
|
30
|
+
## Notes
|
|
31
|
+
|
|
32
|
+
- If the build list is empty, tell the user: "No tasks with handoffs. Run `plan` to create the next sprint."
|
|
33
|
+
- If all tasks are In Review or Done, suggest running reviews or release instead.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quick-review
|
|
3
|
+
description: >
|
|
4
|
+
Review and accept/reject completed builds.
|
|
5
|
+
Use when the user says /quick-review, "review builds", "accept reviews",
|
|
6
|
+
"check reviews", or after completing a batch of builds.
|
|
7
|
+
invocable: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /quick-review — Review Completed Builds
|
|
11
|
+
|
|
12
|
+
Check for builds pending review and process them.
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
1. **Run `review_list`** — shows tasks that are In Review with their build reports.
|
|
17
|
+
|
|
18
|
+
2. **If no tasks are pending review**, tell the user: "No builds pending review." Suggest the next action (build more tasks, or release if all are done).
|
|
19
|
+
|
|
20
|
+
3. **For each task pending review**, show:
|
|
21
|
+
- Task ID and title
|
|
22
|
+
- Effort (estimated vs actual)
|
|
23
|
+
- Scope accuracy
|
|
24
|
+
- Surprises or discovered issues
|
|
25
|
+
- Brief summary of what was built
|
|
26
|
+
|
|
27
|
+
4. **Ask the user:** "Accept all N reviews, or review individually?"
|
|
28
|
+
|
|
29
|
+
5. **On acceptance, run `review_submit`** for each task with verdict "accept". Include a brief comment summarising the build.
|
|
30
|
+
|
|
31
|
+
6. **After all reviews are processed**, check if the sprint is complete:
|
|
32
|
+
- If all sprint tasks are Done: "Sprint complete. Run `release` to merge and tag."
|
|
33
|
+
- If tasks remain: "N tasks still to build. Use `/next-task` to continue."
|
|
34
|
+
|
|
35
|
+
## Notes
|
|
36
|
+
|
|
37
|
+
- If the user wants to reject or request changes on a specific task, run `review_submit` with the appropriate verdict and comments.
|
|
38
|
+
- Reviews are lightweight — the build report has the details. The user just needs to confirm the work is acceptable.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sprint-status
|
|
3
|
+
description: >
|
|
4
|
+
Show current sprint health, board state, and recommended next action.
|
|
5
|
+
Use when the user says /sprint-status, "what's the status", "where are we",
|
|
6
|
+
"sprint health", or at the start of a session to orient.
|
|
7
|
+
invocable: true
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /sprint-status — Sprint Health Check
|
|
11
|
+
|
|
12
|
+
Run the PAPI health and build list tools to give the user a complete picture of where things stand.
|
|
13
|
+
|
|
14
|
+
## Steps
|
|
15
|
+
|
|
16
|
+
1. **Run `health`** — the PAPI MCP tool that returns sprint number, board state, strategy review cadence, Active Decisions summary, velocity, and estimation accuracy.
|
|
17
|
+
|
|
18
|
+
2. **Run `build_list`** — shows tasks with BUILD HANDOFFs ready for execution, prioritised by status (In Progress first, then Backlog).
|
|
19
|
+
|
|
20
|
+
3. **Summarise clearly:**
|
|
21
|
+
- "You're on Sprint N. X tasks to build, Y builds pending review."
|
|
22
|
+
- Or: "Sprint N is complete — ready for the next plan."
|
|
23
|
+
- Flag any issues: stale In Progress tasks, strategy review due, orphaned branches.
|
|
24
|
+
|
|
25
|
+
4. **Suggest the next action:**
|
|
26
|
+
- If tasks are In Review: "Run `review_submit` to accept/reject pending reviews."
|
|
27
|
+
- If tasks are in Backlog: "Pick a task to build — use `/next-task` to start."
|
|
28
|
+
- If all tasks are Done: "All tasks complete. Run `plan` to create the next sprint."
|
|
29
|
+
- If strategy review is due: mention it before suggesting plan.
|
|
30
|
+
|
|
31
|
+
## Output format
|
|
32
|
+
|
|
33
|
+
Keep it concise. Lead with the status line, then a brief board summary, then the recommended next action.
|