@prmichaelsen/reddit-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.claude/settings.local.json +23 -0
  2. package/.env.example +13 -0
  3. package/AGENT.md +1772 -0
  4. package/README.md +54 -0
  5. package/agent/commands/acp.clarification-capture.md +386 -0
  6. package/agent/commands/acp.clarification-create.md +432 -0
  7. package/agent/commands/acp.clarifications-research.md +326 -0
  8. package/agent/commands/acp.command-create.md +432 -0
  9. package/agent/commands/acp.design-create.md +286 -0
  10. package/agent/commands/acp.design-reference.md +355 -0
  11. package/agent/commands/acp.index.md +423 -0
  12. package/agent/commands/acp.init.md +546 -0
  13. package/agent/commands/acp.package-create.md +895 -0
  14. package/agent/commands/acp.package-info.md +212 -0
  15. package/agent/commands/acp.package-install.md +539 -0
  16. package/agent/commands/acp.package-list.md +280 -0
  17. package/agent/commands/acp.package-publish.md +541 -0
  18. package/agent/commands/acp.package-remove.md +293 -0
  19. package/agent/commands/acp.package-search.md +307 -0
  20. package/agent/commands/acp.package-update.md +361 -0
  21. package/agent/commands/acp.package-validate.md +540 -0
  22. package/agent/commands/acp.pattern-create.md +386 -0
  23. package/agent/commands/acp.plan.md +577 -0
  24. package/agent/commands/acp.proceed.md +882 -0
  25. package/agent/commands/acp.project-create.md +675 -0
  26. package/agent/commands/acp.project-info.md +312 -0
  27. package/agent/commands/acp.project-list.md +226 -0
  28. package/agent/commands/acp.project-remove.md +379 -0
  29. package/agent/commands/acp.project-set.md +227 -0
  30. package/agent/commands/acp.project-update.md +307 -0
  31. package/agent/commands/acp.projects-restore.md +228 -0
  32. package/agent/commands/acp.projects-sync.md +347 -0
  33. package/agent/commands/acp.report.md +407 -0
  34. package/agent/commands/acp.resume.md +239 -0
  35. package/agent/commands/acp.sessions.md +301 -0
  36. package/agent/commands/acp.status.md +293 -0
  37. package/agent/commands/acp.sync.md +364 -0
  38. package/agent/commands/acp.task-create.md +500 -0
  39. package/agent/commands/acp.update.md +302 -0
  40. package/agent/commands/acp.validate.md +466 -0
  41. package/agent/commands/acp.version-check-for-updates.md +276 -0
  42. package/agent/commands/acp.version-check.md +191 -0
  43. package/agent/commands/acp.version-update.md +289 -0
  44. package/agent/commands/command.template.md +339 -0
  45. package/agent/commands/git.commit.md +526 -0
  46. package/agent/commands/git.init.md +514 -0
  47. package/agent/design/.gitkeep +0 -0
  48. package/agent/design/design.template.md +154 -0
  49. package/agent/design/requirements.md +332 -0
  50. package/agent/design/requirements.template.md +387 -0
  51. package/agent/index/.gitkeep +0 -0
  52. package/agent/index/local.main.template.yaml +37 -0
  53. package/agent/manifest.template.yaml +13 -0
  54. package/agent/manifest.yaml +61 -0
  55. package/agent/milestones/.gitkeep +0 -0
  56. package/agent/milestones/milestone-1-foundation-listings-mvp.md +140 -0
  57. package/agent/milestones/milestone-1-{title}.template.md +206 -0
  58. package/agent/milestones/milestone-2-content-interaction.md +56 -0
  59. package/agent/milestones/milestone-3-users-and-messaging.md +54 -0
  60. package/agent/milestones/milestone-4-subreddits-and-flair.md +56 -0
  61. package/agent/milestones/milestone-5-moderation.md +53 -0
  62. package/agent/milestones/milestone-6-advanced-features-and-polish.md +56 -0
  63. package/agent/package.template.yaml +86 -0
  64. package/agent/patterns/.gitkeep +0 -0
  65. package/agent/patterns/bootstrap.template.md +1237 -0
  66. package/agent/patterns/pattern.template.md +382 -0
  67. package/agent/progress.template.yaml +161 -0
  68. package/agent/progress.yaml +223 -0
  69. package/agent/schemas/package.schema.yaml +276 -0
  70. package/agent/scripts/acp.common.sh +1781 -0
  71. package/agent/scripts/acp.yaml-parser.sh +985 -0
  72. package/agent/tasks/.gitkeep +0 -0
  73. package/agent/tasks/milestone-1-foundation-listings-mvp/task-1-project-scaffolding.md +75 -0
  74. package/agent/tasks/milestone-1-foundation-listings-mvp/task-2-reddit-oauth.md +71 -0
  75. package/agent/tasks/milestone-1-foundation-listings-mvp/task-3-reddit-api-client.md +71 -0
  76. package/agent/tasks/milestone-1-foundation-listings-mvp/task-4-listing-tools.md +65 -0
  77. package/agent/tasks/milestone-1-foundation-listings-mvp/task-5-search-tools.md +43 -0
  78. package/agent/tasks/milestone-1-foundation-listings-mvp/task-6-testing-verification.md +49 -0
  79. package/agent/tasks/milestone-2-content-interaction/task-7-post-tools.md +56 -0
  80. package/agent/tasks/milestone-2-content-interaction/task-8-comment-tools.md +49 -0
  81. package/agent/tasks/milestone-2-content-interaction/task-9-vote-save-report-tools.md +50 -0
  82. package/agent/tasks/milestone-3-users-and-messaging/task-10-account-tools.md +44 -0
  83. package/agent/tasks/milestone-3-users-and-messaging/task-11-user-profile-tools.md +50 -0
  84. package/agent/tasks/milestone-3-users-and-messaging/task-12-private-message-tools.md +50 -0
  85. package/agent/tasks/milestone-4-subreddits-and-flair/task-13-subreddit-tools.md +47 -0
  86. package/agent/tasks/milestone-4-subreddits-and-flair/task-14-flair-tools.md +46 -0
  87. package/agent/tasks/milestone-4-subreddits-and-flair/task-15-http-transport.md +53 -0
  88. package/agent/tasks/milestone-5-moderation/task-16-mod-action-tools.md +48 -0
  89. package/agent/tasks/milestone-5-moderation/task-17-mod-listing-tools.md +47 -0
  90. package/agent/tasks/milestone-5-moderation/task-18-mod-management-tools.md +42 -0
  91. package/agent/tasks/milestone-6-advanced-features-and-polish/task-19-multireddit-tools.md +49 -0
  92. package/agent/tasks/milestone-6-advanced-features-and-polish/task-20-wiki-tools.md +47 -0
  93. package/agent/tasks/milestone-6-advanced-features-and-polish/task-21-documentation-polish.md +65 -0
  94. package/agent/tasks/task-1-{title}.template.md +244 -0
  95. package/dist/auth/oauth.d.ts +15 -0
  96. package/dist/auth/oauth.d.ts.map +1 -0
  97. package/dist/client/reddit.d.ts +28 -0
  98. package/dist/client/reddit.d.ts.map +1 -0
  99. package/dist/factory.d.ts +2 -0
  100. package/dist/factory.d.ts.map +1 -0
  101. package/dist/factory.js +30394 -0
  102. package/dist/factory.js.map +7 -0
  103. package/dist/index.d.ts +2 -0
  104. package/dist/index.d.ts.map +1 -0
  105. package/dist/index.js +31955 -0
  106. package/dist/index.js.map +7 -0
  107. package/dist/server.d.ts +5 -0
  108. package/dist/server.d.ts.map +1 -0
  109. package/dist/server.js +30401 -0
  110. package/dist/server.js.map +7 -0
  111. package/dist/tools/listings.d.ts +4 -0
  112. package/dist/tools/listings.d.ts.map +1 -0
  113. package/dist/tools/search.d.ts +4 -0
  114. package/dist/tools/search.d.ts.map +1 -0
  115. package/dist/transport/http.d.ts +7 -0
  116. package/dist/transport/http.d.ts.map +1 -0
  117. package/dist/types/index.d.ts +78 -0
  118. package/dist/types/index.d.ts.map +1 -0
  119. package/esbuild.build.js +21 -0
  120. package/jest.config.js +18 -0
  121. package/package.json +46 -0
  122. package/src/auth/oauth.ts +200 -0
  123. package/src/client/reddit.ts +245 -0
  124. package/src/factory.ts +5 -0
  125. package/src/index.ts +31 -0
  126. package/src/server.ts +36 -0
  127. package/src/tools/listings.ts +202 -0
  128. package/src/tools/search.ts +85 -0
  129. package/src/transport/http.ts +49 -0
  130. package/src/types/index.ts +83 -0
  131. package/tests/fixtures/reddit-responses.ts +132 -0
  132. package/tests/helpers/mock-client.ts +36 -0
  133. package/tests/unit/auth.test.ts +89 -0
  134. package/tests/unit/client.test.ts +218 -0
  135. package/tests/unit/listings.test.ts +113 -0
  136. package/tests/unit/search.test.ts +59 -0
  137. package/tests/unit/server.test.ts +14 -0
  138. package/tsconfig.json +21 -0
@@ -0,0 +1,302 @@
1
+ # Command: update
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.update` has been invoked. Follow the steps below to execute this command.
4
+
5
+ **Namespace**: acp
6
+ **Version**: 1.0.0
7
+ **Created**: 2026-02-16
8
+ **Last Updated**: 2026-02-16
9
+ **Status**: Active
10
+ **Scripts**: None
11
+
12
+ ---
13
+
14
+ **Purpose**: Update progress.yaml with latest project status, task completion, and recent work
15
+ **Category**: Documentation
16
+ **Frequency**: As Needed
17
+
18
+ ---
19
+
20
+ ## What This Command Does
21
+
22
+ This command updates `agent/progress.yaml` with the latest project status. It's used after completing work to ensure progress tracking accurately reflects what's been accomplished. The command updates task statuses, milestone progress percentages, recent work entries, and next steps.
23
+
24
+ Use this command when you've completed tasks, made significant progress, or need to ensure the progress tracking is current. It's particularly useful after finishing a work session or when transitioning between tasks.
25
+
26
+ Unlike `@acp.sync` which updates documentation based on code changes, `@acp.update` focuses specifically on updating the progress tracking file to reflect completed work and current status.
27
+
28
+ ---
29
+
30
+ ## Prerequisites
31
+
32
+ - [ ] ACP installed in project
33
+ - [ ] `agent/progress.yaml` exists
34
+ - [ ] Work has been completed that needs to be tracked
35
+ - [ ] You know which tasks/milestones to update
36
+
37
+ ---
38
+
39
+ ## Steps
40
+
41
+ ### 1. Read Current Progress
42
+
43
+ Read `agent/progress.yaml` to understand current state.
44
+
45
+ **Actions**:
46
+ - Open and parse `agent/progress.yaml`
47
+ - Note current milestone and its progress
48
+ - Identify tasks and their statuses
49
+ - Review recent work entries
50
+ - Check next steps
51
+
52
+ **Expected Outcome**: Current progress state understood
53
+
54
+ ### 2. Identify What Changed
55
+
56
+ Determine what work was completed since last update.
57
+
58
+ **Actions**:
59
+ - Review what tasks were worked on
60
+ - Identify completed tasks
61
+ - Note any milestone completions
62
+ - Determine new blockers or resolved blockers
63
+ - Identify what should be in recent work
64
+
65
+ **Expected Outcome**: Changes to track are identified
66
+
67
+ ### 3. Update Task Statuses
68
+
69
+ Update individual task statuses and completion dates.
70
+
71
+ **Actions**:
72
+ - Mark completed tasks as `completed`
73
+ - Set `completed_date` to today's date (YYYY-MM-DD)
74
+ - Update task notes if needed
75
+ - Change `in_progress` tasks if no longer active
76
+
77
+ **Expected Outcome**: Task statuses reflect reality
78
+
79
+ ### 4. Update Milestone Progress
80
+
81
+ Recalculate and update milestone progress percentages.
82
+
83
+ **Actions**:
84
+ - Count tasks completed vs total tasks
85
+ - Calculate progress percentage
86
+ - Update `progress` field (0-100)
87
+ - Update `tasks_completed` count
88
+ - Set `completed` date if milestone finished
89
+ - Update milestone status if needed
90
+
91
+ **Expected Outcome**: Milestone progress is accurate
92
+
93
+ ### 5. Add Recent Work Entry
94
+
95
+ Add entry to `recent_work` section documenting what was done.
96
+
97
+ **Actions**:
98
+ - Add new entry with today's date
99
+ - Write clear description of work completed
100
+ - List specific items accomplished (use ✅, 📋, ⚠️ emojis)
101
+ - Keep entries concise but informative
102
+ - Maintain chronological order (newest first)
103
+
104
+ **Expected Outcome**: Recent work documented
105
+
106
+ ### 6. Update Next Steps
107
+
108
+ Refresh the `next_steps` list based on current state.
109
+
110
+ **Actions**:
111
+ - Remove completed items
112
+ - Add new next steps based on progress
113
+ - Prioritize by importance/urgency
114
+ - Keep list focused (3-5 items)
115
+ - Be specific and actionable
116
+
117
+ **Expected Outcome**: Next steps are current
118
+
119
+ ### 7. Update Blockers
120
+
121
+ Update the `current_blockers` list.
122
+
123
+ **Actions**:
124
+ - Remove resolved blockers
125
+ - Add new blockers discovered
126
+ - Keep descriptions clear and actionable
127
+ - Empty list if no blockers
128
+
129
+ **Expected Outcome**: Blockers list is accurate
130
+
131
+ ### 8. Save Changes
132
+
133
+ Write updated progress.yaml back to disk.
134
+
135
+ **Actions**:
136
+ - Ensure YAML formatting is correct
137
+ - Preserve structure and indentation
138
+ - Save file
139
+ - Verify file was written successfully
140
+
141
+ **Expected Outcome**: progress.yaml updated on disk
142
+
143
+ ---
144
+
145
+ ## Verification
146
+
147
+ - [ ] progress.yaml file updated successfully
148
+ - [ ] Task statuses reflect completed work
149
+ - [ ] Milestone progress percentages are accurate
150
+ - [ ] Recent work entry added with today's date
151
+ - [ ] Next steps list is current and actionable
152
+ - [ ] Blockers list is accurate
153
+ - [ ] YAML syntax is valid
154
+ - [ ] No data was lost or corrupted
155
+
156
+ ---
157
+
158
+ ## Expected Output
159
+
160
+ ### Files Modified
161
+ - `agent/progress.yaml` - Updated with latest progress
162
+
163
+ ### Console Output
164
+ ```
165
+ 📝 Updating Progress Tracking
166
+
167
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
168
+
169
+ Reading current progress...
170
+ ✓ Current milestone: M2 - Documentation & Utility Commands
171
+ ✓ Progress: 40% (2/5 tasks completed)
172
+
173
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
174
+
175
+ Updating progress...
176
+ ✓ Marked task-5 as completed
177
+ ✓ Updated milestone progress: 40% → 60%
178
+ ✓ Added recent work entry (2026-02-16)
179
+ ✓ Updated next steps
180
+ ✓ No new blockers
181
+
182
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
+
184
+ ✅ Progress Updated!
185
+
186
+ Summary:
187
+ - Tasks completed: 2 → 3
188
+ - Milestone progress: 40% → 60%
189
+ - Recent work: Added entry for today
190
+ - Next: task-6 - Implement Utility Commands
191
+ ```
192
+
193
+ ### Status Update
194
+ - Task statuses updated
195
+ - Milestone progress recalculated
196
+ - Recent work documented
197
+ - Next steps refreshed
198
+
199
+ ---
200
+
201
+ ## Examples
202
+
203
+ ### Example 1: After Completing a Task
204
+
205
+ **Context**: Just finished task-3, need to update progress
206
+
207
+ **Invocation**: `@acp.update`
208
+
209
+ **Result**: Marks task-3 as completed, updates milestone from 40% to 60%, adds recent work entry, identifies task-4 as next
210
+
211
+ ### Example 2: Mid-Task Progress Update
212
+
213
+ **Context**: Made significant progress on task-5 but not complete
214
+
215
+ **Invocation**: `@acp.update`
216
+
217
+ **Result**: Adds recent work entry documenting progress, updates task notes, keeps task status as in_progress
218
+
219
+ ### Example 3: Milestone Completion
220
+
221
+ **Context**: Just finished last task in milestone
222
+
223
+ **Invocation**: `@acp.update`
224
+
225
+ **Result**: Marks task and milestone as completed, sets completion dates, updates to next milestone, celebrates achievement
226
+
227
+ ---
228
+
229
+ ## Related Commands
230
+
231
+ - [`@acp.status`](acp.status.md) - View current status before updating
232
+ - [`@acp.proceed`](acp.proceed.md) - Automatically updates progress after completing tasks
233
+ - [`@acp.sync`](acp.sync.md) - Update documentation based on code changes
234
+ - [`@acp.report`](acp.report.md) - Generate comprehensive progress report
235
+
236
+ ---
237
+
238
+ ## Troubleshooting
239
+
240
+ ### Issue 1: YAML syntax error after update
241
+
242
+ **Symptom**: progress.yaml has syntax errors
243
+
244
+ **Cause**: Incorrect indentation or formatting
245
+
246
+ **Solution**: Validate YAML syntax, fix indentation (use 2 spaces), ensure proper structure
247
+
248
+ ### Issue 2: Progress percentages don't match
249
+
250
+ **Symptom**: Calculated percentage doesn't match tasks completed
251
+
252
+ **Cause**: Math error or incorrect task count
253
+
254
+ **Solution**: Recalculate: (tasks_completed / tasks_total) * 100, round to nearest integer
255
+
256
+ ### Issue 3: Recent work entries out of order
257
+
258
+ **Symptom**: Dates not in chronological order
259
+
260
+ **Cause**: New entry added in wrong position
261
+
262
+ **Solution**: Ensure newest entries are first in the list, maintain reverse chronological order
263
+
264
+ ---
265
+
266
+ ## Security Considerations
267
+
268
+ ### File Access
269
+ - **Reads**: `agent/progress.yaml`
270
+ - **Writes**: `agent/progress.yaml` (updates progress tracking)
271
+ - **Executes**: None
272
+
273
+ ### Network Access
274
+ - **APIs**: None
275
+ - **Repositories**: None
276
+
277
+ ### Sensitive Data
278
+ - **Secrets**: Does not access any secrets or credentials
279
+ - **Credentials**: Does not access any credentials
280
+
281
+ ---
282
+
283
+ ## Notes
284
+
285
+ - This command only updates progress.yaml, not other documentation
286
+ - Use `@acp.sync` to update design docs and other documentation
287
+ - Progress percentages should be integers (0-100)
288
+ - Recent work entries should be concise but informative
289
+ - Keep next steps list focused (3-5 items maximum)
290
+ - Update frequently to maintain accurate tracking
291
+ - Can be run multiple times per day as needed
292
+
293
+ ---
294
+
295
+ **Namespace**: acp
296
+ **Command**: update
297
+ **Version**: 1.0.0
298
+ **Created**: 2026-02-16
299
+ **Last Updated**: 2026-02-16
300
+ **Status**: Active
301
+ **Compatibility**: ACP 1.1.0+
302
+ **Author**: ACP Project