@cleocode/core 2026.3.45 → 2026.3.47

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 (154) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/index.js +1508 -377
  3. package/dist/index.js.map +4 -4
  4. package/dist/init.d.ts.map +1 -1
  5. package/dist/injection.d.ts +1 -1
  6. package/dist/injection.d.ts.map +1 -1
  7. package/dist/routing/capability-matrix.d.ts +6 -4
  8. package/dist/routing/capability-matrix.d.ts.map +1 -1
  9. package/dist/scaffold.d.ts +35 -9
  10. package/dist/scaffold.d.ts.map +1 -1
  11. package/dist/skills/agents/install.d.ts.map +1 -1
  12. package/dist/skills/routing-table.d.ts +17 -16
  13. package/dist/skills/routing-table.d.ts.map +1 -1
  14. package/dist/skills/skill-paths.d.ts.map +1 -1
  15. package/dist/system/health.d.ts.map +1 -1
  16. package/dist/ui/index.d.ts +0 -1
  17. package/dist/ui/index.d.ts.map +1 -1
  18. package/package.json +9 -4
  19. package/schemas/adr-frontmatter.schema.json +72 -0
  20. package/schemas/agent-configs.schema.json +120 -0
  21. package/schemas/agent-registry.json +243 -0
  22. package/schemas/agent-registry.schema.json +132 -0
  23. package/schemas/archive/research-manifest.schema.json +257 -0
  24. package/schemas/archive.schema.json +450 -0
  25. package/schemas/brain-decision.schema.json +69 -0
  26. package/schemas/brain-learning.schema.json +57 -0
  27. package/schemas/brain-pattern.schema.json +72 -0
  28. package/schemas/config.schema.json +2606 -0
  29. package/schemas/context-state.schema.json +137 -0
  30. package/schemas/contribution.schema.json +722 -0
  31. package/schemas/critical-path.schema.json +246 -0
  32. package/schemas/deps-cache.schema.json +97 -0
  33. package/schemas/doctor-output.schema.json +283 -0
  34. package/schemas/error.schema.json +161 -0
  35. package/schemas/export-package.schema.json +375 -0
  36. package/schemas/global-config.schema.json +219 -0
  37. package/schemas/grade.schema.json +49 -0
  38. package/schemas/log.schema.json +250 -0
  39. package/schemas/metrics.schema.json +328 -0
  40. package/schemas/migrations.schema.json +150 -0
  41. package/schemas/nexus-registry.schema.json +90 -0
  42. package/schemas/operation-constitution.schema.json +438 -0
  43. package/schemas/output.schema.json +164 -0
  44. package/schemas/project-context.schema.json +164 -0
  45. package/schemas/project-info.schema.json +180 -0
  46. package/schemas/projects-registry.schema.json +107 -0
  47. package/schemas/protocol-frontmatter.schema.json +72 -0
  48. package/schemas/rcasd-consensus-report.schema.json +10 -0
  49. package/schemas/rcasd-evidence.schema.json +42 -0
  50. package/schemas/rcasd-gate-result.schema.json +46 -0
  51. package/schemas/rcasd-hitl-resolution.schema.json +10 -0
  52. package/schemas/rcasd-index.schema.json +10 -0
  53. package/schemas/rcasd-manifest.schema.json +10 -0
  54. package/schemas/rcasd-research-output.schema.json +10 -0
  55. package/schemas/rcasd-spec-frontmatter.schema.json +10 -0
  56. package/schemas/rcasd-stage-transition.schema.json +38 -0
  57. package/schemas/releases.schema.json +267 -0
  58. package/schemas/skills-manifest.schema.json +91 -0
  59. package/schemas/skillsmp.schema.json +208 -0
  60. package/schemas/spec-index.schema.json +196 -0
  61. package/schemas/system-flow-atlas.schema.json +125 -0
  62. package/src/__tests__/injection-chain.test.d.ts +4 -3
  63. package/src/__tests__/injection-chain.test.d.ts.map +1 -1
  64. package/src/__tests__/injection-chain.test.js +11 -10
  65. package/src/__tests__/injection-chain.test.js.map +1 -1
  66. package/src/__tests__/injection-chain.test.ts +11 -10
  67. package/src/__tests__/injection-mvi-tiers.test.js +4 -2
  68. package/src/__tests__/injection-mvi-tiers.test.js.map +1 -1
  69. package/src/__tests__/injection-mvi-tiers.test.ts +4 -2
  70. package/src/agents/__tests__/capacity.test.d.ts +7 -0
  71. package/src/agents/__tests__/capacity.test.d.ts.map +1 -0
  72. package/src/agents/__tests__/capacity.test.js +173 -0
  73. package/src/agents/__tests__/capacity.test.js.map +1 -0
  74. package/src/agents/__tests__/registry.test.d.ts +8 -0
  75. package/src/agents/__tests__/registry.test.d.ts.map +1 -0
  76. package/src/agents/__tests__/registry.test.js +348 -0
  77. package/src/agents/__tests__/registry.test.js.map +1 -0
  78. package/src/agents/__tests__/retry.test.d.ts +7 -0
  79. package/src/agents/__tests__/retry.test.d.ts.map +1 -0
  80. package/src/agents/__tests__/retry.test.js +225 -0
  81. package/src/agents/__tests__/retry.test.js.map +1 -0
  82. package/src/bootstrap.ts +37 -6
  83. package/src/init.ts +63 -18
  84. package/src/injection.ts +11 -5
  85. package/src/intelligence/__tests__/impact.test.d.ts +15 -0
  86. package/src/intelligence/__tests__/impact.test.d.ts.map +1 -0
  87. package/src/intelligence/__tests__/impact.test.js +384 -0
  88. package/src/intelligence/__tests__/impact.test.js.map +1 -0
  89. package/src/intelligence/__tests__/patterns.test.d.ts +8 -0
  90. package/src/intelligence/__tests__/patterns.test.d.ts.map +1 -0
  91. package/src/intelligence/__tests__/patterns.test.js +370 -0
  92. package/src/intelligence/__tests__/patterns.test.js.map +1 -0
  93. package/src/intelligence/__tests__/prediction.test.d.ts +8 -0
  94. package/src/intelligence/__tests__/prediction.test.d.ts.map +1 -0
  95. package/src/intelligence/__tests__/prediction.test.js +314 -0
  96. package/src/intelligence/__tests__/prediction.test.js.map +1 -0
  97. package/src/nexus/__tests__/nexus-e2e.test.d.ts +12 -0
  98. package/src/nexus/__tests__/nexus-e2e.test.d.ts.map +1 -0
  99. package/src/nexus/__tests__/nexus-e2e.test.js +1220 -0
  100. package/src/nexus/__tests__/nexus-e2e.test.js.map +1 -0
  101. package/src/nexus/__tests__/transfer.test.d.ts +8 -0
  102. package/src/nexus/__tests__/transfer.test.d.ts.map +1 -0
  103. package/src/nexus/__tests__/transfer.test.js +372 -0
  104. package/src/nexus/__tests__/transfer.test.js.map +1 -0
  105. package/src/nexus/__tests__/transfer.test.ts +1 -1
  106. package/src/routing/capability-matrix.ts +1435 -205
  107. package/src/scaffold.ts +70 -13
  108. package/src/sessions/__tests__/briefing.test.js +28 -2
  109. package/src/sessions/__tests__/briefing.test.js.map +1 -1
  110. package/src/skills/__tests__/routing-table.test.js +48 -31
  111. package/src/skills/__tests__/routing-table.test.js.map +1 -1
  112. package/src/skills/__tests__/routing-table.test.ts +53 -33
  113. package/src/skills/agents/install.ts +9 -1
  114. package/src/skills/orchestrator/__tests__/spawn-tier.test.js +41 -32
  115. package/src/skills/orchestrator/__tests__/spawn-tier.test.js.map +1 -1
  116. package/src/skills/routing-table.ts +39 -253
  117. package/src/skills/skill-paths.ts +3 -2
  118. package/src/store/__tests__/project-detect.test.js +1 -1
  119. package/src/store/__tests__/project-detect.test.js.map +1 -1
  120. package/src/store/__tests__/project-detect.test.ts +1 -1
  121. package/src/store/__tests__/test-db-helper.d.ts.map +1 -1
  122. package/src/store/__tests__/test-db-helper.js +0 -1
  123. package/src/store/__tests__/test-db-helper.js.map +1 -1
  124. package/src/system/health.ts +18 -7
  125. package/src/ui/index.ts +0 -6
  126. package/src/validation/operation-gate-validators.ts +2 -2
  127. package/templates/CLEO-INJECTION.md +120 -0
  128. package/templates/README.md +29 -0
  129. package/templates/agent-registry.json +305 -0
  130. package/templates/cleo-gitignore +74 -0
  131. package/templates/config.template.json +187 -0
  132. package/templates/git-hooks/commit-msg +149 -0
  133. package/templates/git-hooks/pre-commit +40 -0
  134. package/templates/git-hooks/pre-push +79 -0
  135. package/templates/github/ISSUE_TEMPLATE/bug_report.yml +143 -0
  136. package/templates/github/ISSUE_TEMPLATE/config.yml +8 -0
  137. package/templates/github/ISSUE_TEMPLATE/feature_request.yml +125 -0
  138. package/templates/github/ISSUE_TEMPLATE/help_question.yml +99 -0
  139. package/templates/global-config.template.json +56 -0
  140. package/templates/hooks/precompact-safestop.sh +89 -0
  141. package/templates/issue-templates/bug_report.yml +143 -0
  142. package/templates/issue-templates/config.yml +8 -0
  143. package/templates/issue-templates/feature_request.yml +125 -0
  144. package/templates/issue-templates/help_question.yml +99 -0
  145. package/templates/skillsmp.json.example +28 -0
  146. package/templates/skillsmp.json.example.md +214 -0
  147. package/dist/ui/injection-legacy.d.ts +0 -26
  148. package/dist/ui/injection-legacy.d.ts.map +0 -1
  149. package/src/ui/__tests__/injection-registry.test.d.ts +0 -11
  150. package/src/ui/__tests__/injection-registry.test.d.ts.map +0 -1
  151. package/src/ui/__tests__/injection-registry.test.js +0 -46
  152. package/src/ui/__tests__/injection-registry.test.js.map +0 -1
  153. package/src/ui/__tests__/injection-registry.test.ts +0 -57
  154. package/src/ui/injection-legacy.ts +0 -44
@@ -0,0 +1,56 @@
1
+ {
2
+ "$schema": "./schemas/global-config.schema.json",
3
+ "version": "{{SCHEMA_VERSION_GLOBAL_CONFIG}}",
4
+ "output": {
5
+ "defaultFormat": "text",
6
+ "showColor": true,
7
+ "showUnicode": true,
8
+ "showProgressBars": true,
9
+ "dateFormat": "iso8601",
10
+ "showCompactTitles": false,
11
+ "maxTitleLength": 80
12
+ },
13
+ "display": {
14
+ "showArchiveCount": true,
15
+ "showLogSummary": true,
16
+ "warnStaleDays": 30
17
+ },
18
+ "cli": {
19
+ "aliases": {
20
+ "ls": "list",
21
+ "done": "complete",
22
+ "new": "add",
23
+ "edit": "update",
24
+ "rm": "archive",
25
+ "check": "validate",
26
+ "tags": "labels",
27
+ "overview": "dash"
28
+ },
29
+ "plugins": {
30
+ "enabled": true,
31
+ "directories": [
32
+ "~/.cleo/plugins",
33
+ "./.cleo/plugins"
34
+ ],
35
+ "autoDiscover": true
36
+ },
37
+ "debug": {
38
+ "enabled": false,
39
+ "validateMappings": true,
40
+ "checksumVerify": true,
41
+ "showTimings": false
42
+ }
43
+ },
44
+ "defaults": {
45
+ "priority": "medium",
46
+ "labels": []
47
+ },
48
+ "multiSession": {
49
+ "enabled": true,
50
+ "maxConcurrentSessions": 5,
51
+ "maxActiveTasksPerScope": 1,
52
+ "scopeValidation": "strict",
53
+ "allowNestedScopes": true,
54
+ "allowScopeOverlap": false
55
+ }
56
+ }
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env bash
2
+ # CLEO PreCompact Hook - Emergency Safestop Fallback
3
+ # Triggers when Claude Code auto-compact fires (95% context usage)
4
+ #
5
+ # INSTALLATION:
6
+ # Copy to ~/.claude/hooks/ or configure in ~/.claude/settings.json:
7
+ # {
8
+ # "hooks": {
9
+ # "PreCompact": [{
10
+ # "type": "command",
11
+ # "command": "~/.cleo/hooks/precompact-safestop.sh",
12
+ # "timeout": 30
13
+ # }]
14
+ # }
15
+ # }
16
+ #
17
+ # This hook provides emergency fallback when an agent doesn't self-stop
18
+ # at the critical (90%) threshold. At 95%, Claude Code triggers PreCompact,
19
+ # and this hook ensures CLEO session state is properly saved.
20
+
21
+ set -euo pipefail
22
+
23
+ # Find CLEO project directory
24
+ find_cleo_dir() {
25
+ local dir="$PWD"
26
+ while [[ "$dir" != "/" ]]; do
27
+ if [[ -d "$dir/.cleo" ]]; then
28
+ echo "$dir/.cleo"
29
+ return 0
30
+ fi
31
+ dir="$(dirname "$dir")"
32
+ done
33
+ echo ""
34
+ }
35
+
36
+ CLEO_DIR="${CLEO_PROJECT_DIR:-$(find_cleo_dir)}"
37
+ SESSION_FILE="${CLEO_DIR:-.cleo}/.current-session"
38
+ LOG_FILE="${CLEO_DIR:-.cleo}/safestop.log"
39
+
40
+ log_message() {
41
+ local timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
42
+ echo "[$timestamp] $1" >> "$LOG_FILE" 2>/dev/null || true
43
+ echo "[CLEO] $1" >&2
44
+ }
45
+
46
+ # Check if CLEO session is active
47
+ if [[ -n "$CLEO_DIR" && -f "$SESSION_FILE" ]]; then
48
+ SESSION_ID=$(cat "$SESSION_FILE" 2>/dev/null || echo "")
49
+
50
+ if [[ -n "$SESSION_ID" ]]; then
51
+ log_message "PreCompact triggered - initiating emergency safestop"
52
+
53
+ # Find cleo command
54
+ CLEO_CMD="${CLEO_HOME:-$HOME/.cleo}/bin/cleo"
55
+ if [[ ! -x "$CLEO_CMD" ]]; then
56
+ CLEO_CMD=$(which cleo 2>/dev/null || echo "")
57
+ fi
58
+
59
+ if [[ -n "$CLEO_CMD" && -x "$CLEO_CMD" ]]; then
60
+ # Run safestop with emergency flag
61
+ HANDOFF_FILE="${CLEO_DIR}/handoff-emergency-$(date +%s).json"
62
+
63
+ "$CLEO_CMD" safestop \
64
+ --reason "precompact-emergency" \
65
+ --commit \
66
+ --handoff "$HANDOFF_FILE" \
67
+ 2>&1 | tee -a "$LOG_FILE" || true
68
+
69
+ log_message "Emergency safestop completed. Handoff: $HANDOFF_FILE"
70
+
71
+ # Signal to Claude that safestop was performed
72
+ echo ""
73
+ echo "⚠️ CLEO Emergency Safestop executed at PreCompact (95% context)."
74
+ echo "Session ended. Handoff saved to: $HANDOFF_FILE"
75
+ echo "Resume with: cleo session resume $SESSION_ID"
76
+ else
77
+ log_message "ERROR: cleo command not found, cannot perform safestop"
78
+ echo "⚠️ PreCompact triggered but cleo command not found" >&2
79
+ fi
80
+ else
81
+ log_message "PreCompact triggered but session file empty"
82
+ fi
83
+ else
84
+ # No active CLEO session - just log
85
+ if [[ -n "$CLEO_DIR" ]]; then
86
+ log_message "PreCompact triggered but no active CLEO session"
87
+ fi
88
+ # Silent exit - don't interfere with normal Claude Code operation
89
+ fi
@@ -0,0 +1,143 @@
1
+ name: Bug Report
2
+ description: Report a bug or unexpected behavior in CLEO
3
+ title: "[Bug]: "
4
+ labels: ["bug", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ ## Bug Report
10
+
11
+ Thanks for reporting a bug! Please fill out the sections below so we can reproduce and fix it.
12
+
13
+ **If you're using an AI agent** (Claude Code, Cursor, etc.) to file this issue, the agent should run the diagnostic commands below and paste the output directly.
14
+
15
+ - type: textarea
16
+ id: description
17
+ attributes:
18
+ label: What happened?
19
+ description: |
20
+ Describe the bug clearly. What did you expect to happen vs what actually happened?
21
+ placeholder: |
22
+ When I ran `cleo add "My task"`, I expected a new task to be created, but instead I got an error...
23
+ validations:
24
+ required: true
25
+
26
+ - type: textarea
27
+ id: steps
28
+ attributes:
29
+ label: Steps to reproduce
30
+ description: |
31
+ Provide the exact commands you ran, in order. Include the full command with all flags.
32
+ placeholder: |
33
+ 1. `cleo init my-project`
34
+ 2. `cleo session start --scope epic:T001 --auto-focus --name "test"`
35
+ 3. `cleo add "Test task" --parent T001`
36
+ 4. See error below
37
+ validations:
38
+ required: true
39
+
40
+ - type: textarea
41
+ id: error-output
42
+ attributes:
43
+ label: Error output
44
+ description: |
45
+ Paste the full error output. If CLEO returned JSON, paste the complete JSON response.
46
+ Use `cleo <command> 2>&1` to capture both stdout and stderr.
47
+ render: shell
48
+ placeholder: |
49
+ $ cleo add "Test task" --parent T001
50
+ {
51
+ "success": false,
52
+ "error": {
53
+ "code": "E_PARENT_NOT_FOUND",
54
+ "message": "Parent task T001 does not exist",
55
+ "exit": 10
56
+ }
57
+ }
58
+ validations:
59
+ required: true
60
+
61
+ - type: textarea
62
+ id: expected
63
+ attributes:
64
+ label: Expected behavior
65
+ description: What did you expect to happen instead?
66
+ placeholder: |
67
+ I expected the task to be created as a child of T001.
68
+ validations:
69
+ required: true
70
+
71
+ - type: textarea
72
+ id: diagnostics
73
+ attributes:
74
+ label: Environment diagnostics
75
+ description: |
76
+ Run this command and paste the output:
77
+ ```bash
78
+ echo "--- CLEO Diagnostics ---" && echo "CLEO version: $(cleo version 2>/dev/null || echo 'not installed')" && echo "Node version: $(node --version 2>/dev/null || echo 'not found')" && echo "Install location: $(which cleo 2>/dev/null || echo 'not found')" && echo "OS: $(uname -srm 2>/dev/null || echo 'unknown')" && echo "Shell: $SHELL" && echo "Initialized: $(test -f .cleo/tasks.db && echo 'yes' || echo 'no')"
79
+ ```
80
+ render: shell
81
+ placeholder: |
82
+ --- CLEO Diagnostics ---
83
+ CLEO version: 2026.3.15
84
+ Node version: v24.0.0
85
+ Install location: /usr/local/bin/cleo
86
+ OS: Linux 6.5.0-44-generic x86_64
87
+ Shell: /bin/bash
88
+ Initialized: yes
89
+ validations:
90
+ required: true
91
+
92
+ - type: dropdown
93
+ id: install-method
94
+ attributes:
95
+ label: Installation method
96
+ description: How did you install CLEO?
97
+ options:
98
+ - "npm install -g @cleocode/cleo"
99
+ - "npx @cleocode/cleo"
100
+ - "Built from source (cloned monorepo)"
101
+ - "Other (describe below)"
102
+ validations:
103
+ required: true
104
+
105
+ - type: dropdown
106
+ id: severity
107
+ attributes:
108
+ label: Severity
109
+ description: How much does this impact your workflow?
110
+ options:
111
+ - "Blocker - Cannot use CLEO at all"
112
+ - "Major - Core feature broken, no workaround"
113
+ - "Moderate - Feature broken but workaround exists"
114
+ - "Minor - Cosmetic or edge case"
115
+ validations:
116
+ required: true
117
+
118
+ - type: dropdown
119
+ id: agent-usage
120
+ attributes:
121
+ label: Are you using an AI agent?
122
+ description: Are you (or your AI agent) filing this issue?
123
+ options:
124
+ - "Yes - AI agent filed this issue"
125
+ - "Yes - Human filing with AI agent assistance"
126
+ - "No - Filing manually"
127
+ validations:
128
+ required: true
129
+
130
+ - type: textarea
131
+ id: additional
132
+ attributes:
133
+ label: Additional context
134
+ description: |
135
+ Any other details that might help. Examples:
136
+ - Contents of `.cleo/config.json` (if relevant)
137
+ - Output of `cleo doctor`
138
+ - Screenshots or screen recordings
139
+ - Related issues or PRs
140
+ placeholder: |
141
+ This started happening after I updated from 2026.2.x to 2026.3.x...
142
+ validations:
143
+ required: false
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Documentation
4
+ url: https://github.com/cleocode/cleo/tree/main/docs
5
+ about: Read the CLEO documentation before opening an issue
6
+ - name: Discussions
7
+ url: https://github.com/cleocode/cleo/discussions
8
+ about: Ask questions and share ideas in GitHub Discussions
@@ -0,0 +1,125 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or improvement for CLEO
3
+ title: "[Feature]: "
4
+ labels: ["enhancement", "triage"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ ## Feature Request
10
+
11
+ Help us improve CLEO! Describe what you'd like to see added or changed.
12
+
13
+ **If you're using an AI agent** to submit this, provide as much context as possible about the use case and workflow.
14
+
15
+ - type: textarea
16
+ id: problem
17
+ attributes:
18
+ label: Problem or use case
19
+ description: |
20
+ What problem does this feature solve? Describe the situation where you need this.
21
+ Focus on the *problem*, not the solution.
22
+ placeholder: |
23
+ When working on a large project with 50+ tasks, I need to filter tasks by multiple
24
+ labels at once, but `cleo list` only supports filtering by a single label...
25
+ validations:
26
+ required: true
27
+
28
+ - type: textarea
29
+ id: solution
30
+ attributes:
31
+ label: Proposed solution
32
+ description: |
33
+ How do you think this should work? Include example commands, expected output, or behavior.
34
+ placeholder: |
35
+ Add multi-label filtering to `cleo list`:
36
+ ```bash
37
+ cleo list --labels "bug,priority-high"
38
+ cleo list --labels "bug" --labels "priority-high" # AND logic
39
+ ```
40
+ validations:
41
+ required: true
42
+
43
+ - type: textarea
44
+ id: alternatives
45
+ attributes:
46
+ label: Alternatives considered
47
+ description: |
48
+ Have you tried any workarounds? Are there other approaches that could solve this?
49
+ placeholder: |
50
+ Currently I pipe through jq manually:
51
+ ```bash
52
+ cleo list --json | jq '.[] | select(.labels | contains(["bug", "priority-high"]))'
53
+ ```
54
+ This works but is cumbersome and not discoverable for new users.
55
+ validations:
56
+ required: false
57
+
58
+ - type: dropdown
59
+ id: area
60
+ attributes:
61
+ label: Feature area
62
+ description: Which part of CLEO does this relate to?
63
+ options:
64
+ - "Task management (add, update, complete, list)"
65
+ - "Session management (start, end, resume, scope)"
66
+ - "Hierarchy (epics, subtasks, dependencies)"
67
+ - "Search and filtering (find, list filters)"
68
+ - "Output and formatting (JSON, human-readable)"
69
+ - "Validation and data integrity"
70
+ - "Installation and setup"
71
+ - "MCP server integration"
72
+ - "Documentation"
73
+ - "AI agent workflow (skills, orchestrator, protocols)"
74
+ - "@cleocode/core package API"
75
+ - "Provider adapters (Claude Code, Cursor, OpenCode)"
76
+ - "Other"
77
+ validations:
78
+ required: true
79
+
80
+ - type: dropdown
81
+ id: scope
82
+ attributes:
83
+ label: Scope
84
+ description: How big is this change?
85
+ options:
86
+ - "Small - Single command or flag addition"
87
+ - "Medium - Multiple components, moderate complexity"
88
+ - "Large - Cross-cutting change, new subsystem"
89
+ - "Not sure"
90
+ validations:
91
+ required: true
92
+
93
+ - type: textarea
94
+ id: diagnostics
95
+ attributes:
96
+ label: Your environment (optional)
97
+ description: |
98
+ If this feature depends on your environment, run this and paste the output:
99
+ ```bash
100
+ echo "CLEO: $(cleo version 2>/dev/null || echo 'not installed')" && echo "Node: $(node --version)" && echo "OS: $(uname -srm)" && echo "Shell: $SHELL"
101
+ ```
102
+ render: shell
103
+ validations:
104
+ required: false
105
+
106
+ - type: dropdown
107
+ id: agent-usage
108
+ attributes:
109
+ label: Are you using an AI agent?
110
+ description: Are you (or your AI agent) filing this request?
111
+ options:
112
+ - "Yes - AI agent filed this request"
113
+ - "Yes - Human filing with AI agent assistance"
114
+ - "No - Filing manually"
115
+ validations:
116
+ required: true
117
+
118
+ - type: textarea
119
+ id: additional
120
+ attributes:
121
+ label: Additional context
122
+ description: |
123
+ Links, screenshots, references to other tools that do this well, or anything else.
124
+ validations:
125
+ required: false
@@ -0,0 +1,99 @@
1
+ name: Help / Question
2
+ description: Ask for help using CLEO or understanding a feature
3
+ title: "[Question]: "
4
+ labels: ["question", "help"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ ## Help / Question
10
+
11
+ Need help with CLEO? Ask here. No question is too basic.
12
+
13
+ **Before asking**, please check:
14
+ - [`cleo help`](https://github.com/cleocode/cleo) - Built-in help
15
+ - [Documentation](https://github.com/cleocode/cleo/tree/main/docs) - User guides
16
+ - [Existing issues](https://github.com/cleocode/cleo/issues?q=is%3Aissue+label%3Aquestion) - Someone may have asked already
17
+
18
+ - type: textarea
19
+ id: question
20
+ attributes:
21
+ label: What do you need help with?
22
+ description: |
23
+ Describe what you're trying to do and where you're stuck.
24
+ placeholder: |
25
+ I'm trying to set up CLEO for a new project, but I'm not sure how sessions
26
+ and scopes work together. When I run `cleo session start`, it asks for a scope...
27
+ validations:
28
+ required: true
29
+
30
+ - type: textarea
31
+ id: tried
32
+ attributes:
33
+ label: What have you tried?
34
+ description: |
35
+ What commands have you run or documentation have you read?
36
+ placeholder: |
37
+ I've tried:
38
+ 1. `cleo help session`
39
+ 2. Reading docs/guides/
40
+ 3. Running `cleo session start --name "test"` but got an error about scope
41
+ validations:
42
+ required: true
43
+
44
+ - type: textarea
45
+ id: error-output
46
+ attributes:
47
+ label: Relevant output (if any)
48
+ description: |
49
+ If you're getting errors, paste the output here.
50
+ render: shell
51
+ validations:
52
+ required: false
53
+
54
+ - type: dropdown
55
+ id: topic
56
+ attributes:
57
+ label: Topic area
58
+ description: What area is your question about?
59
+ options:
60
+ - "Installation and setup"
61
+ - "Getting started / first use"
62
+ - "Task management (add, update, complete)"
63
+ - "Sessions and scopes"
64
+ - "Epics, subtasks, hierarchy"
65
+ - "Dependencies and blocking"
66
+ - "Search and filtering"
67
+ - "MCP server / AI agent integration"
68
+ - "Configuration"
69
+ - "Migration / upgrading"
70
+ - "@cleocode/core package API"
71
+ - "Provider adapters (Claude Code, Cursor, OpenCode)"
72
+ - "Other"
73
+ validations:
74
+ required: true
75
+
76
+ - type: textarea
77
+ id: diagnostics
78
+ attributes:
79
+ label: Your environment
80
+ description: |
81
+ Run this command and paste the output:
82
+ ```bash
83
+ echo "CLEO: $(cleo version 2>/dev/null || echo 'not installed')" && echo "Node: $(node --version)" && echo "OS: $(uname -srm)" && echo "Shell: $SHELL"
84
+ ```
85
+ render: shell
86
+ validations:
87
+ required: false
88
+
89
+ - type: dropdown
90
+ id: agent-usage
91
+ attributes:
92
+ label: Are you using an AI agent?
93
+ description: Are you (or your AI agent) asking this question?
94
+ options:
95
+ - "Yes - AI agent filed this question"
96
+ - "Yes - Human filing with AI agent assistance"
97
+ - "No - Filing manually"
98
+ validations:
99
+ required: true
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://cleo-dev.com/schemas/v1/skillsmp.schema.json",
3
+ "endpoint": "https://www.agentskills.in/api",
4
+ "apiKey": "",
5
+ "defaultInstallLocation": "project",
6
+ "timeout": 30,
7
+ "retries": 3,
8
+ "cache": {
9
+ "enabled": true,
10
+ "searchTtlMinutes": 5,
11
+ "contentTtlMinutes": 60
12
+ },
13
+ "validation": {
14
+ "checkSchemaVersion": true,
15
+ "requireSignature": false,
16
+ "allowedPublishers": []
17
+ },
18
+ "security": {
19
+ "sandboxMode": true,
20
+ "restrictedCommands": ["rm", "dd", "mkfs", "fdisk"],
21
+ "maxFileSize": 10485760
22
+ },
23
+ "logging": {
24
+ "level": "info",
25
+ "logInstalls": true,
26
+ "logSearches": false
27
+ }
28
+ }