@projitive/mcp 2.0.3 → 2.1.0

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.
Files changed (52) hide show
  1. package/output/package.json +8 -2
  2. package/output/source/common/artifacts.js +1 -1
  3. package/output/source/common/artifacts.test.js +11 -11
  4. package/output/source/common/errors.js +19 -19
  5. package/output/source/common/errors.test.js +59 -0
  6. package/output/source/common/files.js +30 -19
  7. package/output/source/common/files.test.js +14 -14
  8. package/output/source/common/index.js +11 -10
  9. package/output/source/common/linter.js +29 -27
  10. package/output/source/common/linter.test.js +9 -9
  11. package/output/source/common/markdown.js +3 -3
  12. package/output/source/common/markdown.test.js +15 -15
  13. package/output/source/common/response.js +91 -107
  14. package/output/source/common/response.test.js +30 -30
  15. package/output/source/common/store.js +40 -40
  16. package/output/source/common/store.test.js +72 -72
  17. package/output/source/common/tool.js +43 -0
  18. package/output/source/common/types.js +3 -3
  19. package/output/source/common/utils.js +8 -8
  20. package/output/source/common/utils.test.js +48 -0
  21. package/output/source/index.js +16 -16
  22. package/output/source/index.runtime.test.js +57 -0
  23. package/output/source/index.test.js +64 -64
  24. package/output/source/prompts/index.js +3 -3
  25. package/output/source/prompts/index.test.js +23 -0
  26. package/output/source/prompts/quickStart.js +96 -96
  27. package/output/source/prompts/quickStart.test.js +24 -0
  28. package/output/source/prompts/taskDiscovery.js +184 -184
  29. package/output/source/prompts/taskDiscovery.test.js +24 -0
  30. package/output/source/prompts/taskExecution.js +164 -148
  31. package/output/source/prompts/taskExecution.test.js +27 -0
  32. package/output/source/resources/designs.js +26 -26
  33. package/output/source/resources/designs.resources.test.js +52 -0
  34. package/output/source/resources/designs.test.js +88 -88
  35. package/output/source/resources/governance.js +19 -19
  36. package/output/source/resources/governance.test.js +35 -0
  37. package/output/source/resources/index.js +2 -2
  38. package/output/source/resources/index.test.js +18 -0
  39. package/output/source/resources/readme.js +7 -7
  40. package/output/source/resources/readme.test.js +113 -113
  41. package/output/source/resources/reports.js +10 -10
  42. package/output/source/resources/reports.test.js +83 -83
  43. package/output/source/tools/index.js +3 -3
  44. package/output/source/tools/index.test.js +23 -0
  45. package/output/source/tools/project.js +330 -377
  46. package/output/source/tools/project.test.js +308 -175
  47. package/output/source/tools/roadmap.js +236 -255
  48. package/output/source/tools/roadmap.test.js +241 -46
  49. package/output/source/tools/task.js +770 -652
  50. package/output/source/tools/task.test.js +433 -105
  51. package/output/source/types.js +28 -22
  52. package/package.json +8 -2
@@ -5,7 +5,7 @@
5
5
  // ============================================================================
6
6
  // Task State Machine
7
7
  // ============================================================================
8
- export const ALLOWED_STATUS = ["TODO", "IN_PROGRESS", "BLOCKED", "DONE"];
8
+ export const ALLOWED_STATUS = ['TODO', 'IN_PROGRESS', 'BLOCKED', 'DONE'];
9
9
  // ============================================================================
10
10
  // Sub-state Metadata (Spec v1.1.0)
11
11
  // ============================================================================
@@ -16,33 +16,39 @@ export const ALLOWED_STATUS = ["TODO", "IN_PROGRESS", "BLOCKED", "DONE"];
16
16
  * - implementation: Writing and testing code
17
17
  * - testing: Validation and verification
18
18
  */
19
- export const SUB_STATE_PHASES = ["discovery", "design", "implementation", "testing"];
19
+ export const SUB_STATE_PHASES = ['discovery', 'design', 'implementation', 'testing'];
20
20
  /**
21
21
  * Blocker categorization for BLOCKED state (Spec v1.1.0)
22
22
  */
23
23
  export const BLOCKER_TYPES = [
24
- "internal_dependency",
25
- "external_dependency",
26
- "resource",
27
- "approval"
24
+ 'internal_dependency',
25
+ 'external_dependency',
26
+ 'resource',
27
+ 'approval'
28
28
  ];
29
29
  export const TASK_LINT_CODES = {
30
- DUPLICATE_ID: "TASK_DUPLICATE_ID",
31
- IN_PROGRESS_OWNER_EMPTY: "TASK_IN_PROGRESS_OWNER_EMPTY",
32
- DONE_LINKS_MISSING: "TASK_DONE_LINKS_MISSING",
33
- BLOCKED_SUMMARY_EMPTY: "TASK_BLOCKED_SUMMARY_EMPTY",
34
- UPDATED_AT_INVALID: "TASK_UPDATED_AT_INVALID",
35
- ROADMAP_REFS_EMPTY: "TASK_ROADMAP_REFS_EMPTY",
36
- OUTSIDE_MARKER: "TASK_OUTSIDE_MARKER",
37
- FILTER_EMPTY: "TASK_FILTER_EMPTY",
38
- LINK_TARGET_MISSING: "TASK_LINK_TARGET_MISSING",
39
- LINK_PATH_FORMAT_INVALID: "TASK_LINK_PATH_FORMAT_INVALID",
30
+ DUPLICATE_ID: 'TASK_DUPLICATE_ID',
31
+ IN_PROGRESS_OWNER_EMPTY: 'TASK_IN_PROGRESS_OWNER_EMPTY',
32
+ DONE_LINKS_MISSING: 'TASK_DONE_LINKS_MISSING',
33
+ BLOCKED_SUMMARY_EMPTY: 'TASK_BLOCKED_SUMMARY_EMPTY',
34
+ UPDATED_AT_INVALID: 'TASK_UPDATED_AT_INVALID',
35
+ ROADMAP_REFS_EMPTY: 'TASK_ROADMAP_REFS_EMPTY',
36
+ OUTSIDE_MARKER: 'TASK_OUTSIDE_MARKER',
37
+ FILTER_EMPTY: 'TASK_FILTER_EMPTY',
38
+ LINK_TARGET_MISSING: 'TASK_LINK_TARGET_MISSING',
39
+ LINK_PATH_FORMAT_INVALID: 'TASK_LINK_PATH_FORMAT_INVALID',
40
40
  // Spec v1.1.0 - Blocker Categorization
41
- BLOCKED_WITHOUT_BLOCKER: "TASK_BLOCKED_WITHOUT_BLOCKER",
42
- BLOCKER_TYPE_INVALID: "TASK_BLOCKER_TYPE_INVALID",
43
- BLOCKER_DESCRIPTION_EMPTY: "TASK_BLOCKER_DESCRIPTION_EMPTY",
41
+ BLOCKED_WITHOUT_BLOCKER: 'TASK_BLOCKED_WITHOUT_BLOCKER',
42
+ BLOCKER_TYPE_INVALID: 'TASK_BLOCKER_TYPE_INVALID',
43
+ BLOCKER_DESCRIPTION_EMPTY: 'TASK_BLOCKER_DESCRIPTION_EMPTY',
44
44
  // Spec v1.1.0 - Sub-state Metadata
45
- IN_PROGRESS_WITHOUT_SUBSTATE: "TASK_IN_PROGRESS_WITHOUT_SUBSTATE",
46
- SUBSTATE_PHASE_INVALID: "TASK_SUBSTATE_PHASE_INVALID",
47
- SUBSTATE_CONFIDENCE_INVALID: "TASK_SUBSTATE_CONFIDENCE_INVALID",
45
+ IN_PROGRESS_WITHOUT_SUBSTATE: 'TASK_IN_PROGRESS_WITHOUT_SUBSTATE',
46
+ SUBSTATE_PHASE_INVALID: 'TASK_SUBSTATE_PHASE_INVALID',
47
+ SUBSTATE_CONFIDENCE_INVALID: 'TASK_SUBSTATE_CONFIDENCE_INVALID',
48
+ RESEARCH_BRIEF_MISSING: 'TASK_RESEARCH_BRIEF_MISSING',
49
+ RESEARCH_BRIEF_INCOMPLETE: 'TASK_RESEARCH_BRIEF_INCOMPLETE',
50
+ };
51
+ export const PROJECT_LINT_CODES = {
52
+ ARCHITECTURE_DOC_MISSING: 'PROJECT_ARCHITECTURE_DOC_MISSING',
53
+ STYLE_DOC_MISSING: 'PROJECT_STYLE_DOC_MISSING',
48
54
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projitive/mcp",
3
- "version": "2.0.3",
3
+ "version": "2.1.0",
4
4
  "description": "Projitive MCP Server for project and task discovery/update",
5
5
  "license": "ISC",
6
6
  "author": "",
@@ -16,7 +16,9 @@
16
16
  "test": "vitest run",
17
17
  "test:coverage": "vitest run --coverage",
18
18
  "benchmark": "vitest bench --run",
19
- "lint": "tsc -p tsconfig.json --noEmit",
19
+ "lint": "npm run lint:types && npm run lint:eslint",
20
+ "lint:types": "tsc -p tsconfig.json --noEmit",
21
+ "lint:eslint": "eslint .",
20
22
  "build": "rm -rf output && tsc -p tsconfig.json",
21
23
  "prepublishOnly": "npm run build",
22
24
  "dev": "tsc -p tsconfig.json --watch"
@@ -31,8 +33,12 @@
31
33
  "devDependencies": {
32
34
  "@types/node": "^24.3.0",
33
35
  "@vitest/coverage-v8": "^3.2.4",
36
+ "@eslint/js": "^9.37.0",
37
+ "eslint": "^9.37.0",
38
+ "globals": "^16.4.0",
34
39
  "tsx": "^4.20.5",
35
40
  "typescript": "^5.9.2",
41
+ "typescript-eslint": "^8.45.0",
36
42
  "vitest": "^3.2.4"
37
43
  }
38
44
  }