@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,364 @@
1
+ # Command: sync
2
+
3
+ > **🤖 Agent Directive**: If you are reading this file, the command `@acp.sync` has been invoked. Follow the steps below to execute this command.
4
+
5
+ **Namespace**: acp
6
+ **Version**: 1.1.0
7
+ **Created**: 2026-02-16
8
+ **Last Updated**: 2026-02-18
9
+ **Status**: Active
10
+ **Scripts**: None
11
+
12
+ ---
13
+
14
+ **Purpose**: Synchronize documentation with source code by identifying and updating stale documentation
15
+ **Category**: Documentation
16
+ **Frequency**: As Needed
17
+
18
+ ---
19
+
20
+ ## What This Command Does
21
+
22
+ This command synchronizes ACP documentation with the actual source code implementation. It reads source files, compares them with design documents and patterns, identifies documentation drift, and updates stale documentation to match reality.
23
+
24
+ Use this command after making significant code changes, when you suspect documentation is outdated, or periodically to ensure documentation stays current. It's particularly useful after implementing features, refactoring code, or completing milestones.
25
+
26
+ Unlike `@acp.update` which updates progress tracking, `@acp.sync` focuses on keeping design documents, patterns, and technical documentation aligned with the actual codebase.
27
+
28
+ ---
29
+
30
+ ## Prerequisites
31
+
32
+ - [ ] ACP installed in project
33
+ - [ ] Source code exists to compare against
34
+ - [ ] Documentation exists in `agent/` directory (design, tasks, patterns)
35
+ - [ ] Scripts exist in `agent/scripts/` (if applicable)
36
+ - [ ] You have understanding of what changed in code
37
+
38
+ ---
39
+
40
+ ## Steps
41
+
42
+ ### 1. Read Design Documents
43
+
44
+ Load all design documents to understand documented architecture.
45
+
46
+ **Actions**:
47
+ - Read all files in `agent/design/`
48
+ - Note documented features, patterns, and architecture
49
+ - Understand documented API contracts
50
+ - Identify documented dependencies
51
+ - List documented file structures
52
+
53
+ **Expected Outcome**: Documented architecture understood
54
+
55
+ ### 2. Read Task Documents
56
+
57
+ Review task documents to understand documented implementation approach.
58
+
59
+ **Actions**:
60
+ - Read all files in `agent/tasks/`
61
+ - Note documented implementation steps
62
+ - Identify documented tools and dependencies
63
+ - Check for code examples in task steps
64
+ - List documented functions and approaches
65
+
66
+ **Expected Outcome**: Documented implementation approach understood
67
+
68
+ ### 3. Read Source Code
69
+
70
+ Review actual implementation in source files.
71
+
72
+ **Actions**:
73
+ - Identify main source directories (src/, lib/, cmd/, etc.)
74
+ - Read key implementation files
75
+ - Note actual features implemented
76
+ - Understand actual architecture
77
+ - Identify actual dependencies and tools used
78
+ - Document actual file structures
79
+ - Check which functions/utilities are actually implemented
80
+ - **Compare implementation approach with task document examples**
81
+
82
+ **Expected Outcome**: Actual implementation understood
83
+
84
+ ### 4. Compare Documentation vs Reality
85
+
86
+ Identify discrepancies between docs and code.
87
+
88
+ **Actions**:
89
+ - Compare documented features with implemented features
90
+ - **Compare documented tools (e.g., yq) with actual tools (e.g., acp.yaml-parser.sh)**
91
+ - **Compare documented functions with actual implementations**
92
+ - **Check if task code examples match actual code in scripts**
93
+ - Check if documented patterns match actual patterns
94
+ - Verify API contracts match implementation
95
+ - Compare file structures
96
+ - Note undocumented features in code
97
+ - Identify documented features not yet implemented
98
+ - **Flag task documents with outdated code examples**
99
+
100
+ **Expected Outcome**: Documentation drift identified (including implementation details)
101
+
102
+ ### 5. Identify Stale Documentation
103
+
104
+ Determine which documents need updates.
105
+
106
+ **Actions**:
107
+ - List design docs that are outdated
108
+ - **List task docs with outdated code examples or tool references**
109
+ - Note patterns that don't match code
110
+ - Identify missing documentation for new features
111
+ - Flag incorrect technical specifications
112
+ - **Flag task documents referencing wrong tools (e.g., yq vs acp.yaml-parser.sh)**
113
+ - Prioritize updates by importance
114
+
115
+ **Expected Outcome**: Update priorities established
116
+
117
+ ### 6. Update Design Documents
118
+
119
+ Refresh design documents to match reality.
120
+
121
+ **Actions**:
122
+ - Update feature descriptions
123
+ - Correct technical specifications
124
+ - Update code examples to match actual code
125
+ - Add notes about implementation differences
126
+ - Update status fields (Proposal → Implemented)
127
+ - Add "Last Updated" dates
128
+
129
+ **Expected Outcome**: Design docs reflect reality
130
+
131
+ ### 7. Update Task Documents
132
+
133
+ Refresh task documents to match actual implementation.
134
+
135
+ **Actions**:
136
+ - **Update code examples in task steps to match actual code**
137
+ - **Replace references to external tools with actual tools used**
138
+ - **Update function names to match actual implementations**
139
+ - **Add notes about completed vs remaining work**
140
+ - **Update Common Issues sections**
141
+ - Mark completed steps as done
142
+
143
+ **Expected Outcome**: Task docs reflect actual implementation approach
144
+
145
+ ### 8. Update Pattern Documents
146
+
147
+ Refresh patterns to match actual usage.
148
+
149
+ **Actions**:
150
+ - Update pattern examples with real code
151
+ - Correct pattern descriptions
152
+ - Add new patterns discovered in code
153
+ - Update anti-patterns based on lessons learned
154
+ - Ensure code examples compile/work
155
+
156
+ **Expected Outcome**: Patterns match actual usage
157
+
158
+ ### 9. Document New Features
159
+
160
+ Add documentation for undocumented features.
161
+
162
+ **Actions**:
163
+ - Create design docs for undocumented features
164
+ - Document new patterns found in code
165
+ - Add technical specifications
166
+ - Include code examples
167
+ - Link related documents
168
+
169
+ **Expected Outcome**: All features documented
170
+
171
+ ### 10. Update Progress Tracking
172
+
173
+ Update progress.yaml to reflect sync activity.
174
+
175
+ **Actions**:
176
+ - Add recent work entry for sync
177
+ - Note what was updated
178
+ - Update documentation counts if needed
179
+ - Add notes about documentation status
180
+
181
+ **Expected Outcome**: Sync activity tracked
182
+
183
+ ---
184
+
185
+ ## Verification
186
+
187
+ - [ ] All design documents reviewed
188
+ - [ ] **All task documents reviewed for code examples**
189
+ - [ ] Source code reviewed and compared
190
+ - [ ] **Scripts reviewed for actual tool usage (acp.yaml-parser.sh vs yq, etc.)**
191
+ - [ ] Documentation drift identified
192
+ - [ ] **Task document code examples checked against actual scripts**
193
+ - [ ] Stale documents updated
194
+ - [ ] **Task documents updated to match actual implementation**
195
+ - [ ] New features documented
196
+ - [ ] Pattern documents current
197
+ - [ ] Code examples work correctly
198
+ - [ ] progress.yaml updated with sync notes
199
+
200
+ ---
201
+
202
+ ## Expected Output
203
+
204
+ ### Files Modified
205
+ - `agent/design/*.md` - Updated design documents
206
+ - `agent/patterns/*.md` - Updated pattern documents
207
+ - `agent/progress.yaml` - Sync activity logged
208
+ - Potentially new design/pattern documents created
209
+
210
+ ### Console Output
211
+ ```
212
+ 🔄 Synchronizing Documentation with Code
213
+
214
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
215
+
216
+ Reading design documents...
217
+ ✓ Read 5 design documents
218
+ ✓ Read 3 pattern documents
219
+
220
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
221
+
222
+ Reviewing source code...
223
+ ✓ Reviewed src/services/
224
+ ✓ Reviewed src/models/
225
+ ✓ Reviewed src/utils/
226
+
227
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
228
+
229
+ Comparing documentation vs reality...
230
+ ⚠️ Found 3 discrepancies:
231
+ 1. auth-design.md: Documented OAuth, implemented API keys
232
+ 2. data-pattern.md: Example code outdated
233
+ 3. api-design.md: Missing /health endpoint documentation
234
+
235
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
236
+
237
+ Updating documentation...
238
+ ✓ Updated auth-design.md (OAuth → API keys)
239
+ ✓ Updated data-pattern.md (refreshed examples)
240
+ ✓ Updated api-design.md (added /health endpoint)
241
+
242
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
243
+
244
+ ✅ Sync Complete!
245
+
246
+ Summary:
247
+ - Documents reviewed: 8
248
+ - Discrepancies found: 3
249
+ - Documents updated: 3
250
+ - New documents created: 0
251
+ - Documentation is now current
252
+ ```
253
+
254
+ ### Status Update
255
+ - Design documents synchronized
256
+ - Patterns updated
257
+ - New features documented
258
+ - Sync logged in progress.yaml
259
+
260
+ ---
261
+
262
+ ## Examples
263
+
264
+ ### Example 1: After Major Refactoring
265
+
266
+ **Context**: Refactored authentication system, docs are outdated
267
+
268
+ **Invocation**: `@acp.sync`
269
+
270
+ **Result**: Identifies auth-design.md is stale, updates it to reflect new implementation, updates related patterns
271
+
272
+ ### Example 2: After Adding Features
273
+
274
+ **Context**: Added 3 new API endpoints, not yet documented
275
+
276
+ **Invocation**: `@acp.sync`
277
+
278
+ **Result**: Identifies undocumented endpoints, updates api-design.md with new endpoints, adds code examples
279
+
280
+ ### Example 3: Periodic Maintenance
281
+
282
+ **Context**: Monthly documentation review
283
+
284
+ **Invocation**: `@acp.sync`
285
+
286
+ **Result**: Reviews all docs, finds minor drift in 2 files, updates them, confirms rest is current
287
+
288
+ ---
289
+
290
+ ## Related Commands
291
+
292
+ - [`@acp.update`](acp.update.md) - Update progress tracking (not documentation)
293
+ - [`@acp.validate`](acp.validate.md) - Validate documentation structure and consistency
294
+ - [`@acp.init`](acp.init.md) - Includes sync as part of initialization
295
+ - [`@acp.report`](acp.report.md) - Generate report including documentation status
296
+
297
+ ---
298
+
299
+ ## Troubleshooting
300
+
301
+ ### Issue 1: Can't determine what changed
302
+
303
+ **Symptom**: Unclear what documentation needs updating
304
+
305
+ **Cause**: Too many changes or unclear code
306
+
307
+ **Solution**: Review git commits since last sync, focus on major changes first, update incrementally
308
+
309
+ ### Issue 2: Documentation and code both seem wrong
310
+
311
+ **Symptom**: Neither docs nor code match expected behavior
312
+
313
+ **Cause**: Requirements changed or misunderstood
314
+
315
+ **Solution**: Clarify requirements first, then update both code and docs to match correct requirements
316
+
317
+ ### Issue 3: Too many discrepancies to fix
318
+
319
+ **Symptom**: Overwhelming number of outdated docs
320
+
321
+ **Cause**: Long time since last sync
322
+
323
+ **Solution**: Prioritize by importance, fix critical docs first, schedule time for rest, sync more frequently going forward
324
+
325
+ ---
326
+
327
+ ## Security Considerations
328
+
329
+ ### File Access
330
+ - **Reads**: All files in `agent/design/`, `agent/patterns/`, source code directories
331
+ - **Writes**: `agent/design/*.md`, `agent/patterns/*.md`, `agent/progress.yaml`
332
+ - **Executes**: None
333
+
334
+ ### Network Access
335
+ - **APIs**: None
336
+ - **Repositories**: None
337
+
338
+ ### Sensitive Data
339
+ - **Secrets**: Does not access secrets or credentials
340
+ - **Credentials**: Does not access credentials files
341
+
342
+ ---
343
+
344
+ ## Notes
345
+
346
+ - This command can be time-consuming for large projects
347
+ - Focus on high-priority documentation first
348
+ - Sync regularly to avoid large drift
349
+ - Use git diff to see what changed in code
350
+ - Document the "why" not just the "what"
351
+ - Keep code examples working and tested
352
+ - Update "Last Updated" dates in documents
353
+ - Consider running after each milestone completion
354
+
355
+ ---
356
+
357
+ **Namespace**: acp
358
+ **Command**: sync
359
+ **Version**: 1.1.0
360
+ **Created**: 2026-02-16
361
+ **Last Updated**: 2026-02-18
362
+ **Status**: Active
363
+ **Compatibility**: ACP 1.1.0+
364
+ **Author**: ACP Project