midas-mcp 2.0.0 → 2.2.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.
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +54 -1
- package/dist/cli.js.map +1 -1
- package/dist/docs/CURSORRULES_TEMPLATE.md +61 -46
- package/dist/docs/USER_RULES.md +62 -81
- package/dist/metrics.d.ts +36 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +144 -0
- package/dist/metrics.js.map +1 -0
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +56 -47
- package/dist/tui.js.map +1 -1
- package/docs/CURSORRULES_TEMPLATE.md +61 -46
- package/docs/USER_RULES.md +62 -81
- package/package.json +1 -1
package/dist/cli.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ export declare function showStatus(): void;
|
|
|
3
3
|
export declare function runInit(projectName: string): void;
|
|
4
4
|
export declare function runAudit(): void;
|
|
5
5
|
export declare function runDocsCheck(): void;
|
|
6
|
+
export declare function showMetrics(): void;
|
|
6
7
|
export declare function runCLI(args: string[]): 'interactive' | 'server' | 'handled';
|
|
7
8
|
//# sourceMappingURL=cli.d.ts.map
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAkCA,wBAAgB,QAAQ,IAAI,IAAI,CAuB/B;AAED,wBAAgB,UAAU,IAAI,IAAI,CA6DjC;AAED,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAmBjD;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAmC/B;AAED,wBAAgB,YAAY,IAAI,IAAI,CAgCnC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAmDlC;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,CAyC3E"}
|
package/dist/cli.js
CHANGED
|
@@ -2,6 +2,7 @@ import { loadState } from './state/phase.js';
|
|
|
2
2
|
import { startProject } from './tools/phase.js';
|
|
3
3
|
import { audit } from './tools/audit.js';
|
|
4
4
|
import { checkDocs } from './tools/docs.js';
|
|
5
|
+
import { loadMetrics } from './metrics.js';
|
|
5
6
|
// ANSI colors
|
|
6
7
|
const reset = '\x1b[0m';
|
|
7
8
|
const bold = '\x1b[1m';
|
|
@@ -34,15 +35,18 @@ ${bold}${cyan}MIDAS${reset} - Everything you vibecode turns to gold
|
|
|
34
35
|
${bold}Usage:${reset}
|
|
35
36
|
npx midas-mcp Interactive coach (recommended)
|
|
36
37
|
npx midas-mcp status Show current phase and progress
|
|
38
|
+
npx midas-mcp metrics Show session metrics and statistics
|
|
37
39
|
npx midas-mcp init <name> Initialize new project with Eagle Sight
|
|
38
40
|
npx midas-mcp audit Audit project against 12 ingredients
|
|
39
41
|
npx midas-mcp docs Check Eagle Sight docs completeness
|
|
40
42
|
npx midas-mcp server Start MCP server (for Cursor integration)
|
|
41
43
|
npx midas-mcp help Show this help
|
|
42
44
|
|
|
43
|
-
${bold}The
|
|
45
|
+
${bold}The Four Phases:${reset}
|
|
44
46
|
${yellow}EAGLE SIGHT${reset} Plan before building (Idea → Research → Brainlift → PRD → Gameplan)
|
|
45
47
|
${blue}BUILD${reset} Execute with the 7-step process
|
|
48
|
+
${green}SHIP${reset} Deploy to production (Review → Deploy → Monitor)
|
|
49
|
+
${cyan}GROW${reset} Iterate and improve (Feedback → Analyze → Iterate)
|
|
46
50
|
|
|
47
51
|
${bold}Learn more:${reset}
|
|
48
52
|
https://github.com/christiancattaneo/midas-mcp
|
|
@@ -184,6 +188,52 @@ export function runDocsCheck() {
|
|
|
184
188
|
console.log(` ${yellow}Complete the docs to proceed to BUILD.${reset}\n`);
|
|
185
189
|
}
|
|
186
190
|
}
|
|
191
|
+
export function showMetrics() {
|
|
192
|
+
const projectPath = process.cwd();
|
|
193
|
+
const m = loadMetrics(projectPath);
|
|
194
|
+
console.log(`\n${bold}${cyan}MIDAS METRICS${reset}\n`);
|
|
195
|
+
if (m.totalSessions === 0) {
|
|
196
|
+
console.log(` ${dim}No sessions recorded yet.${reset}`);
|
|
197
|
+
console.log(` ${dim}Run 'midas-mcp' to start your first session.${reset}\n`);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
// Summary stats
|
|
201
|
+
console.log(box([
|
|
202
|
+
`${bold}Sessions${reset}`,
|
|
203
|
+
` Total: ${m.totalSessions}`,
|
|
204
|
+
` Streak: ${m.currentStreak} day${m.currentStreak !== 1 ? 's' : ''}`,
|
|
205
|
+
` Avg length: ${m.averageSessionMinutes} min`,
|
|
206
|
+
'',
|
|
207
|
+
`${bold}Activity${reset}`,
|
|
208
|
+
` Tool calls: ${m.totalToolCalls}`,
|
|
209
|
+
` Tornado cycles: ${m.totalTornadoCycles}`,
|
|
210
|
+
` Journals saved: ${m.totalJournalsSaved}`,
|
|
211
|
+
].join('\n'), 40));
|
|
212
|
+
// Phase history
|
|
213
|
+
if (m.phaseHistory.length > 0) {
|
|
214
|
+
console.log(`\n${bold}Phase Journey:${reset}`);
|
|
215
|
+
const recent = m.phaseHistory.slice(-5);
|
|
216
|
+
for (const p of recent) {
|
|
217
|
+
const duration = p.duration ? ` (${p.duration} min)` : ' (current)';
|
|
218
|
+
const date = new Date(p.enteredAt).toLocaleDateString();
|
|
219
|
+
console.log(` ${dim}${date}${reset} ${p.phase}${dim}${duration}${reset}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Recent sessions
|
|
223
|
+
if (m.sessions.length > 0) {
|
|
224
|
+
console.log(`\n${bold}Recent Sessions:${reset}`);
|
|
225
|
+
const recent = m.sessions.slice(-3);
|
|
226
|
+
for (const s of recent) {
|
|
227
|
+
const date = new Date(s.startTime).toLocaleDateString();
|
|
228
|
+
const time = new Date(s.startTime).toLocaleTimeString().slice(0, 5);
|
|
229
|
+
const duration = s.endTime
|
|
230
|
+
? Math.round((new Date(s.endTime).getTime() - new Date(s.startTime).getTime()) / 60000)
|
|
231
|
+
: 0;
|
|
232
|
+
console.log(` ${dim}${date} ${time}${reset} - ${s.toolCalls} tools, ${duration}min`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
console.log('');
|
|
236
|
+
}
|
|
187
237
|
export function runCLI(args) {
|
|
188
238
|
const command = args[0];
|
|
189
239
|
switch (command) {
|
|
@@ -204,6 +254,9 @@ export function runCLI(args) {
|
|
|
204
254
|
case 'docs':
|
|
205
255
|
runDocsCheck();
|
|
206
256
|
return 'handled';
|
|
257
|
+
case 'metrics':
|
|
258
|
+
showMetrics();
|
|
259
|
+
return 'handled';
|
|
207
260
|
case 'server':
|
|
208
261
|
return 'server'; // Start MCP server
|
|
209
262
|
case undefined:
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +1,84 @@
|
|
|
1
1
|
# Recommended .cursorrules for Midas Users
|
|
2
2
|
|
|
3
|
-
Add this to your project's `.cursorrules` file to
|
|
3
|
+
Add this to your project's `.cursorrules` file to make Cursor automatically follow the Golden Code methodology:
|
|
4
4
|
|
|
5
5
|
```
|
|
6
|
-
# Golden Code Methodology
|
|
6
|
+
# Golden Code Methodology (via Midas MCP)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## AUTOMATIC BEHAVIOR - Do these without being asked:
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
### On EVERY new chat session:
|
|
11
|
+
1. Call `midas_journal_list` to load context from previous sessions
|
|
12
|
+
2. Call `midas_analyze` to understand current project phase
|
|
13
|
+
3. Follow the suggested approach from the analysis
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
4. **When output doesn't fit**: Call `midas_horizon` to expand context
|
|
16
|
-
5. **When retrying failed prompts**: Call `midas_oneshot` to construct a better retry
|
|
15
|
+
### After EVERY significant code change:
|
|
16
|
+
1. Call `midas_journal_save` with title describing what was done
|
|
17
|
+
2. Include the full conversation in the journal entry
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
### Before EVERY implementation:
|
|
20
|
+
1. Call `midas_suggest_prompt` to get phase-appropriate guidance
|
|
21
|
+
2. Follow the Golden Code methodology for current phase
|
|
22
|
+
|
|
23
|
+
## When Things Go Wrong:
|
|
24
|
+
- **Stuck/confused**: Call `midas_tornado` for Research + Logs + Tests cycle
|
|
25
|
+
- **Output doesn't fit**: Call `midas_horizon` to expand context
|
|
26
|
+
- **Retry after error**: Call `midas_oneshot` to construct better retry
|
|
27
|
+
|
|
28
|
+
## The 7-Step BUILD Cycle:
|
|
29
|
+
RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
|
|
30
|
+
Always complete earlier steps before jumping to implementation.
|
|
31
|
+
|
|
32
|
+
## The 4 Phases:
|
|
19
33
|
|
|
20
34
|
### EAGLE_SIGHT (Planning)
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
- IDEA: Define core idea, problem, audience
|
|
36
|
+
- RESEARCH: Landscape scan, competitors
|
|
37
|
+
- BRAINLIFT: Document unique insights
|
|
38
|
+
- PRD: Write requirements
|
|
39
|
+
- GAMEPLAN: Plan the build
|
|
40
|
+
|
|
41
|
+
### BUILD (Development)
|
|
42
|
+
- RULES: Read .cursorrules and project constraints
|
|
43
|
+
- INDEX: Understand codebase structure
|
|
44
|
+
- READ: Read specific implementation files
|
|
45
|
+
- RESEARCH: Look up docs, APIs, best practices
|
|
46
|
+
- IMPLEMENT: Write code with tests
|
|
47
|
+
- TEST: Run tests, fix failures
|
|
48
|
+
- DEBUG: Use Tornado cycle if stuck
|
|
33
49
|
|
|
34
50
|
### SHIP (Deployment)
|
|
35
|
-
- Code review, security audit
|
|
36
|
-
- CI/CD and production deploy
|
|
37
|
-
-
|
|
51
|
+
- REVIEW: Code review, security audit
|
|
52
|
+
- DEPLOY: CI/CD and production deploy
|
|
53
|
+
- MONITOR: Logs, alerts, health checks
|
|
38
54
|
|
|
39
55
|
### GROW (Iteration)
|
|
40
|
-
- Collect feedback
|
|
41
|
-
-
|
|
42
|
-
- Plan next cycle (back to EAGLE_SIGHT)
|
|
43
|
-
|
|
44
|
-
## Journal Important Conversations
|
|
45
|
-
|
|
46
|
-
When making significant decisions or completing major implementations, save the conversation:
|
|
56
|
+
- FEEDBACK: Collect user feedback
|
|
57
|
+
- ANALYZE: Study metrics and behavior
|
|
58
|
+
- ITERATE: Plan next cycle (back to EAGLE_SIGHT)
|
|
59
|
+
```
|
|
47
60
|
|
|
48
|
-
|
|
61
|
+
## Why This Works
|
|
49
62
|
|
|
50
|
-
|
|
63
|
+
With these rules, Cursor will **automatically**:
|
|
51
64
|
|
|
52
|
-
|
|
65
|
+
1. **Load context** from your journal at session start
|
|
66
|
+
2. **Analyze the project** to understand where you are
|
|
67
|
+
3. **Save conversations** to journal after changes
|
|
68
|
+
4. **Follow methodology** without you having to ask
|
|
53
69
|
|
|
54
|
-
|
|
55
|
-
2. **Tornado Building**: When stuck: Research → Logs → Tests
|
|
56
|
-
3. **Horizon Thinking**: Expand context when output doesn't fit
|
|
57
|
-
```
|
|
70
|
+
You still initiate each chat, but Cursor does the Midas calls automatically.
|
|
58
71
|
|
|
59
72
|
## Installation
|
|
60
73
|
|
|
61
|
-
1.
|
|
62
|
-
2.
|
|
63
|
-
3.
|
|
74
|
+
1. Run `midas-mcp tui` in your project
|
|
75
|
+
2. Press `[a]` to add these rules to `.cursorrules`
|
|
76
|
+
3. Or manually create `.cursorrules` with the content above
|
|
77
|
+
|
|
78
|
+
## What You DON'T Get (Yet)
|
|
64
79
|
|
|
65
|
-
|
|
80
|
+
- Auto-starting new chats (Cursor must be manually opened)
|
|
81
|
+
- Auto-committing before/after prompts (would need Claude Code CLI)
|
|
82
|
+
- Proactive notifications (MCP is request/response only)
|
|
66
83
|
|
|
67
|
-
|
|
68
|
-
- **Journal entries persist context** - unlike chat history which is ephemeral
|
|
69
|
-
- **Phase tracking helps stay focused** - prevents scope creep and random tangents
|
|
84
|
+
For fully automated workflows, consider wrapping Claude Code CLI.
|
package/dist/docs/USER_RULES.md
CHANGED
|
@@ -1,90 +1,71 @@
|
|
|
1
|
-
# User Rules
|
|
1
|
+
# Midas - Cursor User Rules
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Add these rules to your **Cursor User Rules** (Settings → Rules for AI) to make Cursor automatically follow the Golden Code methodology across ALL projects.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## The Rules to Add
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- Simple short git commit after changes, no emojis or special characters
|
|
47
|
-
- Deploy Firebase rules/functions/indexes when changed
|
|
48
|
-
- Deploy Firebase cloud functions when updated
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Testing
|
|
53
|
-
|
|
54
|
-
- Use iPhone 16 or 16 Pro for Xcode iOS simulator
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Full Rules Template
|
|
7
|
+
```
|
|
8
|
+
# Golden Code Methodology (via Midas MCP)
|
|
9
|
+
|
|
10
|
+
## AUTOMATIC BEHAVIOR - Do these without being asked:
|
|
11
|
+
|
|
12
|
+
### On EVERY new chat session:
|
|
13
|
+
1. Call `midas_journal_list` to load context from previous sessions
|
|
14
|
+
2. Call `midas_analyze` to understand current project phase
|
|
15
|
+
3. Follow the suggested approach from the analysis
|
|
16
|
+
|
|
17
|
+
### After EVERY significant code change:
|
|
18
|
+
1. Git commit with descriptive message before AND after major changes
|
|
19
|
+
2. Call `midas_journal_save` with title describing what was done
|
|
20
|
+
3. Include the full conversation in the journal entry
|
|
21
|
+
|
|
22
|
+
### Before EVERY implementation:
|
|
23
|
+
1. Call `midas_suggest_prompt` to get phase-appropriate guidance
|
|
24
|
+
2. Follow the Golden Code methodology for current phase
|
|
25
|
+
|
|
26
|
+
## When Things Go Wrong:
|
|
27
|
+
- **Stuck/confused**: Call `midas_tornado` for Research + Logs + Tests cycle
|
|
28
|
+
- **Output doesn't fit**: Call `midas_horizon` to expand context
|
|
29
|
+
- **Retry after error**: Call `midas_oneshot` to construct better retry
|
|
30
|
+
|
|
31
|
+
## Git Discipline:
|
|
32
|
+
- Commit BEFORE starting any significant change (checkpoint)
|
|
33
|
+
- Commit AFTER completing each logical unit of work
|
|
34
|
+
- Use descriptive commit messages that explain WHY not just WHAT
|
|
35
|
+
|
|
36
|
+
## The 7-Step BUILD Cycle:
|
|
37
|
+
RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
|
|
38
|
+
Always complete earlier steps before jumping to implementation.
|
|
39
|
+
|
|
40
|
+
## The 4 Phases:
|
|
41
|
+
1. EAGLE_SIGHT: Plan before coding (brainlift, PRD, gameplan)
|
|
42
|
+
2. BUILD: The 7-step cycle above
|
|
43
|
+
3. SHIP: Review, deploy, monitor
|
|
44
|
+
4. GROW: Feedback, analyze, iterate back to EAGLE_SIGHT
|
|
45
|
+
```
|
|
59
46
|
|
|
60
|
-
|
|
61
|
-
# DOCUMENTATION
|
|
62
|
-
- No emojis, no ALL CAPS, no tables with dashes/pipes
|
|
63
|
-
- No em dashes, no excessive formatting
|
|
64
|
-
- Bold for emphasis, write tersely, casually, high IQ
|
|
47
|
+
## How to Add
|
|
65
48
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
49
|
+
1. Open Cursor Settings (Cmd+,)
|
|
50
|
+
2. Search for "Rules for AI" or navigate to it
|
|
51
|
+
3. Paste the rules above
|
|
52
|
+
4. Save
|
|
70
53
|
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
54
|
+
Now Cursor will automatically:
|
|
55
|
+
- Load journal context at session start
|
|
56
|
+
- Analyze project phase
|
|
57
|
+
- Save conversations to journal
|
|
58
|
+
- Git commit before/after changes
|
|
59
|
+
- Follow the Golden Code methodology
|
|
76
60
|
|
|
77
|
-
|
|
78
|
-
- Single responsibility principle
|
|
79
|
-
- Achieve each task in minimum tokens
|
|
80
|
-
- Add logs and look up documentation to debug
|
|
61
|
+
## Why User Rules Instead of .cursorrules
|
|
81
62
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
63
|
+
| Feature | User Rules | .cursorrules |
|
|
64
|
+
|---------|-----------|--------------|
|
|
65
|
+
| Scope | All projects | One project |
|
|
66
|
+
| Git tracked | No | Yes |
|
|
67
|
+
| Setup | Once | Per project |
|
|
68
|
+
| Override | Per-project can override | N/A |
|
|
87
69
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
```
|
|
70
|
+
User Rules are ideal for methodology/workflow rules that should apply everywhere.
|
|
71
|
+
Project `.cursorrules` are for project-specific conventions (TypeScript config, naming, etc).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Phase } from './state/phase.js';
|
|
2
|
+
export interface SessionMetrics {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
startTime: string;
|
|
5
|
+
endTime?: string;
|
|
6
|
+
startPhase: Phase;
|
|
7
|
+
endPhase?: Phase;
|
|
8
|
+
toolCalls: number;
|
|
9
|
+
tornadoCycles: number;
|
|
10
|
+
journalsSaved: number;
|
|
11
|
+
promptsCopied: number;
|
|
12
|
+
}
|
|
13
|
+
export interface ProjectMetrics {
|
|
14
|
+
totalSessions: number;
|
|
15
|
+
totalToolCalls: number;
|
|
16
|
+
totalTornadoCycles: number;
|
|
17
|
+
totalJournalsSaved: number;
|
|
18
|
+
phaseHistory: Array<{
|
|
19
|
+
phase: string;
|
|
20
|
+
enteredAt: string;
|
|
21
|
+
duration?: number;
|
|
22
|
+
}>;
|
|
23
|
+
sessions: SessionMetrics[];
|
|
24
|
+
averageSessionMinutes: number;
|
|
25
|
+
currentStreak: number;
|
|
26
|
+
lastSessionDate: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function loadMetrics(projectPath: string): ProjectMetrics;
|
|
29
|
+
export declare function saveMetrics(projectPath: string, metrics: ProjectMetrics): void;
|
|
30
|
+
export declare function startSession(projectPath: string, currentPhase: Phase): string;
|
|
31
|
+
export declare function endSession(projectPath: string, sessionId: string, endPhase: Phase): void;
|
|
32
|
+
export declare function recordToolCall(projectPath: string, sessionId: string, toolName: string): void;
|
|
33
|
+
export declare function recordPromptCopied(projectPath: string, sessionId: string): void;
|
|
34
|
+
export declare function recordPhaseChange(projectPath: string, phase: Phase): void;
|
|
35
|
+
export declare function getMetricsSummary(projectPath: string): string;
|
|
36
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAK9C,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAaD,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAkB/D;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAG9E;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,GAAG,MAAM,CAkC7E;AAED,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI,CAqBxF;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoB7F;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAS/E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAkBzE;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAe7D"}
|
package/dist/metrics.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
2
|
+
import { join } from 'path';
|
|
3
|
+
const MIDAS_DIR = '.midas';
|
|
4
|
+
const METRICS_FILE = 'metrics.json';
|
|
5
|
+
function getMetricsPath(projectPath) {
|
|
6
|
+
return join(projectPath, MIDAS_DIR, METRICS_FILE);
|
|
7
|
+
}
|
|
8
|
+
function ensureDir(projectPath) {
|
|
9
|
+
const dir = join(projectPath, MIDAS_DIR);
|
|
10
|
+
if (!existsSync(dir)) {
|
|
11
|
+
mkdirSync(dir, { recursive: true });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function loadMetrics(projectPath) {
|
|
15
|
+
const path = getMetricsPath(projectPath);
|
|
16
|
+
if (existsSync(path)) {
|
|
17
|
+
try {
|
|
18
|
+
return JSON.parse(readFileSync(path, 'utf-8'));
|
|
19
|
+
}
|
|
20
|
+
catch { }
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
totalSessions: 0,
|
|
24
|
+
totalToolCalls: 0,
|
|
25
|
+
totalTornadoCycles: 0,
|
|
26
|
+
totalJournalsSaved: 0,
|
|
27
|
+
phaseHistory: [],
|
|
28
|
+
sessions: [],
|
|
29
|
+
averageSessionMinutes: 0,
|
|
30
|
+
currentStreak: 0,
|
|
31
|
+
lastSessionDate: '',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function saveMetrics(projectPath, metrics) {
|
|
35
|
+
ensureDir(projectPath);
|
|
36
|
+
writeFileSync(getMetricsPath(projectPath), JSON.stringify(metrics, null, 2));
|
|
37
|
+
}
|
|
38
|
+
export function startSession(projectPath, currentPhase) {
|
|
39
|
+
const metrics = loadMetrics(projectPath);
|
|
40
|
+
const sessionId = `${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
|
|
41
|
+
const session = {
|
|
42
|
+
sessionId,
|
|
43
|
+
startTime: new Date().toISOString(),
|
|
44
|
+
startPhase: currentPhase,
|
|
45
|
+
toolCalls: 0,
|
|
46
|
+
tornadoCycles: 0,
|
|
47
|
+
journalsSaved: 0,
|
|
48
|
+
promptsCopied: 0,
|
|
49
|
+
};
|
|
50
|
+
metrics.sessions.push(session);
|
|
51
|
+
metrics.totalSessions++;
|
|
52
|
+
// Update streak
|
|
53
|
+
const today = new Date().toISOString().slice(0, 10);
|
|
54
|
+
const lastDate = metrics.lastSessionDate;
|
|
55
|
+
if (lastDate) {
|
|
56
|
+
const yesterday = new Date(Date.now() - 86400000).toISOString().slice(0, 10);
|
|
57
|
+
if (lastDate === yesterday) {
|
|
58
|
+
metrics.currentStreak++;
|
|
59
|
+
}
|
|
60
|
+
else if (lastDate !== today) {
|
|
61
|
+
metrics.currentStreak = 1;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
metrics.currentStreak = 1;
|
|
66
|
+
}
|
|
67
|
+
metrics.lastSessionDate = today;
|
|
68
|
+
saveMetrics(projectPath, metrics);
|
|
69
|
+
return sessionId;
|
|
70
|
+
}
|
|
71
|
+
export function endSession(projectPath, sessionId, endPhase) {
|
|
72
|
+
const metrics = loadMetrics(projectPath);
|
|
73
|
+
const session = metrics.sessions.find(s => s.sessionId === sessionId);
|
|
74
|
+
if (session) {
|
|
75
|
+
session.endTime = new Date().toISOString();
|
|
76
|
+
session.endPhase = endPhase;
|
|
77
|
+
// Calculate average session time
|
|
78
|
+
const completedSessions = metrics.sessions.filter(s => s.endTime);
|
|
79
|
+
if (completedSessions.length > 0) {
|
|
80
|
+
const totalMinutes = completedSessions.reduce((acc, s) => {
|
|
81
|
+
const start = new Date(s.startTime).getTime();
|
|
82
|
+
const end = new Date(s.endTime).getTime();
|
|
83
|
+
return acc + (end - start) / 60000;
|
|
84
|
+
}, 0);
|
|
85
|
+
metrics.averageSessionMinutes = Math.round(totalMinutes / completedSessions.length);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
saveMetrics(projectPath, metrics);
|
|
89
|
+
}
|
|
90
|
+
export function recordToolCall(projectPath, sessionId, toolName) {
|
|
91
|
+
const metrics = loadMetrics(projectPath);
|
|
92
|
+
const session = metrics.sessions.find(s => s.sessionId === sessionId);
|
|
93
|
+
if (session) {
|
|
94
|
+
session.toolCalls++;
|
|
95
|
+
metrics.totalToolCalls++;
|
|
96
|
+
if (toolName === 'midas_tornado') {
|
|
97
|
+
session.tornadoCycles++;
|
|
98
|
+
metrics.totalTornadoCycles++;
|
|
99
|
+
}
|
|
100
|
+
if (toolName === 'midas_journal_save') {
|
|
101
|
+
session.journalsSaved++;
|
|
102
|
+
metrics.totalJournalsSaved++;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
saveMetrics(projectPath, metrics);
|
|
106
|
+
}
|
|
107
|
+
export function recordPromptCopied(projectPath, sessionId) {
|
|
108
|
+
const metrics = loadMetrics(projectPath);
|
|
109
|
+
const session = metrics.sessions.find(s => s.sessionId === sessionId);
|
|
110
|
+
if (session) {
|
|
111
|
+
session.promptsCopied++;
|
|
112
|
+
}
|
|
113
|
+
saveMetrics(projectPath, metrics);
|
|
114
|
+
}
|
|
115
|
+
export function recordPhaseChange(projectPath, phase) {
|
|
116
|
+
const metrics = loadMetrics(projectPath);
|
|
117
|
+
// Close previous phase
|
|
118
|
+
const lastPhase = metrics.phaseHistory[metrics.phaseHistory.length - 1];
|
|
119
|
+
if (lastPhase && !lastPhase.duration) {
|
|
120
|
+
const entered = new Date(lastPhase.enteredAt).getTime();
|
|
121
|
+
lastPhase.duration = Math.round((Date.now() - entered) / 60000); // minutes
|
|
122
|
+
}
|
|
123
|
+
// Add new phase
|
|
124
|
+
const phaseStr = phase.phase === 'IDLE' ? 'IDLE' : `${phase.phase}:${phase.step}`;
|
|
125
|
+
metrics.phaseHistory.push({
|
|
126
|
+
phase: phaseStr,
|
|
127
|
+
enteredAt: new Date().toISOString(),
|
|
128
|
+
});
|
|
129
|
+
saveMetrics(projectPath, metrics);
|
|
130
|
+
}
|
|
131
|
+
export function getMetricsSummary(projectPath) {
|
|
132
|
+
const m = loadMetrics(projectPath);
|
|
133
|
+
if (m.totalSessions === 0) {
|
|
134
|
+
return 'No sessions yet';
|
|
135
|
+
}
|
|
136
|
+
const lines = [];
|
|
137
|
+
lines.push(`Sessions: ${m.totalSessions} (${m.currentStreak} day streak)`);
|
|
138
|
+
lines.push(`Avg session: ${m.averageSessionMinutes} min`);
|
|
139
|
+
lines.push(`Tool calls: ${m.totalToolCalls}`);
|
|
140
|
+
lines.push(`Tornado cycles: ${m.totalTornadoCycles}`);
|
|
141
|
+
lines.push(`Journals saved: ${m.totalJournalsSaved}`);
|
|
142
|
+
return lines.join('\n');
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAuTA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAoLpD"}
|
package/dist/tui.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { exec } from 'child_process';
|
|
2
|
-
import { existsSync, readFileSync, writeFileSync, appendFileSync } from 'fs';
|
|
3
|
-
import { join } from 'path';
|
|
4
2
|
import { loadState, saveState, PHASE_INFO } from './state/phase.js';
|
|
5
3
|
import { hasApiKey, ensureApiKey } from './config.js';
|
|
6
4
|
import { logEvent, watchEvents } from './events.js';
|
|
7
5
|
import { analyzeProject } from './analyzer.js';
|
|
8
6
|
import { getActivitySummary, loadTracker } from './tracker.js';
|
|
9
7
|
import { getJournalEntries } from './tools/journal.js';
|
|
8
|
+
import { startSession, endSession, recordPromptCopied, loadMetrics } from './metrics.js';
|
|
10
9
|
// ANSI codes
|
|
11
10
|
const ESC = '\x1b';
|
|
12
11
|
const reset = `${ESC}[0m`;
|
|
@@ -26,19 +25,36 @@ const PHASE_COLORS = {
|
|
|
26
25
|
SHIP: green,
|
|
27
26
|
GROW: magenta,
|
|
28
27
|
};
|
|
29
|
-
// The Midas
|
|
30
|
-
const
|
|
31
|
-
# Golden Code Methodology (via Midas MCP)
|
|
28
|
+
// The Midas User Rules content (for Cursor Settings → Rules for AI)
|
|
29
|
+
const MIDAS_USER_RULES = `# Golden Code Methodology (via Midas MCP)
|
|
32
30
|
|
|
33
|
-
##
|
|
34
|
-
1. **Before any code changes**: Call \`midas_analyze\` to understand current phase
|
|
35
|
-
2. **After important discussions**: Call \`midas_journal_save\` to preserve context
|
|
36
|
-
3. **When stuck**: Call \`midas_tornado\` for Research + Logs + Tests cycle
|
|
37
|
-
4. **When output doesn't fit**: Call \`midas_horizon\` to expand context
|
|
38
|
-
5. **When retrying failed prompts**: Call \`midas_oneshot\` to construct better retry
|
|
31
|
+
## AUTOMATIC BEHAVIOR - Do these without being asked:
|
|
39
32
|
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
### On EVERY new chat session:
|
|
34
|
+
1. Call \`midas_journal_list\` to load context from previous sessions
|
|
35
|
+
2. Call \`midas_analyze\` to understand current project phase
|
|
36
|
+
3. Follow the suggested approach from the analysis
|
|
37
|
+
|
|
38
|
+
### After EVERY significant code change:
|
|
39
|
+
1. Git commit with descriptive message before AND after major changes
|
|
40
|
+
2. Call \`midas_journal_save\` with title describing what was done
|
|
41
|
+
3. Include the full conversation in the journal entry
|
|
42
|
+
|
|
43
|
+
### Before EVERY implementation:
|
|
44
|
+
1. Call \`midas_suggest_prompt\` to get phase-appropriate guidance
|
|
45
|
+
2. Follow the Golden Code methodology for current phase
|
|
46
|
+
|
|
47
|
+
## When Things Go Wrong:
|
|
48
|
+
- Stuck/confused: Call \`midas_tornado\` for Research + Logs + Tests cycle
|
|
49
|
+
- Output doesn't fit: Call \`midas_horizon\` to expand context
|
|
50
|
+
- Retry after error: Call \`midas_oneshot\` to construct better retry
|
|
51
|
+
|
|
52
|
+
## Git Discipline:
|
|
53
|
+
- Commit BEFORE starting any significant change (checkpoint)
|
|
54
|
+
- Commit AFTER completing each logical unit of work
|
|
55
|
+
|
|
56
|
+
## The 7-Step BUILD Cycle:
|
|
57
|
+
RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
|
|
42
58
|
`;
|
|
43
59
|
// Session starter prompt
|
|
44
60
|
function getSessionStarterPrompt(projectPath) {
|
|
@@ -49,23 +65,9 @@ function getSessionStarterPrompt(projectPath) {
|
|
|
49
65
|
}
|
|
50
66
|
return `Before we begin, please call midas_analyze to understand where we are in the project and what to do next.`;
|
|
51
67
|
}
|
|
52
|
-
//
|
|
53
|
-
function
|
|
54
|
-
|
|
55
|
-
if (!existsSync(rulesPath))
|
|
56
|
-
return false;
|
|
57
|
-
const content = readFileSync(rulesPath, 'utf-8');
|
|
58
|
-
return content.includes('midas_analyze') || content.includes('Golden Code');
|
|
59
|
-
}
|
|
60
|
-
// Add Midas rules to .cursorrules
|
|
61
|
-
function addMidasRules(projectPath) {
|
|
62
|
-
const rulesPath = join(projectPath, '.cursorrules');
|
|
63
|
-
if (existsSync(rulesPath)) {
|
|
64
|
-
appendFileSync(rulesPath, '\n' + MIDAS_CURSORRULES);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
writeFileSync(rulesPath, MIDAS_CURSORRULES.trim());
|
|
68
|
-
}
|
|
68
|
+
// Copy User Rules to clipboard for pasting into Cursor Settings
|
|
69
|
+
function copyUserRules() {
|
|
70
|
+
return copyToClipboard(MIDAS_USER_RULES);
|
|
69
71
|
}
|
|
70
72
|
function copyToClipboard(text) {
|
|
71
73
|
return new Promise((resolve, reject) => {
|
|
@@ -134,8 +136,9 @@ function drawUI(state, _projectPath) {
|
|
|
134
136
|
const lines = [];
|
|
135
137
|
// Header
|
|
136
138
|
lines.push(`${cyan}╔${hLine}╗${reset}`);
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
+
const streakStr = state.sessionStreak > 0 ? `${yellow}🔥${state.sessionStreak}${reset}` : '';
|
|
140
|
+
const statusIcons = `${streakStr} ${state.hasApiKey ? `${green}●${reset}AI` : `${dim}○${reset}--`}`;
|
|
141
|
+
lines.push(row(`${bold}${white}MIDAS${reset} ${dim}- Golden Code Coach${reset} ${statusIcons}`, I));
|
|
139
142
|
lines.push(`${cyan}╠${hLine}╣${reset}`);
|
|
140
143
|
// Show session starter prompt first
|
|
141
144
|
if (state.showingSessionStart) {
|
|
@@ -150,13 +153,11 @@ function drawUI(state, _projectPath) {
|
|
|
150
153
|
}
|
|
151
154
|
lines.push(`${cyan}║${reset} ${dim}└${hLineLight}┘${reset}${cyan}║${reset}`);
|
|
152
155
|
lines.push(emptyRow());
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
lines.push(emptyRow());
|
|
157
|
-
}
|
|
156
|
+
lines.push(row(`${dim}TIP: Add User Rules in Cursor Settings for auto-behavior${reset}`, 57));
|
|
157
|
+
lines.push(row(`${dim}Press ${bold}[u]${reset}${dim} to copy User Rules to clipboard${reset}`, 42));
|
|
158
|
+
lines.push(emptyRow());
|
|
158
159
|
lines.push(`${cyan}╠${hLine}╣${reset}`);
|
|
159
|
-
lines.push(row(`${dim}[c]${reset} Copy starter ${dim}[
|
|
160
|
+
lines.push(row(`${dim}[c]${reset} Copy starter ${dim}[u]${reset} Copy User Rules ${dim}[s]${reset} Skip ${dim}[q]${reset} Quit`, 54));
|
|
160
161
|
lines.push(`${cyan}╚${hLine}╝${reset}`);
|
|
161
162
|
return lines.join('\n');
|
|
162
163
|
}
|
|
@@ -272,6 +273,10 @@ export async function runInteractive() {
|
|
|
272
273
|
}
|
|
273
274
|
process.stdin.resume();
|
|
274
275
|
process.stdin.setEncoding('utf8');
|
|
276
|
+
// Start a new session for metrics tracking
|
|
277
|
+
const currentPhase = loadState(projectPath).current;
|
|
278
|
+
const sessionId = startSession(projectPath, currentPhase);
|
|
279
|
+
const metrics = loadMetrics(projectPath);
|
|
275
280
|
const tuiState = {
|
|
276
281
|
analysis: null,
|
|
277
282
|
isAnalyzing: false,
|
|
@@ -280,9 +285,10 @@ export async function runInteractive() {
|
|
|
280
285
|
recentEvents: [],
|
|
281
286
|
message: '',
|
|
282
287
|
hasApiKey: hasApiKey(),
|
|
283
|
-
hasMidasRules: hasMidasRules(projectPath),
|
|
284
288
|
showingSessionStart: true, // Start with session starter prompt
|
|
285
289
|
sessionStarterPrompt: getSessionStarterPrompt(projectPath),
|
|
290
|
+
sessionId,
|
|
291
|
+
sessionStreak: metrics.currentStreak,
|
|
286
292
|
};
|
|
287
293
|
const render = () => {
|
|
288
294
|
console.log(clearScreen);
|
|
@@ -353,8 +359,11 @@ export async function runInteractive() {
|
|
|
353
359
|
});
|
|
354
360
|
process.stdin.on('data', async (key) => {
|
|
355
361
|
if (key === 'q' || key === '\u0003') {
|
|
362
|
+
// End session and save metrics
|
|
363
|
+
const endPhase = tuiState.analysis?.currentPhase || { phase: 'IDLE' };
|
|
364
|
+
endSession(projectPath, tuiState.sessionId, endPhase);
|
|
356
365
|
console.log(clearScreen);
|
|
357
|
-
console.log(`\n ${cyan}Midas${reset} signing off. Happy vibecoding!\n`);
|
|
366
|
+
console.log(`\n ${cyan}Midas${reset} signing off. Session saved. Happy vibecoding!\n`);
|
|
358
367
|
clearInterval(activityInterval);
|
|
359
368
|
stopWatchingEvents();
|
|
360
369
|
process.exit(0);
|
|
@@ -380,14 +389,13 @@ export async function runInteractive() {
|
|
|
380
389
|
}
|
|
381
390
|
return;
|
|
382
391
|
}
|
|
383
|
-
if (key === '
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
tuiState.
|
|
387
|
-
tuiState.message = `${green}✓${reset} Added Golden Code rules to .cursorrules`;
|
|
392
|
+
if (key === 'u') {
|
|
393
|
+
try {
|
|
394
|
+
await copyUserRules();
|
|
395
|
+
tuiState.message = `${green}✓${reset} User Rules copied! Paste in Cursor Settings → Rules for AI`;
|
|
388
396
|
}
|
|
389
|
-
|
|
390
|
-
tuiState.message = `${
|
|
397
|
+
catch {
|
|
398
|
+
tuiState.message = `${yellow}!${reset} Could not copy.`;
|
|
391
399
|
}
|
|
392
400
|
render();
|
|
393
401
|
return;
|
|
@@ -400,6 +408,7 @@ export async function runInteractive() {
|
|
|
400
408
|
await copyToClipboard(tuiState.analysis.suggestedPrompt);
|
|
401
409
|
tuiState.message = `${green}✓${reset} Prompt copied to clipboard!`;
|
|
402
410
|
logEvent(projectPath, { type: 'prompt_copied', message: tuiState.analysis.suggestedPrompt.slice(0, 100) });
|
|
411
|
+
recordPromptCopied(projectPath, tuiState.sessionId);
|
|
403
412
|
}
|
|
404
413
|
catch {
|
|
405
414
|
tuiState.message = `${yellow}!${reset} Could not copy.`;
|
package/dist/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAc,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAmB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAiB,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5G,aAAa;AACb,MAAM,GAAG,GAAG,MAAM,CAAC;AACnB,MAAM,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;AAC1B,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC;AACzB,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;AACxB,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC;AAC3B,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;AAC5B,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;AAC1B,MAAM,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;AAC1B,MAAM,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC;AAC7B,MAAM,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC;AAC3B,MAAM,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,WAAW,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,MAAM,YAAY,GAA2B;IAC3C,WAAW,EAAE,MAAM;IACnB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;CACd,CAAC;AAEF,oEAAoE;AACpE,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BxB,CAAC;AAEF,yBAAyB;AACzB,SAAS,uBAAuB,CAAC,WAAmB;IAClD,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7C,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,oFAAoF,cAAc,CAAC,MAAM,sFAAsF,CAAC;IACzM,CAAC;IACD,OAAO,2GAA2G,CAAC;AACrH,CAAC;AAED,gEAAgE;AAChE,SAAS,aAAa;IACpB,OAAO,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAgBD,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YAClC,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,QAAgB;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,KAAY;IAC9B,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IACjD,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAY;IACpC,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,GAAG,IAAI,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,MAAM,CAAC,KAAe,EAAE,YAAoB;IACnD,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,cAAc;IAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,wCAAwC;IAEzD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,UAAkB,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;QACxD,OAAO,GAAG,IAAI,IAAI,KAAK,KAAK,OAAO,GAAG,OAAO,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IAClE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;IAE9E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,KAAK,CAAC,aAAa,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,MAAM,WAAW,GAAG,GAAG,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;IACpG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,KAAK,IAAI,GAAG,sBAAsB,KAAK,cAAc,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9G,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAExC,oCAAoC;IACpC,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,gBAAgB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,sCAAsC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,UAAU,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAE9E,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,UAAU,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAC9E,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,2DAA2D,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,IAAI,MAAM,KAAK,GAAG,GAAG,mCAAmC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,KAAK,kBAAkB,GAAG,MAAM,KAAK,qBAAqB,GAAG,MAAM,KAAK,UAAU,GAAG,MAAM,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACzI,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,KAAK,IAAI,IAAI,uBAAuB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,0CAA0C,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,2BAA2B,IAAI,MAAM,KAAK,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QAChG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,KAAK,aAAa,GAAG,MAAM,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEzB,4BAA4B;IAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAExC,sBAAsB;IACtB,MAAM,MAAM,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;IACjE,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,KAA8B,CAAC,CAAC;IAE7H,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,GAAG,eAAe,EAAE,CAAC;YACxB,YAAY,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;QACvE,CAAC;aAAM,IAAI,CAAC,KAAK,eAAe,EAAE,CAAC;YACjC,YAAY,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,YAAY,IAAI,GAAG,GAAG,KAAK,IAAI,CAAC,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;QACvD,CAAC;QACD,WAAW,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB,gCAAgC;IAChC,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;IACjF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,UAAU,IAAI,KAAK,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACxK,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB,cAAc;IACd,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,aAAa,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAExC,wBAAwB;IACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,QAAQ,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB,kCAAkC;IAClC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,wBAAwB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,UAAU,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAE9E,4BAA4B;QAC5B,MAAM,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,UAAU,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,iDAAiD;IACjD,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,uBAAuB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YAClF,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,KAAK,iBAAiB,GAAG,MAAM,KAAK,gBAAgB,GAAG,MAAM,KAAK,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,iCAAiC;IACjC,MAAM,YAAY,EAAE,CAAC;IAErB,kBAAkB;IAClB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,2CAA2C;IAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IACpD,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAa;QACzB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,KAAK;QAClB,eAAe,EAAE,kBAAkB,CAAC,WAAW,CAAC;QAChD,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,SAAS,EAAE;QACtB,mBAAmB,EAAE,IAAI,EAAE,oCAAoC;QAC/D,oBAAoB,EAAE,uBAAuB,CAAC,WAAW,CAAC;QAC1D,SAAS;QACT,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3C,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,KAAK,0CAA0C,CAAC;YAC7E,MAAM,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,CAAC;QAET,IAAI,CAAC;YACH,QAAQ,CAAC,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;YAEtD,sBAAsB;YACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;gBACrC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC/C,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,QAAQ,CAAC,WAAW,EAAE;gBACpB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;gBAClC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE;aAChD,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,OAAO,GAAG,GAAG,GAAG,IAAI,KAAK,kCAAkC,CAAC;QACvE,CAAC;QAED,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,EAAE,CAAC;IAET,kDAAkD;IAClD,kDAAkD;IAElD,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,UAAU,KAAK,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC5C,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAC;YACtC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChF,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,2DAA2D;IAC3D,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,EAAE;QAChE,QAAQ,CAAC,YAAY,GAAG,CAAC,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAE5E,mCAAmC;QACnC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QACnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnD,QAAQ,CAAC,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,kBAAkB,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;YAErF,4CAA4C;YAC5C,MAAM,YAAY,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YACtF,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC/C,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;QAC7C,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACpC,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,IAAI,EAAE,KAAK,EAAE,MAAe,EAAE,CAAC;YAC/E,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEtD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,QAAQ,KAAK,kDAAkD,CAAC,CAAC;YACxF,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAChC,kBAAkB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gCAAgC;QAChC,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;YACjC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;oBACrD,QAAQ,CAAC,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,4DAA4D,CAAC;gBACnG,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,OAAO,GAAG,GAAG,MAAM,IAAI,KAAK,kBAAkB,CAAC;gBAC1D,CAAC;gBACD,MAAM,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChB,QAAQ,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACrC,MAAM,EAAE,CAAC;gBACT,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,WAAW,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,MAAM,aAAa,EAAE,CAAC;oBACtB,QAAQ,CAAC,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,6DAA6D,CAAC;gBACpG,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,OAAO,GAAG,GAAG,MAAM,IAAI,KAAK,kBAAkB,CAAC;gBAC1D,CAAC;gBACD,MAAM,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,OAAO,CAAC,4CAA4C;QACtD,CAAC;QAED,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACzD,QAAQ,CAAC,OAAO,GAAG,GAAG,KAAK,IAAI,KAAK,8BAA8B,CAAC;oBACnE,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC3G,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtD,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,OAAO,GAAG,GAAG,MAAM,IAAI,KAAK,kBAAkB,CAAC;gBAC1D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,OAAO,GAAG,GAAG,MAAM,IAAI,KAAK,qBAAqB,CAAC;YAC7D,CAAC;YACD,MAAM,EAAE,CAAC;QACX,CAAC;QAED,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,69 +1,84 @@
|
|
|
1
1
|
# Recommended .cursorrules for Midas Users
|
|
2
2
|
|
|
3
|
-
Add this to your project's `.cursorrules` file to
|
|
3
|
+
Add this to your project's `.cursorrules` file to make Cursor automatically follow the Golden Code methodology:
|
|
4
4
|
|
|
5
5
|
```
|
|
6
|
-
# Golden Code Methodology
|
|
6
|
+
# Golden Code Methodology (via Midas MCP)
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
## AUTOMATIC BEHAVIOR - Do these without being asked:
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
### On EVERY new chat session:
|
|
11
|
+
1. Call `midas_journal_list` to load context from previous sessions
|
|
12
|
+
2. Call `midas_analyze` to understand current project phase
|
|
13
|
+
3. Follow the suggested approach from the analysis
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
4. **When output doesn't fit**: Call `midas_horizon` to expand context
|
|
16
|
-
5. **When retrying failed prompts**: Call `midas_oneshot` to construct a better retry
|
|
15
|
+
### After EVERY significant code change:
|
|
16
|
+
1. Call `midas_journal_save` with title describing what was done
|
|
17
|
+
2. Include the full conversation in the journal entry
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
### Before EVERY implementation:
|
|
20
|
+
1. Call `midas_suggest_prompt` to get phase-appropriate guidance
|
|
21
|
+
2. Follow the Golden Code methodology for current phase
|
|
22
|
+
|
|
23
|
+
## When Things Go Wrong:
|
|
24
|
+
- **Stuck/confused**: Call `midas_tornado` for Research + Logs + Tests cycle
|
|
25
|
+
- **Output doesn't fit**: Call `midas_horizon` to expand context
|
|
26
|
+
- **Retry after error**: Call `midas_oneshot` to construct better retry
|
|
27
|
+
|
|
28
|
+
## The 7-Step BUILD Cycle:
|
|
29
|
+
RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
|
|
30
|
+
Always complete earlier steps before jumping to implementation.
|
|
31
|
+
|
|
32
|
+
## The 4 Phases:
|
|
19
33
|
|
|
20
34
|
### EAGLE_SIGHT (Planning)
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
- IDEA: Define core idea, problem, audience
|
|
36
|
+
- RESEARCH: Landscape scan, competitors
|
|
37
|
+
- BRAINLIFT: Document unique insights
|
|
38
|
+
- PRD: Write requirements
|
|
39
|
+
- GAMEPLAN: Plan the build
|
|
40
|
+
|
|
41
|
+
### BUILD (Development)
|
|
42
|
+
- RULES: Read .cursorrules and project constraints
|
|
43
|
+
- INDEX: Understand codebase structure
|
|
44
|
+
- READ: Read specific implementation files
|
|
45
|
+
- RESEARCH: Look up docs, APIs, best practices
|
|
46
|
+
- IMPLEMENT: Write code with tests
|
|
47
|
+
- TEST: Run tests, fix failures
|
|
48
|
+
- DEBUG: Use Tornado cycle if stuck
|
|
33
49
|
|
|
34
50
|
### SHIP (Deployment)
|
|
35
|
-
- Code review, security audit
|
|
36
|
-
- CI/CD and production deploy
|
|
37
|
-
-
|
|
51
|
+
- REVIEW: Code review, security audit
|
|
52
|
+
- DEPLOY: CI/CD and production deploy
|
|
53
|
+
- MONITOR: Logs, alerts, health checks
|
|
38
54
|
|
|
39
55
|
### GROW (Iteration)
|
|
40
|
-
- Collect feedback
|
|
41
|
-
-
|
|
42
|
-
- Plan next cycle (back to EAGLE_SIGHT)
|
|
43
|
-
|
|
44
|
-
## Journal Important Conversations
|
|
45
|
-
|
|
46
|
-
When making significant decisions or completing major implementations, save the conversation:
|
|
56
|
+
- FEEDBACK: Collect user feedback
|
|
57
|
+
- ANALYZE: Study metrics and behavior
|
|
58
|
+
- ITERATE: Plan next cycle (back to EAGLE_SIGHT)
|
|
59
|
+
```
|
|
47
60
|
|
|
48
|
-
|
|
61
|
+
## Why This Works
|
|
49
62
|
|
|
50
|
-
|
|
63
|
+
With these rules, Cursor will **automatically**:
|
|
51
64
|
|
|
52
|
-
|
|
65
|
+
1. **Load context** from your journal at session start
|
|
66
|
+
2. **Analyze the project** to understand where you are
|
|
67
|
+
3. **Save conversations** to journal after changes
|
|
68
|
+
4. **Follow methodology** without you having to ask
|
|
53
69
|
|
|
54
|
-
|
|
55
|
-
2. **Tornado Building**: When stuck: Research → Logs → Tests
|
|
56
|
-
3. **Horizon Thinking**: Expand context when output doesn't fit
|
|
57
|
-
```
|
|
70
|
+
You still initiate each chat, but Cursor does the Midas calls automatically.
|
|
58
71
|
|
|
59
72
|
## Installation
|
|
60
73
|
|
|
61
|
-
1.
|
|
62
|
-
2.
|
|
63
|
-
3.
|
|
74
|
+
1. Run `midas-mcp tui` in your project
|
|
75
|
+
2. Press `[a]` to add these rules to `.cursorrules`
|
|
76
|
+
3. Or manually create `.cursorrules` with the content above
|
|
77
|
+
|
|
78
|
+
## What You DON'T Get (Yet)
|
|
64
79
|
|
|
65
|
-
|
|
80
|
+
- Auto-starting new chats (Cursor must be manually opened)
|
|
81
|
+
- Auto-committing before/after prompts (would need Claude Code CLI)
|
|
82
|
+
- Proactive notifications (MCP is request/response only)
|
|
66
83
|
|
|
67
|
-
|
|
68
|
-
- **Journal entries persist context** - unlike chat history which is ephemeral
|
|
69
|
-
- **Phase tracking helps stay focused** - prevents scope creep and random tangents
|
|
84
|
+
For fully automated workflows, consider wrapping Claude Code CLI.
|
package/docs/USER_RULES.md
CHANGED
|
@@ -1,90 +1,71 @@
|
|
|
1
|
-
# User Rules
|
|
1
|
+
# Midas - Cursor User Rules
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Add these rules to your **Cursor User Rules** (Settings → Rules for AI) to make Cursor automatically follow the Golden Code methodology across ALL projects.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## The Rules to Add
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- Simple short git commit after changes, no emojis or special characters
|
|
47
|
-
- Deploy Firebase rules/functions/indexes when changed
|
|
48
|
-
- Deploy Firebase cloud functions when updated
|
|
49
|
-
|
|
50
|
-
---
|
|
51
|
-
|
|
52
|
-
## Testing
|
|
53
|
-
|
|
54
|
-
- Use iPhone 16 or 16 Pro for Xcode iOS simulator
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Full Rules Template
|
|
7
|
+
```
|
|
8
|
+
# Golden Code Methodology (via Midas MCP)
|
|
9
|
+
|
|
10
|
+
## AUTOMATIC BEHAVIOR - Do these without being asked:
|
|
11
|
+
|
|
12
|
+
### On EVERY new chat session:
|
|
13
|
+
1. Call `midas_journal_list` to load context from previous sessions
|
|
14
|
+
2. Call `midas_analyze` to understand current project phase
|
|
15
|
+
3. Follow the suggested approach from the analysis
|
|
16
|
+
|
|
17
|
+
### After EVERY significant code change:
|
|
18
|
+
1. Git commit with descriptive message before AND after major changes
|
|
19
|
+
2. Call `midas_journal_save` with title describing what was done
|
|
20
|
+
3. Include the full conversation in the journal entry
|
|
21
|
+
|
|
22
|
+
### Before EVERY implementation:
|
|
23
|
+
1. Call `midas_suggest_prompt` to get phase-appropriate guidance
|
|
24
|
+
2. Follow the Golden Code methodology for current phase
|
|
25
|
+
|
|
26
|
+
## When Things Go Wrong:
|
|
27
|
+
- **Stuck/confused**: Call `midas_tornado` for Research + Logs + Tests cycle
|
|
28
|
+
- **Output doesn't fit**: Call `midas_horizon` to expand context
|
|
29
|
+
- **Retry after error**: Call `midas_oneshot` to construct better retry
|
|
30
|
+
|
|
31
|
+
## Git Discipline:
|
|
32
|
+
- Commit BEFORE starting any significant change (checkpoint)
|
|
33
|
+
- Commit AFTER completing each logical unit of work
|
|
34
|
+
- Use descriptive commit messages that explain WHY not just WHAT
|
|
35
|
+
|
|
36
|
+
## The 7-Step BUILD Cycle:
|
|
37
|
+
RULES → INDEX → READ → RESEARCH → IMPLEMENT → TEST → DEBUG
|
|
38
|
+
Always complete earlier steps before jumping to implementation.
|
|
39
|
+
|
|
40
|
+
## The 4 Phases:
|
|
41
|
+
1. EAGLE_SIGHT: Plan before coding (brainlift, PRD, gameplan)
|
|
42
|
+
2. BUILD: The 7-step cycle above
|
|
43
|
+
3. SHIP: Review, deploy, monitor
|
|
44
|
+
4. GROW: Feedback, analyze, iterate back to EAGLE_SIGHT
|
|
45
|
+
```
|
|
59
46
|
|
|
60
|
-
|
|
61
|
-
# DOCUMENTATION
|
|
62
|
-
- No emojis, no ALL CAPS, no tables with dashes/pipes
|
|
63
|
-
- No em dashes, no excessive formatting
|
|
64
|
-
- Bold for emphasis, write tersely, casually, high IQ
|
|
47
|
+
## How to Add
|
|
65
48
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
49
|
+
1. Open Cursor Settings (Cmd+,)
|
|
50
|
+
2. Search for "Rules for AI" or navigate to it
|
|
51
|
+
3. Paste the rules above
|
|
52
|
+
4. Save
|
|
70
53
|
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
54
|
+
Now Cursor will automatically:
|
|
55
|
+
- Load journal context at session start
|
|
56
|
+
- Analyze project phase
|
|
57
|
+
- Save conversations to journal
|
|
58
|
+
- Git commit before/after changes
|
|
59
|
+
- Follow the Golden Code methodology
|
|
76
60
|
|
|
77
|
-
|
|
78
|
-
- Single responsibility principle
|
|
79
|
-
- Achieve each task in minimum tokens
|
|
80
|
-
- Add logs and look up documentation to debug
|
|
61
|
+
## Why User Rules Instead of .cursorrules
|
|
81
62
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
63
|
+
| Feature | User Rules | .cursorrules |
|
|
64
|
+
|---------|-----------|--------------|
|
|
65
|
+
| Scope | All projects | One project |
|
|
66
|
+
| Git tracked | No | Yes |
|
|
67
|
+
| Setup | Once | Per project |
|
|
68
|
+
| Override | Per-project can override | N/A |
|
|
87
69
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
```
|
|
70
|
+
User Rules are ideal for methodology/workflow rules that should apply everywhere.
|
|
71
|
+
Project `.cursorrules` are for project-specific conventions (TypeScript config, naming, etc).
|