golem-cc 2.1.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.claude/commands/golem/build.md +18 -0
  2. package/.claude/commands/golem/config.md +39 -0
  3. package/.claude/commands/golem/continue.md +73 -0
  4. package/.claude/commands/golem/doctor.md +46 -0
  5. package/.claude/commands/golem/document.md +138 -0
  6. package/.claude/commands/golem/help.md +58 -0
  7. package/.claude/commands/golem/pause.md +130 -0
  8. package/.claude/commands/golem/plan.md +111 -0
  9. package/.claude/commands/golem/review.md +166 -0
  10. package/.claude/commands/golem/security.md +186 -0
  11. package/.claude/commands/golem/simplify.md +76 -0
  12. package/.claude/commands/golem/spec.md +105 -0
  13. package/.claude/commands/golem/status.md +33 -0
  14. package/.golem/agents/code-simplifier.md +54 -0
  15. package/.golem/agents/review-architecture.md +59 -0
  16. package/.golem/agents/review-logic.md +50 -0
  17. package/.golem/agents/review-security.md +50 -0
  18. package/.golem/agents/review-style.md +48 -0
  19. package/.golem/agents/review-tests.md +48 -0
  20. package/.golem/agents/spec-builder.md +60 -0
  21. package/.golem/bin/golem.mjs +270 -0
  22. package/.golem/lib/build.mjs +557 -0
  23. package/.golem/lib/claude.mjs +95 -0
  24. package/.golem/lib/config.mjs +421 -0
  25. package/.golem/lib/display.mjs +191 -0
  26. package/.golem/lib/doctor.mjs +197 -0
  27. package/.golem/lib/document.mjs +792 -0
  28. package/.golem/lib/gates.mjs +78 -0
  29. package/.golem/lib/init.mjs +166 -0
  30. package/.golem/lib/output.mjs +40 -0
  31. package/.golem/lib/ratelimit.mjs +86 -0
  32. package/.golem/lib/security.mjs +603 -0
  33. package/.golem/lib/simplify.mjs +101 -0
  34. package/.golem/lib/tui.mjs +368 -0
  35. package/.golem/lib/usage.mjs +119 -0
  36. package/.golem/lib/worktree.mjs +509 -0
  37. package/.golem/prompts/build.md +23 -0
  38. package/.golem/prompts/document-inline.md +66 -0
  39. package/.golem/prompts/document-markdown.md +80 -0
  40. package/.golem/prompts/simplify.md +35 -0
  41. package/README.md +141 -142
  42. package/bin/golem-shim.mjs +36 -0
  43. package/bin/install.mjs +193 -0
  44. package/package.json +27 -32
  45. package/.env.example +0 -17
  46. package/bin/golem +0 -1040
  47. package/commands/golem/build.md +0 -235
  48. package/commands/golem/config.md +0 -55
  49. package/commands/golem/doctor.md +0 -137
  50. package/commands/golem/help.md +0 -212
  51. package/commands/golem/plan.md +0 -214
  52. package/commands/golem/review.md +0 -376
  53. package/commands/golem/security.md +0 -204
  54. package/commands/golem/simplify.md +0 -94
  55. package/commands/golem/spec.md +0 -226
  56. package/commands/golem/status.md +0 -60
  57. package/dist/api/freshworks.d.ts +0 -61
  58. package/dist/api/freshworks.d.ts.map +0 -1
  59. package/dist/api/freshworks.js +0 -119
  60. package/dist/api/freshworks.js.map +0 -1
  61. package/dist/api/gitea.d.ts +0 -96
  62. package/dist/api/gitea.d.ts.map +0 -1
  63. package/dist/api/gitea.js +0 -154
  64. package/dist/api/gitea.js.map +0 -1
  65. package/dist/cli/index.d.ts +0 -9
  66. package/dist/cli/index.d.ts.map +0 -1
  67. package/dist/cli/index.js +0 -352
  68. package/dist/cli/index.js.map +0 -1
  69. package/dist/sync/ticket-sync.d.ts +0 -53
  70. package/dist/sync/ticket-sync.d.ts.map +0 -1
  71. package/dist/sync/ticket-sync.js +0 -226
  72. package/dist/sync/ticket-sync.js.map +0 -1
  73. package/dist/types.d.ts +0 -125
  74. package/dist/types.d.ts.map +0 -1
  75. package/dist/types.js +0 -5
  76. package/dist/types.js.map +0 -1
  77. package/dist/worktree/manager.d.ts +0 -54
  78. package/dist/worktree/manager.d.ts.map +0 -1
  79. package/dist/worktree/manager.js +0 -190
  80. package/dist/worktree/manager.js.map +0 -1
  81. package/golem/agents/code-simplifier.md +0 -81
  82. package/golem/agents/spec-builder.md +0 -90
  83. package/golem/prompts/PROMPT_build.md +0 -71
  84. package/golem/prompts/PROMPT_plan.md +0 -102
@@ -1,204 +0,0 @@
1
- ---
2
- name: golem:security
3
- description: Run automated security scans
4
- allowed-tools: [Read, Bash, Write]
5
- ---
6
-
7
- <objective>
8
- Run automated security tooling to detect vulnerabilities before code review. Uses gitleaks (secrets), semgrep (SAST), pnpm audit (dependencies), and trivy (containers).
9
- </objective>
10
-
11
- <context>
12
- Current ticket:
13
- ```bash
14
- TICKET_ID=$(basename "$(pwd)" | grep -oE '(INC|SR)-[0-9]+' || echo "")
15
- echo "Ticket: ${TICKET_ID:-none}"
16
- ```
17
-
18
- Check available tools:
19
- ```bash
20
- echo "Checking security tools..."
21
- which gitleaks && gitleaks version || echo "gitleaks: NOT INSTALLED"
22
- which semgrep && semgrep --version || echo "semgrep: NOT INSTALLED"
23
- which trivy && trivy --version || echo "trivy: NOT INSTALLED"
24
- pnpm --version && echo "pnpm: OK" || echo "pnpm: NOT INSTALLED"
25
- ```
26
- </context>
27
-
28
- <process>
29
-
30
- ## Phase 1: Pre-flight
31
-
32
- Check which security tools are available. Not all are required - run what's available.
33
-
34
- Required tools and install commands:
35
- - **gitleaks**: `brew install gitleaks` or `go install github.com/gitleaks/gitleaks/v8@latest`
36
- - **semgrep**: `brew install semgrep` or `pip install semgrep`
37
- - **trivy**: `brew install trivy` or `curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh`
38
- - **pnpm**: `npm install -g pnpm`
39
-
40
- ## Phase 2: Run Security Scans
41
-
42
- Run each available tool and capture results:
43
-
44
- ### 2.1 Secrets Scan (gitleaks)
45
- ```bash
46
- if command -v gitleaks &> /dev/null; then
47
- echo "=== SECRETS SCAN (gitleaks) ==="
48
- if [ -f .gitleaks.toml ]; then
49
- gitleaks detect --config .gitleaks.toml --no-git -v 2>&1
50
- else
51
- gitleaks detect --no-git -v 2>&1
52
- fi
53
- echo "Exit code: $?"
54
- fi
55
- ```
56
-
57
- Scans for:
58
- - API keys (AWS, GCP, Azure, Stripe, etc.)
59
- - Private keys (RSA, SSH, PGP)
60
- - Database connection strings with passwords
61
- - OAuth/JWT tokens
62
- - Hardcoded credentials
63
-
64
- ### 2.2 SAST Scan (semgrep)
65
- ```bash
66
- if command -v semgrep &> /dev/null; then
67
- echo "=== SAST SCAN (semgrep) ==="
68
- semgrep scan --config auto --json 2>&1 | head -200
69
- echo "Exit code: $?"
70
- fi
71
- ```
72
-
73
- Scans for OWASP Top 10:
74
- - A01: Broken Access Control
75
- - A02: Cryptographic Failures
76
- - A03: Injection (SQL, XSS, Command)
77
- - A04: Insecure Design
78
- - A05: Security Misconfiguration
79
- - A06: Vulnerable Components
80
- - A07: Authentication Failures
81
- - A08: Data Integrity Failures
82
- - A09: Logging Failures
83
- - A10: SSRF
84
-
85
- ### 2.3 Dependency Scan (pnpm audit)
86
- ```bash
87
- if [ -f package.json ]; then
88
- echo "=== DEPENDENCY SCAN (pnpm audit) ==="
89
- pnpm audit --json 2>&1 | head -100
90
- echo "Exit code: $?"
91
- fi
92
- ```
93
-
94
- Checks against:
95
- - National Vulnerability Database (NVD/CVE)
96
- - GitHub Advisory Database
97
- - npm Security Advisories
98
-
99
- ### 2.4 Container Scan (trivy)
100
- ```bash
101
- if command -v trivy &> /dev/null && command -v docker &> /dev/null; then
102
- # Check for local image or Dockerfile
103
- if docker images --format "{{.Repository}}" 2>/dev/null | head -1 | grep -q .; then
104
- echo "=== CONTAINER SCAN (trivy) ==="
105
- IMAGE=$(docker images --format "{{.Repository}}:{{.Tag}}" 2>/dev/null | head -1)
106
- trivy image --severity HIGH,CRITICAL "$IMAGE" 2>&1 | head -100
107
- echo "Exit code: $?"
108
- elif [ -f Dockerfile ]; then
109
- echo "=== DOCKERFILE SCAN (trivy) ==="
110
- trivy config Dockerfile 2>&1
111
- echo "Exit code: $?"
112
- else
113
- echo "=== CONTAINER SCAN: SKIPPED (no image or Dockerfile) ==="
114
- fi
115
- fi
116
- ```
117
-
118
- Scans for:
119
- - OS package vulnerabilities
120
- - Application dependencies in image
121
- - Dockerfile misconfigurations
122
-
123
- ## Phase 3: Generate Report
124
-
125
- Write `.golem/SECURITY_REPORT.md`:
126
-
127
- ```markdown
128
- # Security Scan Report
129
-
130
- **Generated:** {ISO timestamp}
131
- **Ticket:** {TICKET_ID}
132
-
133
- ## Summary
134
-
135
- | Scan | Status | Findings |
136
- |------|--------|----------|
137
- | Secrets (gitleaks) | {PASS/FAIL/SKIPPED} | {count} |
138
- | SAST (semgrep) | {PASS/FAIL/SKIPPED} | {count} |
139
- | Dependencies (pnpm) | {PASS/FAIL/SKIPPED} | {high}/{critical} |
140
- | Container (trivy) | {PASS/FAIL/SKIPPED} | {count} |
141
-
142
- ## Verdict
143
-
144
- {PASS | FAIL | PARTIAL}
145
-
146
- ---
147
-
148
- ## Findings
149
-
150
- ### Secrets
151
- {details or "No secrets detected"}
152
-
153
- ### SAST
154
- {details or "No vulnerabilities detected"}
155
-
156
- ### Dependencies
157
- {details or "No vulnerable dependencies"}
158
-
159
- ### Container
160
- {details or "No container vulnerabilities"}
161
-
162
- ---
163
-
164
- ## Next Steps
165
-
166
- {If FAIL: list what needs to be fixed}
167
- {If PASS: "Ready for code review - run /golem:review"}
168
- ```
169
-
170
- ## Phase 4: Verdict
171
-
172
- **PASS**: All scans passed (or skipped due to missing tools)
173
- - Announce ready for review
174
- - Suggest running `/golem:review`
175
-
176
- **FAIL**: Any scan found issues
177
- - List critical findings
178
- - Block until fixed
179
- - Do NOT proceed to review
180
-
181
- **PARTIAL**: Some tools missing
182
- - Warn about missing coverage
183
- - Suggest installing missing tools
184
- - Allow proceeding with caution
185
-
186
- </process>
187
-
188
- <success_criteria>
189
- - [ ] Available security tools identified
190
- - [ ] Secrets scan completed (if gitleaks available)
191
- - [ ] SAST scan completed (if semgrep available)
192
- - [ ] Dependency scan completed (if package.json exists)
193
- - [ ] Container scan completed (if applicable)
194
- - [ ] Report generated at .golem/SECURITY_REPORT.md
195
- - [ ] Clear verdict provided
196
- </success_criteria>
197
-
198
- <important>
199
- - This is READ-ONLY - do not fix issues, just report them
200
- - Any secrets found are CRITICAL - must be rotated immediately
201
- - High/Critical dependency vulns should block merge
202
- - Missing tools should trigger a warning, not a failure
203
- - Container scan only runs if image exists or Dockerfile present
204
- </important>
@@ -1,94 +0,0 @@
1
- ---
2
- name: golem:simplify
3
- description: Run code simplifier on specified files or recent changes
4
- allowed-tools: [Read, Write, Edit, Glob, Grep, Bash]
5
- ---
6
-
7
- <objective>
8
- Simplify code by removing AI artifacts, reducing complexity, and improving clarity while preserving ALL behavior.
9
- </objective>
10
-
11
- <execution_context>
12
- @~/.golem/agents/code-simplifier.md
13
- </execution_context>
14
-
15
- <context>
16
- Get files to simplify (staged, modified, or specified):
17
- ```bash
18
- # Staged files
19
- git diff --cached --name-only 2>/dev/null | head -20
20
-
21
- # Modified files
22
- git diff --name-only 2>/dev/null | head -20
23
- ```
24
-
25
- Test command:
26
- ```bash
27
- grep -A1 "### Testing" .golem/AGENTS.md 2>/dev/null | tail -1
28
- ```
29
- </context>
30
-
31
- <process>
32
-
33
- ## 1. Identify Target Files
34
-
35
- If user specified files, use those.
36
- Otherwise, check for staged/modified files.
37
- Skip:
38
- - Test files (`*.test.ts`, `*.spec.ts`)
39
- - Type definitions (`*.d.ts`)
40
- - Config files (`*.config.*`)
41
- - Generated files
42
-
43
- ## 2. Simplify Each File
44
-
45
- For each source file:
46
-
47
- ### Priority 1: Remove AI Artifacts
48
- - Unnecessary comments explaining obvious code
49
- - Defensive checks that can never trigger
50
- - Type casts to `any` without need
51
- - Commented-out code blocks
52
- - TODO comments for completed work
53
-
54
- ### Priority 2: Reduce Complexity
55
- - Flatten nested conditionals (use early returns)
56
- - Replace nested ternaries with if/else
57
- - Extract complex boolean expressions to named variables
58
- - Consolidate duplicate code paths
59
-
60
- ### Priority 3: Improve Clarity
61
- - Rename unclear variables (single letters, abbreviations)
62
- - Rename functions to describe what they do
63
- - Remove dead/unreachable code
64
- - Simplify over-engineered abstractions
65
-
66
- ### Priority 4: Structural
67
- - Extract large functions into focused helpers
68
- - Inline trivial one-use functions
69
- - Simplify data structures
70
-
71
- ## 3. Validate
72
-
73
- Run tests to confirm no regressions:
74
- ```bash
75
- {test_command from .golem/AGENTS.md}
76
- ```
77
-
78
- If tests fail: revert simplifications that caused failures.
79
-
80
- ## 4. Report
81
-
82
- Summarize what was simplified:
83
- - Files modified
84
- - Changes made
85
- - Tests still passing
86
-
87
- </process>
88
-
89
- <important>
90
- - NEVER change behavior - only improve clarity
91
- - Run tests after EVERY file simplification
92
- - If unsure whether a change affects behavior, don't make it
93
- - This is cosmetic surgery, not functional changes
94
- </important>
@@ -1,226 +0,0 @@
1
- ---
2
- name: golem:spec
3
- description: Build project specs through guided conversation
4
- allowed-tools: [Read, Write, Glob, Grep, Bash, AskUserQuestion, Task]
5
- ---
6
-
7
- <objective>
8
- Spawn an agent team to explore requirements from multiple angles, challenge assumptions, and generate robust specs. The team synthesizes findings into spec files that form the foundation for planning and building.
9
- </objective>
10
-
11
- <execution_context>
12
- @~/.golem/agents/spec-builder.md
13
- </execution_context>
14
-
15
- <context>
16
- Current ticket (if any):
17
- ```bash
18
- TICKET_ID=$(basename "$(pwd)" | grep -oE '(INC|SR)-[0-9]+' || echo "")
19
- if [ -n "$TICKET_ID" ]; then
20
- cat .golem/tickets/$TICKET_ID.yaml 2>/dev/null || echo "No ticket state found"
21
- else
22
- echo "Not in a ticket worktree"
23
- fi
24
- ```
25
-
26
- Current specs:
27
- ```bash
28
- ls -la .golem/specs/ 2>/dev/null || echo "No specs directory yet"
29
- ```
30
-
31
- Project structure:
32
- ```bash
33
- if [ -f package.json ]; then echo "Node/TypeScript project"; head -30 package.json; fi
34
- if [ -f pyproject.toml ]; then echo "Python project"; head -30 pyproject.toml; fi
35
- if [ -f Cargo.toml ]; then echo "Rust project"; head -30 Cargo.toml; fi
36
- ```
37
- </context>
38
-
39
- <process>
40
-
41
- ## Phase 1: Gather Initial Context
42
-
43
- Before spawning the team, gather baseline information:
44
-
45
- 1. If in a ticket worktree: read the ticket description
46
- 2. If NOT in a ticket worktree: ask what we're building
47
- 3. Get a rough sense of scope and purpose
48
-
49
- ## Phase 2: Spawn Spec Team
50
-
51
- Create an agent team with three specialized teammates:
52
-
53
- ```
54
- Create an agent team to explore requirements for this feature/fix.
55
- Spawn three teammates:
56
-
57
- 1. **UX Advocate** - Focuses on user experience and usability:
58
- - Who are the users?
59
- - What's their workflow?
60
- - What's the simplest interface that solves the problem?
61
- - Where will users get confused or frustrated?
62
-
63
- 2. **Architect** - Focuses on technical design:
64
- - What's the system architecture?
65
- - How does this fit into existing code?
66
- - What are the technical constraints?
67
- - What are the integration points?
68
-
69
- 3. **Devil's Advocate** - Actively challenges assumptions:
70
- - "Do we actually need this?"
71
- - "What's the simplest thing that could work?"
72
- - "What happens when X fails?"
73
- - "Why not use existing solution Y?"
74
-
75
- Rules for Devil's Advocate:
76
- - Must articulate WHY something is problematic
77
- - Must propose a concrete alternative
78
- - Must back down when concern is adequately addressed
79
- - Goal is better thinking, not blocking progress
80
-
81
- Have them explore the problem space simultaneously, share findings,
82
- and challenge each other's assumptions. The debate should surface
83
- requirements we'd otherwise miss.
84
- ```
85
-
86
- ## Phase 3: Team Exploration
87
-
88
- Let the team explore these questions:
89
-
90
- ### UX Advocate investigates:
91
- - What's the actual problem users face?
92
- - What's the minimum viable solution?
93
- - What edge cases will users encounter?
94
- - What error states need handling?
95
-
96
- ### Architect investigates:
97
- - What existing code/patterns can we reuse?
98
- - What new components are needed?
99
- - What are the dependencies?
100
- - What technical constraints exist?
101
-
102
- ### Devil's Advocate challenges:
103
- - Is this feature actually necessary?
104
- - Are we overengineering?
105
- - What's the cost of NOT doing this?
106
- - What simpler alternatives exist?
107
-
108
- ## Phase 4: Synthesize Findings
109
-
110
- After team exploration, synthesize into topics:
111
-
112
- 1. Review findings from all three perspectives
113
- 2. Identify 1-5 distinct topics of concern
114
- 3. Each topic should pass the "no AND test"
115
- 4. Resolve any conflicts between teammates
116
-
117
- ## Phase 5: Generate Spec Files
118
-
119
- For each topic, write to `.golem/specs/{topic-name}.md`:
120
-
121
- ```markdown
122
- # {Topic Name}
123
-
124
- Ticket: {INC-XXXX} (if applicable)
125
-
126
- ## Purpose
127
- {One paragraph explaining what this covers and why}
128
-
129
- ## Requirements
130
-
131
- ### Must Have
132
- - {Requirement 1}
133
- - {Requirement 2}
134
-
135
- ### Should Have
136
- - {Optional requirement}
137
-
138
- ### Must Not
139
- - {Anti-requirement / constraint}
140
-
141
- ## Acceptance Criteria
142
- - [ ] {Testable criterion 1}
143
- - [ ] {Testable criterion 2}
144
-
145
- ## Tests
146
- - {Test description} → expects {outcome}
147
-
148
- ## Technical Notes
149
- {Implementation hints, constraints, decisions}
150
-
151
- ## Considered Alternatives
152
- {What the Devil's Advocate proposed and why we did/didn't take it}
153
- ```
154
-
155
- ## Phase 6: Operational Setup
156
-
157
- After specs are written:
158
-
159
- 1. Create `.golem/specs/` directory if needed
160
- 2. Write each spec file
161
- 3. Detect or ask for test/build/lint commands
162
- 4. Write `.golem/AGENTS.md`:
163
-
164
- ```markdown
165
- # Operational Guide
166
-
167
- Ticket: {INC-XXXX}
168
- Branch: {branch-name}
169
-
170
- ## Commands
171
-
172
- ### Testing
173
- \`\`\`bash
174
- {test command}
175
- \`\`\`
176
-
177
- ### Type Checking
178
- \`\`\`bash
179
- {typecheck command}
180
- \`\`\`
181
-
182
- ### Linting
183
- \`\`\`bash
184
- {lint command}
185
- \`\`\`
186
-
187
- ## Learnings
188
- <!-- Updated during build iterations -->
189
- ```
190
-
191
- ## Phase 7: Cleanup & Completion
192
-
193
- 1. Clean up the agent team
194
- 2. Update ticket status:
195
- ```bash
196
- golem-api ticket:status $TICKET_ID spec --note "Specs complete"
197
- ```
198
- 3. Summarize what was created
199
- 4. Show next steps:
200
- ```
201
- Specs complete! Next steps:
202
- 1. Review .golem/specs/ and adjust if needed
203
- 2. Run /golem:plan to create implementation plan
204
- 3. Run /golem:build to start building
205
- ```
206
-
207
- </process>
208
-
209
- <success_criteria>
210
- - [ ] Agent team explored requirements from 3 perspectives
211
- - [ ] Devil's advocate challenged assumptions
212
- - [ ] Conflicts resolved through discussion
213
- - [ ] Each topic has a separate spec file
214
- - [ ] Tests defined in each spec
215
- - [ ] Alternatives considered and documented
216
- - [ ] AGENTS.md exists with operational commands
217
- - [ ] Team cleaned up
218
- - [ ] Ticket status synced
219
- </success_criteria>
220
-
221
- <important>
222
- - The Devil's Advocate must be ACTIVE, not passive criticism
223
- - All three perspectives should contribute to final specs
224
- - Document "Considered Alternatives" so we remember why we chose this path
225
- - Clean up the team when done
226
- </important>
@@ -1,60 +0,0 @@
1
- ---
2
- name: golem:status
3
- description: Show current project status
4
- allowed-tools: [Read, Bash, Glob]
5
- ---
6
-
7
- <objective>
8
- Display current ticket status, spec progress, and implementation plan state.
9
- </objective>
10
-
11
- <context>
12
- Ticket info:
13
- ```bash
14
- TICKET_ID=$(basename "$(pwd)" | grep -oE '(INC|SR)-[0-9]+' || echo "")
15
- if [ -n "$TICKET_ID" ]; then
16
- echo "=== Ticket: $TICKET_ID ==="
17
- cat .golem/tickets/$TICKET_ID.yaml 2>/dev/null || echo "No local state"
18
- else
19
- echo "Not in a ticket worktree"
20
- echo ""
21
- echo "=== All Tickets ==="
22
- golem-api ticket:list 2>/dev/null || echo "No tickets"
23
- fi
24
- ```
25
-
26
- Specs:
27
- ```bash
28
- echo "=== Specs ==="
29
- ls .golem/specs/*.md 2>/dev/null || echo "No specs yet"
30
- ```
31
-
32
- Plan progress:
33
- ```bash
34
- echo "=== Implementation Plan ==="
35
- if [ -f .golem/IMPLEMENTATION_PLAN.md ]; then
36
- TOTAL=$(grep -c '^\- \[' .golem/IMPLEMENTATION_PLAN.md 2>/dev/null || echo 0)
37
- DONE=$(grep -c '^\- \[x\]' .golem/IMPLEMENTATION_PLAN.md 2>/dev/null || echo 0)
38
- echo "Tasks: $DONE / $TOTAL complete"
39
- echo ""
40
- echo "Current stage:"
41
- grep -A5 '^## Stage' .golem/IMPLEMENTATION_PLAN.md | grep -E '(^## Stage|^\- \[)' | head -10
42
- else
43
- echo "No plan yet - run /golem:plan"
44
- fi
45
- ```
46
-
47
- Git status:
48
- ```bash
49
- echo ""
50
- echo "=== Git Status ==="
51
- git branch --show-current 2>/dev/null
52
- git log --oneline -5 2>/dev/null
53
- ```
54
- </context>
55
-
56
- <process>
57
- 1. Display all context information
58
- 2. Summarize current state
59
- 3. Suggest next action if any
60
- </process>
@@ -1,61 +0,0 @@
1
- /**
2
- * Freshservice API client
3
- *
4
- * API Docs: https://api.freshservice.com/
5
- */
6
- import type { FreshTicket, FreshTicketCreatePayload } from '../types.js';
7
- export interface FreshworksConfig {
8
- domain: string;
9
- apiKey: string;
10
- }
11
- export declare class FreshworksClient {
12
- private baseUrl;
13
- private headers;
14
- constructor(config: FreshworksConfig);
15
- private request;
16
- /**
17
- * Get a ticket by ID
18
- */
19
- getTicket(id: number): Promise<FreshTicket>;
20
- /**
21
- * Get tickets assigned to current user
22
- */
23
- getMyTickets(): Promise<FreshTicket[]>;
24
- /**
25
- * Create a new ticket
26
- */
27
- createTicket(payload: FreshTicketCreatePayload): Promise<FreshTicket>;
28
- /**
29
- * Update a ticket
30
- */
31
- updateTicket(id: number, updates: Partial<FreshTicketCreatePayload>): Promise<FreshTicket>;
32
- /**
33
- * Get current agent info
34
- */
35
- getCurrentAgent(): Promise<{
36
- id: number;
37
- email: string;
38
- }>;
39
- /**
40
- * Add a note to a ticket
41
- */
42
- addNote(ticketId: number, body: string, isPrivate?: boolean): Promise<void>;
43
- /**
44
- * Close/resolve a ticket
45
- * Note: Freshservice requires responder_id and resolution_notes when closing
46
- */
47
- closeTicket(id: number, resolution?: string): Promise<FreshTicket>;
48
- /**
49
- * Format ticket ID for display (e.g., "INC-1234")
50
- */
51
- static formatTicketId(id: number, type?: 'Incident' | 'Service Request'): string;
52
- /**
53
- * Parse ticket ID from string (e.g., "INC-1234" -> 1234)
54
- */
55
- static parseTicketId(idString: string): number;
56
- }
57
- /**
58
- * Create client from environment variables
59
- */
60
- export declare function createFreshworksClient(): FreshworksClient;
61
- //# sourceMappingURL=freshworks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"freshworks.d.ts","sourceRoot":"","sources":["../../src/api/freshworks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAU;gBAEb,MAAM,EAAE,gBAAgB;YAUtB,OAAO;IAmBrB;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAKjD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAS5C;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS3E;;OAEG;IACG,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,wBAAwB,CAAC,GACzC,OAAO,CAAC,WAAW,CAAC;IASvB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAK/D;;OAEG;IACG,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,UAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAOhB;;;OAGG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAexE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,UAAU,GAAG,iBAA8B,GAAG,MAAM;IAK5F;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAO/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,gBAAgB,CASzD"}