awesome-slash 2.4.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/.claude-plugin/marketplace.json +54 -0
- package/.claude-plugin/plugin.json +11 -0
- package/.mcp.json +8 -0
- package/CHANGELOG.md +261 -0
- package/LICENSE +21 -0
- package/README.md +363 -0
- package/SECURITY.md +101 -0
- package/adapters/README.md +256 -0
- package/adapters/codex/README.md +272 -0
- package/adapters/codex/install.sh +179 -0
- package/adapters/opencode/README.md +301 -0
- package/adapters/opencode/install.sh +223 -0
- package/lib/patterns/review-patterns.js +511 -0
- package/lib/patterns/slop-patterns.js +647 -0
- package/lib/platform/detect-platform.js +535 -0
- package/lib/platform/verify-tools.js +235 -0
- package/lib/state/workflow-state.js +635 -0
- package/lib/state/workflow-state.schema.json +282 -0
- package/lib/utils/context-optimizer.js +227 -0
- package/mcp-server/index.js +303 -0
- package/mcp-server/package.json +23 -0
- package/package.json +63 -0
- package/plugins/deslop-around/.claude-plugin/plugin.json +20 -0
- package/plugins/deslop-around/commands/deslop-around.md +220 -0
- package/plugins/deslop-around/lib/patterns/review-patterns.js +511 -0
- package/plugins/deslop-around/lib/patterns/slop-patterns.js +641 -0
- package/plugins/deslop-around/lib/platform/detect-platform.js +514 -0
- package/plugins/deslop-around/lib/platform/verify-tools.js +235 -0
- package/plugins/deslop-around/lib/state/workflow-state.js +635 -0
- package/plugins/deslop-around/lib/state/workflow-state.schema.json +282 -0
- package/plugins/deslop-around/lib/utils/context-optimizer.js +222 -0
- package/plugins/next-task/.claude-plugin/plugin.json +24 -0
- package/plugins/next-task/agents/ci-fixer.md +236 -0
- package/plugins/next-task/agents/ci-monitor.md +291 -0
- package/plugins/next-task/agents/delivery-validator.md +451 -0
- package/plugins/next-task/agents/deslop-work.md +272 -0
- package/plugins/next-task/agents/docs-updater.md +506 -0
- package/plugins/next-task/agents/exploration-agent.md +277 -0
- package/plugins/next-task/agents/implementation-agent.md +427 -0
- package/plugins/next-task/agents/planning-agent.md +236 -0
- package/plugins/next-task/agents/policy-selector.md +248 -0
- package/plugins/next-task/agents/review-orchestrator.md +521 -0
- package/plugins/next-task/agents/simple-fixer.md +136 -0
- package/plugins/next-task/agents/task-discoverer.md +357 -0
- package/plugins/next-task/agents/test-coverage-checker.md +447 -0
- package/plugins/next-task/agents/worktree-manager.md +419 -0
- package/plugins/next-task/commands/delivery-approval.md +331 -0
- package/plugins/next-task/commands/next-task.md +627 -0
- package/plugins/next-task/commands/update-docs-around.md +418 -0
- package/plugins/next-task/hooks/hooks.json +14 -0
- package/plugins/next-task/lib/patterns/review-patterns.js +511 -0
- package/plugins/next-task/lib/patterns/slop-patterns.js +641 -0
- package/plugins/next-task/lib/platform/detect-platform.js +514 -0
- package/plugins/next-task/lib/platform/verify-tools.js +235 -0
- package/plugins/next-task/lib/state/tasks-registry.schema.json +85 -0
- package/plugins/next-task/lib/state/workflow-state.js +635 -0
- package/plugins/next-task/lib/state/workflow-state.schema.json +282 -0
- package/plugins/next-task/lib/state/worktree-status.schema.json +219 -0
- package/plugins/next-task/lib/utils/context-optimizer.js +222 -0
- package/plugins/project-review/.claude-plugin/plugin.json +20 -0
- package/plugins/project-review/commands/project-review-agents.md +286 -0
- package/plugins/project-review/commands/project-review-github.md +142 -0
- package/plugins/project-review/commands/project-review.md +273 -0
- package/plugins/project-review/lib/patterns/review-patterns.js +511 -0
- package/plugins/project-review/lib/patterns/slop-patterns.js +641 -0
- package/plugins/project-review/lib/platform/detect-platform.js +514 -0
- package/plugins/project-review/lib/platform/verify-tools.js +235 -0
- package/plugins/project-review/lib/state/workflow-state.js +635 -0
- package/plugins/project-review/lib/state/workflow-state.schema.json +282 -0
- package/plugins/project-review/lib/utils/context-optimizer.js +222 -0
- package/plugins/reality-check/.claude-plugin/plugin.json +23 -0
- package/plugins/reality-check/README.md +156 -0
- package/plugins/reality-check/agents/code-explorer.md +353 -0
- package/plugins/reality-check/agents/doc-analyzer.md +337 -0
- package/plugins/reality-check/agents/issue-scanner.md +231 -0
- package/plugins/reality-check/agents/plan-synthesizer.md +479 -0
- package/plugins/reality-check/commands/scan.md +242 -0
- package/plugins/reality-check/commands/set.md +203 -0
- package/plugins/reality-check/lib/state/reality-check-state.js +509 -0
- package/plugins/reality-check/skills/reality-analysis/SKILL.md +317 -0
- package/plugins/ship/.claude-plugin/plugin.json +21 -0
- package/plugins/ship/commands/ship-ci-review-loop.md +443 -0
- package/plugins/ship/commands/ship-deployment.md +330 -0
- package/plugins/ship/commands/ship-error-handling.md +254 -0
- package/plugins/ship/commands/ship.md +370 -0
- package/plugins/ship/lib/patterns/review-patterns.js +511 -0
- package/plugins/ship/lib/patterns/slop-patterns.js +641 -0
- package/plugins/ship/lib/platform/detect-platform.js +514 -0
- package/plugins/ship/lib/platform/verify-tools.js +235 -0
- package/plugins/ship/lib/state/workflow-state.js +635 -0
- package/plugins/ship/lib/state/workflow-state.schema.json +282 -0
- package/plugins/ship/lib/utils/context-optimizer.js +222 -0
- package/scripts/install/claude.sh +50 -0
- package/scripts/install/codex.sh +181 -0
- package/scripts/install/opencode.sh +211 -0
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Deep repository analysis to realign project plans with actual code reality
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
allowed-tools: Bash(git:*), Bash(gh:*), Read, Glob, Grep, Task, AskUserQuestion, Write
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /reality-check:scan - Reality Check Scanner
|
|
8
|
+
|
|
9
|
+
Perform deep repository analysis to identify drift between documented plans and actual implementation.
|
|
10
|
+
|
|
11
|
+
## Workflow Overview
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Settings Check → Parallel Scan (3 agents) → Synthesis → Report
|
|
15
|
+
↓ ↓ ↓
|
|
16
|
+
(First-run (issue-scanner, (plan-synthesizer
|
|
17
|
+
setup if doc-analyzer, combines all
|
|
18
|
+
needed) code-explorer) findings)
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Phase 1: Settings Check
|
|
22
|
+
|
|
23
|
+
Check if settings file exists. If not, prompt user to configure via checkboxes.
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
const rcState = require('${CLAUDE_PLUGIN_ROOT}/lib/state/reality-check-state.js');
|
|
27
|
+
|
|
28
|
+
// Check for existing settings
|
|
29
|
+
if (!rcState.hasSettings()) {
|
|
30
|
+
console.log("No settings found. Starting first-run setup...");
|
|
31
|
+
// → Use AskUserQuestion to gather settings
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### First-Run Setup (if no settings exist)
|
|
36
|
+
|
|
37
|
+
Use AskUserQuestion with checkboxes to gather configuration:
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
AskUserQuestion({
|
|
41
|
+
questions: [
|
|
42
|
+
{
|
|
43
|
+
header: "Data Sources",
|
|
44
|
+
question: "Which sources should I scan for project state?",
|
|
45
|
+
options: [
|
|
46
|
+
{ label: "GitHub Issues & PRs (Recommended)", description: "Scan open issues, PRs, and milestones" },
|
|
47
|
+
{ label: "Documentation files", description: "README, CLAUDE.md, docs/, PLAN.md" },
|
|
48
|
+
{ label: "Linear issues", description: "Requires Linear MCP integration" },
|
|
49
|
+
{ label: "All sources", description: "Comprehensive scan of everything" }
|
|
50
|
+
],
|
|
51
|
+
multiSelect: true
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
header: "Scan Depth",
|
|
55
|
+
question: "How thorough should the analysis be?",
|
|
56
|
+
options: [
|
|
57
|
+
{ label: "Thorough (Recommended)", description: "Deep analysis, may take longer" },
|
|
58
|
+
{ label: "Quick", description: "Surface-level scan, faster results" },
|
|
59
|
+
{ label: "Medium", description: "Balanced depth and speed" }
|
|
60
|
+
],
|
|
61
|
+
multiSelect: false
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
header: "Output",
|
|
65
|
+
question: "How should I deliver the results?",
|
|
66
|
+
options: [
|
|
67
|
+
{ label: "Write to file (Recommended)", description: "Save reality-check-report.md" },
|
|
68
|
+
{ label: "Display only", description: "Show in conversation only" },
|
|
69
|
+
{ label: "Both", description: "Save file and show summary" }
|
|
70
|
+
],
|
|
71
|
+
multiSelect: false
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
});
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
After collecting settings, write them:
|
|
78
|
+
|
|
79
|
+
```javascript
|
|
80
|
+
const settings = mapResponsesToSettings(responses);
|
|
81
|
+
rcState.writeSettings(settings);
|
|
82
|
+
console.log("Settings saved to .claude/reality-check.local.md");
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Phase 2: Initialize Scan
|
|
86
|
+
|
|
87
|
+
```javascript
|
|
88
|
+
const settings = rcState.readSettings();
|
|
89
|
+
const state = rcState.createState(settings);
|
|
90
|
+
rcState.writeState(state);
|
|
91
|
+
|
|
92
|
+
rcState.startPhase('parallel-scan');
|
|
93
|
+
|
|
94
|
+
console.log(`
|
|
95
|
+
## Starting Reality Check Scan
|
|
96
|
+
|
|
97
|
+
**Scan ID**: ${state.scan.id}
|
|
98
|
+
**Sources**: ${Object.entries(settings.sources).filter(([k,v]) => v).map(([k]) => k).join(', ')}
|
|
99
|
+
**Depth**: ${settings.scan_depth}
|
|
100
|
+
|
|
101
|
+
Launching parallel scanners...
|
|
102
|
+
`);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Phase 3: Parallel Agent Execution
|
|
106
|
+
|
|
107
|
+
Launch three scanner agents in parallel:
|
|
108
|
+
|
|
109
|
+
```javascript
|
|
110
|
+
// Launch all three scanners simultaneously
|
|
111
|
+
await Promise.all([
|
|
112
|
+
Task({
|
|
113
|
+
subagent_type: "reality-check:issue-scanner",
|
|
114
|
+
prompt: `Scan GitHub issues and PRs. Settings: ${JSON.stringify(settings.sources)}`,
|
|
115
|
+
run_in_background: false
|
|
116
|
+
}),
|
|
117
|
+
|
|
118
|
+
Task({
|
|
119
|
+
subagent_type: "reality-check:doc-analyzer",
|
|
120
|
+
prompt: `Analyze documentation files. Paths: ${settings.sources.docs_paths.join(', ')}`,
|
|
121
|
+
run_in_background: false
|
|
122
|
+
}),
|
|
123
|
+
|
|
124
|
+
Task({
|
|
125
|
+
subagent_type: "reality-check:code-explorer",
|
|
126
|
+
prompt: `Deep codebase exploration. Exclusions: ${settings.exclusions.paths.join(', ')}`,
|
|
127
|
+
run_in_background: false
|
|
128
|
+
})
|
|
129
|
+
]);
|
|
130
|
+
|
|
131
|
+
rcState.completePhase({ scannersCompleted: 3 });
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Phase 4: Synthesis
|
|
135
|
+
|
|
136
|
+
After all scanners complete, launch the synthesizer:
|
|
137
|
+
|
|
138
|
+
```javascript
|
|
139
|
+
rcState.startPhase('synthesis');
|
|
140
|
+
|
|
141
|
+
const state = rcState.readState();
|
|
142
|
+
|
|
143
|
+
await Task({
|
|
144
|
+
subagent_type: "reality-check:plan-synthesizer",
|
|
145
|
+
model: "opus",
|
|
146
|
+
prompt: `
|
|
147
|
+
Synthesize findings from all scanners:
|
|
148
|
+
|
|
149
|
+
**Issue Scanner Findings**: ${JSON.stringify(state.agents.issueScanner?.result || {})}
|
|
150
|
+
**Doc Analyzer Findings**: ${JSON.stringify(state.agents.docAnalyzer?.result || {})}
|
|
151
|
+
**Code Explorer Findings**: ${JSON.stringify(state.agents.codeExplorer?.result || {})}
|
|
152
|
+
|
|
153
|
+
Priority weights: ${JSON.stringify(settings.priority_weights)}
|
|
154
|
+
|
|
155
|
+
Create a prioritized reality-grounded plan.
|
|
156
|
+
`
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
rcState.completePhase({ synthesisComplete: true });
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## Phase 5: Report Generation
|
|
163
|
+
|
|
164
|
+
```javascript
|
|
165
|
+
rcState.startPhase('report-generation');
|
|
166
|
+
|
|
167
|
+
const state = rcState.readState();
|
|
168
|
+
const settings = rcState.readSettings();
|
|
169
|
+
|
|
170
|
+
if (settings.output.write_to_file) {
|
|
171
|
+
// Write report to file
|
|
172
|
+
const reportPath = settings.output.file_path;
|
|
173
|
+
await Write({
|
|
174
|
+
file_path: reportPath,
|
|
175
|
+
content: state.report.content
|
|
176
|
+
});
|
|
177
|
+
console.log(`Report saved to: ${reportPath}`);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
if (settings.output.display_summary) {
|
|
181
|
+
// Display summary
|
|
182
|
+
console.log(state.report.summary);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
rcState.completePhase({ reportGenerated: true });
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## Output Format
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
## Reality Check Complete
|
|
192
|
+
|
|
193
|
+
**Scan ID**: ${scanId}
|
|
194
|
+
**Duration**: ${duration}
|
|
195
|
+
|
|
196
|
+
### Summary
|
|
197
|
+
- **Issues scanned**: ${issueCount}
|
|
198
|
+
- **Docs analyzed**: ${docCount}
|
|
199
|
+
- **Code files explored**: ${fileCount}
|
|
200
|
+
|
|
201
|
+
### Key Findings
|
|
202
|
+
|
|
203
|
+
**Drift Detected**:
|
|
204
|
+
${driftItems.map(d => `- ${d.description} (${d.severity})`).join('\n')}
|
|
205
|
+
|
|
206
|
+
**Gaps Identified**:
|
|
207
|
+
${gaps.map(g => `- ${g.description}`).join('\n')}
|
|
208
|
+
|
|
209
|
+
### Reconstructed Plan
|
|
210
|
+
|
|
211
|
+
${prioritizedPlan}
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
Full report: ${reportPath}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## Error Handling
|
|
218
|
+
|
|
219
|
+
```javascript
|
|
220
|
+
try {
|
|
221
|
+
// ... scan workflow ...
|
|
222
|
+
} catch (error) {
|
|
223
|
+
console.log(`
|
|
224
|
+
## Scan Failed
|
|
225
|
+
|
|
226
|
+
**Error**: ${error.message}
|
|
227
|
+
|
|
228
|
+
Run \`/reality-check:scan\` to retry.
|
|
229
|
+
`);
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Success Criteria
|
|
234
|
+
|
|
235
|
+
- Settings gathered via checkboxes on first run
|
|
236
|
+
- Three scanner agents run in parallel
|
|
237
|
+
- Synthesizer combines all findings
|
|
238
|
+
- Report generated per output settings
|
|
239
|
+
- Drift and gaps clearly identified
|
|
240
|
+
- Prioritized reconstruction plan produced
|
|
241
|
+
|
|
242
|
+
Begin scan now.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Configure reality-check settings via interactive checkboxes
|
|
3
|
+
argument-hint: ""
|
|
4
|
+
allowed-tools: Read, Write, AskUserQuestion
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /reality-check:set - Settings Configuration
|
|
8
|
+
|
|
9
|
+
Configure reality-check plugin settings interactively.
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This command provides an interactive way to configure the reality-check plugin. Settings are stored in `.claude/reality-check.local.md` and persist across sessions.
|
|
14
|
+
|
|
15
|
+
## Phase 1: Load Current Settings
|
|
16
|
+
|
|
17
|
+
```javascript
|
|
18
|
+
const rcState = require('${CLAUDE_PLUGIN_ROOT}/lib/state/reality-check-state.js');
|
|
19
|
+
|
|
20
|
+
const currentSettings = rcState.readSettings();
|
|
21
|
+
const hasExisting = rcState.hasSettings();
|
|
22
|
+
|
|
23
|
+
if (hasExisting) {
|
|
24
|
+
console.log(`
|
|
25
|
+
## Current Settings
|
|
26
|
+
|
|
27
|
+
**Sources**:
|
|
28
|
+
- GitHub Issues: ${currentSettings.sources.github_issues ? 'Enabled' : 'Disabled'}
|
|
29
|
+
- Linear: ${currentSettings.sources.linear ? 'Enabled' : 'Disabled'}
|
|
30
|
+
- Doc paths: ${currentSettings.sources.docs_paths.join(', ')}
|
|
31
|
+
- Code exploration: ${currentSettings.sources.code_exploration ? 'Enabled' : 'Disabled'}
|
|
32
|
+
|
|
33
|
+
**Scan Depth**: ${currentSettings.scan_depth}
|
|
34
|
+
|
|
35
|
+
**Output**:
|
|
36
|
+
- Write to file: ${currentSettings.output.write_to_file ? 'Yes' : 'No'}
|
|
37
|
+
- File path: ${currentSettings.output.file_path}
|
|
38
|
+
- Display summary: ${currentSettings.output.display_summary ? 'Yes' : 'No'}
|
|
39
|
+
|
|
40
|
+
**Priority Weights**: Security(${currentSettings.priority_weights.security}), Bugs(${currentSettings.priority_weights.bugs}), Features(${currentSettings.priority_weights.features}), Docs(${currentSettings.priority_weights.docs})
|
|
41
|
+
`);
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Phase 2: Present Configuration Options
|
|
46
|
+
|
|
47
|
+
Use AskUserQuestion to allow users to modify settings:
|
|
48
|
+
|
|
49
|
+
```javascript
|
|
50
|
+
AskUserQuestion({
|
|
51
|
+
questions: [
|
|
52
|
+
{
|
|
53
|
+
header: "Data Sources",
|
|
54
|
+
question: "Which sources should be scanned?",
|
|
55
|
+
options: [
|
|
56
|
+
{
|
|
57
|
+
label: "GitHub Issues & PRs",
|
|
58
|
+
description: currentSettings.sources.github_issues ? "Currently enabled" : "Currently disabled"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
label: "Documentation files",
|
|
62
|
+
description: `Paths: ${currentSettings.sources.docs_paths.slice(0, 2).join(', ')}...`
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
label: "Linear issues",
|
|
66
|
+
description: currentSettings.sources.linear ? "Currently enabled" : "Currently disabled"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
label: "Deep code exploration",
|
|
70
|
+
description: currentSettings.sources.code_exploration ? "Currently enabled" : "Currently disabled"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
multiSelect: true
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
header: "Scan Depth",
|
|
77
|
+
question: "How thorough should the analysis be?",
|
|
78
|
+
options: [
|
|
79
|
+
{
|
|
80
|
+
label: "Thorough",
|
|
81
|
+
description: currentSettings.scan_depth === 'thorough' ? "Currently selected" : "Deep analysis"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
label: "Medium",
|
|
85
|
+
description: currentSettings.scan_depth === 'medium' ? "Currently selected" : "Balanced"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
label: "Quick",
|
|
89
|
+
description: currentSettings.scan_depth === 'quick' ? "Currently selected" : "Fast scan"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
multiSelect: false
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
header: "Output",
|
|
96
|
+
question: "How should results be delivered?",
|
|
97
|
+
options: [
|
|
98
|
+
{
|
|
99
|
+
label: "Write to file",
|
|
100
|
+
description: `Save to ${currentSettings.output.file_path}`
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
label: "Display only",
|
|
104
|
+
description: "Show in conversation without saving"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
label: "Both",
|
|
108
|
+
description: "Save file and show summary"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
multiSelect: false
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Phase 3: Process Responses
|
|
118
|
+
|
|
119
|
+
Map user selections to settings:
|
|
120
|
+
|
|
121
|
+
```javascript
|
|
122
|
+
function mapResponsesToSettings(responses, currentSettings) {
|
|
123
|
+
const sources = responses['Data Sources'] || [];
|
|
124
|
+
const depth = responses['Scan Depth'];
|
|
125
|
+
const output = responses['Output'];
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
sources: {
|
|
129
|
+
github_issues: sources.includes('GitHub Issues & PRs'),
|
|
130
|
+
linear: sources.includes('Linear issues'),
|
|
131
|
+
docs_paths: sources.includes('Documentation files')
|
|
132
|
+
? currentSettings.sources.docs_paths
|
|
133
|
+
: [],
|
|
134
|
+
code_exploration: sources.includes('Deep code exploration')
|
|
135
|
+
},
|
|
136
|
+
scan_depth: depth?.toLowerCase() || currentSettings.scan_depth,
|
|
137
|
+
output: {
|
|
138
|
+
write_to_file: output === 'Write to file' || output === 'Both',
|
|
139
|
+
file_path: currentSettings.output.file_path,
|
|
140
|
+
display_summary: output === 'Display only' || output === 'Both'
|
|
141
|
+
},
|
|
142
|
+
priority_weights: currentSettings.priority_weights,
|
|
143
|
+
exclusions: currentSettings.exclusions
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Phase 4: Save Settings
|
|
149
|
+
|
|
150
|
+
```javascript
|
|
151
|
+
const newSettings = mapResponsesToSettings(responses, currentSettings);
|
|
152
|
+
rcState.writeSettings(newSettings);
|
|
153
|
+
|
|
154
|
+
console.log(`
|
|
155
|
+
## Settings Updated
|
|
156
|
+
|
|
157
|
+
**Sources**:
|
|
158
|
+
- GitHub Issues: ${newSettings.sources.github_issues ? 'Enabled' : 'Disabled'}
|
|
159
|
+
- Linear: ${newSettings.sources.linear ? 'Enabled' : 'Disabled'}
|
|
160
|
+
- Code exploration: ${newSettings.sources.code_exploration ? 'Enabled' : 'Disabled'}
|
|
161
|
+
|
|
162
|
+
**Scan Depth**: ${newSettings.scan_depth}
|
|
163
|
+
|
|
164
|
+
**Output**: ${newSettings.output.write_to_file ? 'File' : ''} ${newSettings.output.display_summary ? '+ Summary' : ''}
|
|
165
|
+
|
|
166
|
+
Settings saved to \`.claude/reality-check.local.md\`
|
|
167
|
+
|
|
168
|
+
Run \`/reality-check:scan\` to start a scan with these settings.
|
|
169
|
+
`);
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## Advanced Configuration
|
|
173
|
+
|
|
174
|
+
For advanced settings (priority weights, exclusions, custom doc paths), users can directly edit `.claude/reality-check.local.md`:
|
|
175
|
+
|
|
176
|
+
```markdown
|
|
177
|
+
## Advanced Settings
|
|
178
|
+
|
|
179
|
+
To modify priority weights or exclusions, edit the YAML frontmatter in:
|
|
180
|
+
\`.claude/reality-check.local.md\`
|
|
181
|
+
|
|
182
|
+
Example:
|
|
183
|
+
\`\`\`yaml
|
|
184
|
+
priority_weights:
|
|
185
|
+
security: 10
|
|
186
|
+
bugs: 8
|
|
187
|
+
features: 5
|
|
188
|
+
docs: 3
|
|
189
|
+
exclusions:
|
|
190
|
+
paths: ["node_modules/", "dist/", "vendor/"]
|
|
191
|
+
labels: ["wontfix", "duplicate", "invalid"]
|
|
192
|
+
\`\`\`
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## Success Criteria
|
|
196
|
+
|
|
197
|
+
- Current settings displayed if they exist
|
|
198
|
+
- Interactive checkboxes for common settings
|
|
199
|
+
- Settings saved to .local.md file
|
|
200
|
+
- Clear confirmation of changes
|
|
201
|
+
- Guidance for advanced configuration
|
|
202
|
+
|
|
203
|
+
Begin settings configuration now.
|