@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.
- package/.claude/settings.local.json +23 -0
- package/.env.example +13 -0
- package/AGENT.md +1772 -0
- package/README.md +54 -0
- package/agent/commands/acp.clarification-capture.md +386 -0
- package/agent/commands/acp.clarification-create.md +432 -0
- package/agent/commands/acp.clarifications-research.md +326 -0
- package/agent/commands/acp.command-create.md +432 -0
- package/agent/commands/acp.design-create.md +286 -0
- package/agent/commands/acp.design-reference.md +355 -0
- package/agent/commands/acp.index.md +423 -0
- package/agent/commands/acp.init.md +546 -0
- package/agent/commands/acp.package-create.md +895 -0
- package/agent/commands/acp.package-info.md +212 -0
- package/agent/commands/acp.package-install.md +539 -0
- package/agent/commands/acp.package-list.md +280 -0
- package/agent/commands/acp.package-publish.md +541 -0
- package/agent/commands/acp.package-remove.md +293 -0
- package/agent/commands/acp.package-search.md +307 -0
- package/agent/commands/acp.package-update.md +361 -0
- package/agent/commands/acp.package-validate.md +540 -0
- package/agent/commands/acp.pattern-create.md +386 -0
- package/agent/commands/acp.plan.md +577 -0
- package/agent/commands/acp.proceed.md +882 -0
- package/agent/commands/acp.project-create.md +675 -0
- package/agent/commands/acp.project-info.md +312 -0
- package/agent/commands/acp.project-list.md +226 -0
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-set.md +227 -0
- package/agent/commands/acp.project-update.md +307 -0
- package/agent/commands/acp.projects-restore.md +228 -0
- package/agent/commands/acp.projects-sync.md +347 -0
- package/agent/commands/acp.report.md +407 -0
- package/agent/commands/acp.resume.md +239 -0
- package/agent/commands/acp.sessions.md +301 -0
- package/agent/commands/acp.status.md +293 -0
- package/agent/commands/acp.sync.md +364 -0
- package/agent/commands/acp.task-create.md +500 -0
- package/agent/commands/acp.update.md +302 -0
- package/agent/commands/acp.validate.md +466 -0
- package/agent/commands/acp.version-check-for-updates.md +276 -0
- package/agent/commands/acp.version-check.md +191 -0
- package/agent/commands/acp.version-update.md +289 -0
- package/agent/commands/command.template.md +339 -0
- package/agent/commands/git.commit.md +526 -0
- package/agent/commands/git.init.md +514 -0
- package/agent/design/.gitkeep +0 -0
- package/agent/design/design.template.md +154 -0
- package/agent/design/requirements.md +332 -0
- package/agent/design/requirements.template.md +387 -0
- package/agent/index/.gitkeep +0 -0
- package/agent/index/local.main.template.yaml +37 -0
- package/agent/manifest.template.yaml +13 -0
- package/agent/manifest.yaml +61 -0
- package/agent/milestones/.gitkeep +0 -0
- package/agent/milestones/milestone-1-foundation-listings-mvp.md +140 -0
- package/agent/milestones/milestone-1-{title}.template.md +206 -0
- package/agent/milestones/milestone-2-content-interaction.md +56 -0
- package/agent/milestones/milestone-3-users-and-messaging.md +54 -0
- package/agent/milestones/milestone-4-subreddits-and-flair.md +56 -0
- package/agent/milestones/milestone-5-moderation.md +53 -0
- package/agent/milestones/milestone-6-advanced-features-and-polish.md +56 -0
- package/agent/package.template.yaml +86 -0
- package/agent/patterns/.gitkeep +0 -0
- package/agent/patterns/bootstrap.template.md +1237 -0
- package/agent/patterns/pattern.template.md +382 -0
- package/agent/progress.template.yaml +161 -0
- package/agent/progress.yaml +223 -0
- package/agent/schemas/package.schema.yaml +276 -0
- package/agent/scripts/acp.common.sh +1781 -0
- package/agent/scripts/acp.yaml-parser.sh +985 -0
- package/agent/tasks/.gitkeep +0 -0
- package/agent/tasks/milestone-1-foundation-listings-mvp/task-1-project-scaffolding.md +75 -0
- package/agent/tasks/milestone-1-foundation-listings-mvp/task-2-reddit-oauth.md +71 -0
- package/agent/tasks/milestone-1-foundation-listings-mvp/task-3-reddit-api-client.md +71 -0
- package/agent/tasks/milestone-1-foundation-listings-mvp/task-4-listing-tools.md +65 -0
- package/agent/tasks/milestone-1-foundation-listings-mvp/task-5-search-tools.md +43 -0
- package/agent/tasks/milestone-1-foundation-listings-mvp/task-6-testing-verification.md +49 -0
- package/agent/tasks/milestone-2-content-interaction/task-7-post-tools.md +56 -0
- package/agent/tasks/milestone-2-content-interaction/task-8-comment-tools.md +49 -0
- package/agent/tasks/milestone-2-content-interaction/task-9-vote-save-report-tools.md +50 -0
- package/agent/tasks/milestone-3-users-and-messaging/task-10-account-tools.md +44 -0
- package/agent/tasks/milestone-3-users-and-messaging/task-11-user-profile-tools.md +50 -0
- package/agent/tasks/milestone-3-users-and-messaging/task-12-private-message-tools.md +50 -0
- package/agent/tasks/milestone-4-subreddits-and-flair/task-13-subreddit-tools.md +47 -0
- package/agent/tasks/milestone-4-subreddits-and-flair/task-14-flair-tools.md +46 -0
- package/agent/tasks/milestone-4-subreddits-and-flair/task-15-http-transport.md +53 -0
- package/agent/tasks/milestone-5-moderation/task-16-mod-action-tools.md +48 -0
- package/agent/tasks/milestone-5-moderation/task-17-mod-listing-tools.md +47 -0
- package/agent/tasks/milestone-5-moderation/task-18-mod-management-tools.md +42 -0
- package/agent/tasks/milestone-6-advanced-features-and-polish/task-19-multireddit-tools.md +49 -0
- package/agent/tasks/milestone-6-advanced-features-and-polish/task-20-wiki-tools.md +47 -0
- package/agent/tasks/milestone-6-advanced-features-and-polish/task-21-documentation-polish.md +65 -0
- package/agent/tasks/task-1-{title}.template.md +244 -0
- package/dist/auth/oauth.d.ts +15 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/client/reddit.d.ts +28 -0
- package/dist/client/reddit.d.ts.map +1 -0
- package/dist/factory.d.ts +2 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +30394 -0
- package/dist/factory.js.map +7 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31955 -0
- package/dist/index.js.map +7 -0
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +30401 -0
- package/dist/server.js.map +7 -0
- package/dist/tools/listings.d.ts +4 -0
- package/dist/tools/listings.d.ts.map +1 -0
- package/dist/tools/search.d.ts +4 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/transport/http.d.ts +7 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/types/index.d.ts +78 -0
- package/dist/types/index.d.ts.map +1 -0
- package/esbuild.build.js +21 -0
- package/jest.config.js +18 -0
- package/package.json +46 -0
- package/src/auth/oauth.ts +200 -0
- package/src/client/reddit.ts +245 -0
- package/src/factory.ts +5 -0
- package/src/index.ts +31 -0
- package/src/server.ts +36 -0
- package/src/tools/listings.ts +202 -0
- package/src/tools/search.ts +85 -0
- package/src/transport/http.ts +49 -0
- package/src/types/index.ts +83 -0
- package/tests/fixtures/reddit-responses.ts +132 -0
- package/tests/helpers/mock-client.ts +36 -0
- package/tests/unit/auth.test.ts +89 -0
- package/tests/unit/client.test.ts +218 -0
- package/tests/unit/listings.test.ts +113 -0
- package/tests/unit/search.test.ts +59 -0
- package/tests/unit/server.test.ts +14 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Milestone {N}: {Descriptive Name}
|
|
2
|
+
|
|
3
|
+
**Goal**: [One-line objective that clearly states what this milestone achieves]
|
|
4
|
+
**Duration**: [Estimated time: e.g., "1-2 weeks", "3-5 days"]
|
|
5
|
+
**Dependencies**: [List prerequisite milestones or external dependencies, or "None"]
|
|
6
|
+
**Status**: Not Started | In Progress | Completed
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
[Provide a comprehensive description of what this milestone accomplishes and why it's important to the project. Explain how it fits into the overall project roadmap.]
|
|
13
|
+
|
|
14
|
+
**Example**: "This milestone establishes the foundational infrastructure for the project, including build system, database connections, and basic server setup. It creates the scaffolding that all future features will build upon."
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Deliverables
|
|
19
|
+
|
|
20
|
+
[List concrete, measurable outputs this milestone will produce. Be specific about what will exist when this milestone is complete.]
|
|
21
|
+
|
|
22
|
+
### 1. [Deliverable Category 1]
|
|
23
|
+
- Specific item 1
|
|
24
|
+
- Specific item 2
|
|
25
|
+
- Specific item 3
|
|
26
|
+
|
|
27
|
+
### 2. [Deliverable Category 2]
|
|
28
|
+
- Specific item 1
|
|
29
|
+
- Specific item 2
|
|
30
|
+
|
|
31
|
+
### 3. [Deliverable Category 3]
|
|
32
|
+
- Specific item 1
|
|
33
|
+
- Specific item 2
|
|
34
|
+
|
|
35
|
+
**Example**:
|
|
36
|
+
|
|
37
|
+
### 1. Project Structure
|
|
38
|
+
- New `project-name/` directory with organized subdirectories
|
|
39
|
+
- package.json with all metadata and scripts
|
|
40
|
+
- TypeScript configuration (tsconfig.json)
|
|
41
|
+
- Build system using esbuild
|
|
42
|
+
- Directory structure: src/, tests/, agent/
|
|
43
|
+
|
|
44
|
+
### 2. Core Dependencies
|
|
45
|
+
- @modelcontextprotocol/sdk installed and configured
|
|
46
|
+
- Database client libraries installed
|
|
47
|
+
- Development tools (TypeScript, testing framework)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Success Criteria
|
|
52
|
+
|
|
53
|
+
[Define objective, verifiable criteria that indicate this milestone is complete. Each criterion should be testable.]
|
|
54
|
+
|
|
55
|
+
- [ ] Criterion 1: [Specific, measurable condition]
|
|
56
|
+
- [ ] Criterion 2: [Specific, measurable condition]
|
|
57
|
+
- [ ] Criterion 3: [Specific, measurable condition]
|
|
58
|
+
- [ ] Criterion 4: [Specific, measurable condition]
|
|
59
|
+
- [ ] Criterion 5: [Specific, measurable condition]
|
|
60
|
+
|
|
61
|
+
**Example**:
|
|
62
|
+
- [ ] Project builds successfully (`npm run build` completes without errors)
|
|
63
|
+
- [ ] TypeScript compiles without errors (`npm run typecheck` passes)
|
|
64
|
+
- [ ] All dependencies install correctly (`npm install` succeeds)
|
|
65
|
+
- [ ] Basic server starts and responds to health check
|
|
66
|
+
- [ ] All tests pass (`npm test` succeeds)
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Key Files to Create
|
|
71
|
+
|
|
72
|
+
[List the specific files and directories that will be created during this milestone. Use a tree structure for clarity.]
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
project-root/
|
|
76
|
+
├── file1.ext
|
|
77
|
+
├── file2.ext
|
|
78
|
+
├── directory1/
|
|
79
|
+
│ ├── file3.ext
|
|
80
|
+
│ └── file4.ext
|
|
81
|
+
└── directory2/
|
|
82
|
+
├── subdirectory/
|
|
83
|
+
│ └── file5.ext
|
|
84
|
+
└── file6.ext
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
**Example**:
|
|
88
|
+
```
|
|
89
|
+
my-project/
|
|
90
|
+
├── package.json
|
|
91
|
+
├── tsconfig.json
|
|
92
|
+
├── esbuild.build.js
|
|
93
|
+
├── .gitignore
|
|
94
|
+
├── .env.example
|
|
95
|
+
├── README.md
|
|
96
|
+
├── src/
|
|
97
|
+
│ ├── index.ts
|
|
98
|
+
│ ├── server.ts
|
|
99
|
+
│ ├── types/
|
|
100
|
+
│ │ └── index.ts
|
|
101
|
+
│ └── utils/
|
|
102
|
+
│ └── logger.ts
|
|
103
|
+
└── tests/
|
|
104
|
+
└── setup.test.ts
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Tasks
|
|
110
|
+
|
|
111
|
+
[List the tasks that comprise this milestone. Reference task documents if they exist.]
|
|
112
|
+
|
|
113
|
+
1. [Task 1: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
114
|
+
2. [Task 2: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
115
|
+
3. [Task 3: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
116
|
+
4. [Task 4: task-N-{name}.md](../tasks/task-N-{name}.md) - [Brief description]
|
|
117
|
+
|
|
118
|
+
**Example**:
|
|
119
|
+
1. [Task 1: Initialize Project Structure](../tasks/task-1-initialize-project-structure.md) - Set up directories and config files
|
|
120
|
+
2. [Task 2: Install Dependencies](../tasks/task-2-install-dependencies.md) - Install and configure npm packages
|
|
121
|
+
3. [Task 3: Create Basic Server](../tasks/task-3-create-basic-server.md) - Implement minimal MCP server
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## Environment Variables
|
|
126
|
+
|
|
127
|
+
[If this milestone requires environment configuration, document it here:]
|
|
128
|
+
|
|
129
|
+
```env
|
|
130
|
+
# Category 1
|
|
131
|
+
VAR_NAME_1=example_value
|
|
132
|
+
VAR_NAME_2=example_value
|
|
133
|
+
|
|
134
|
+
# Category 2
|
|
135
|
+
VAR_NAME_3=example_value
|
|
136
|
+
VAR_NAME_4=example_value
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Example**:
|
|
140
|
+
```env
|
|
141
|
+
# Database Configuration
|
|
142
|
+
DATABASE_URL=postgresql://localhost:5432/mydb
|
|
143
|
+
DATABASE_POOL_SIZE=10
|
|
144
|
+
|
|
145
|
+
# API Configuration
|
|
146
|
+
API_KEY=your_api_key_here
|
|
147
|
+
API_URL=https://api.example.com
|
|
148
|
+
|
|
149
|
+
# Server Configuration
|
|
150
|
+
PORT=3000
|
|
151
|
+
NODE_ENV=development
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Testing Requirements
|
|
157
|
+
|
|
158
|
+
[Describe what testing should be in place by the end of this milestone:]
|
|
159
|
+
|
|
160
|
+
- [ ] Test category 1: [Description]
|
|
161
|
+
- [ ] Test category 2: [Description]
|
|
162
|
+
- [ ] Test category 3: [Description]
|
|
163
|
+
|
|
164
|
+
**Example**:
|
|
165
|
+
- [ ] Unit tests for core utilities
|
|
166
|
+
- [ ] Integration test for database connection
|
|
167
|
+
- [ ] Server initialization test
|
|
168
|
+
- [ ] Environment variable loading test
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Documentation Requirements
|
|
173
|
+
|
|
174
|
+
[List documentation that should be created or updated:]
|
|
175
|
+
|
|
176
|
+
- [ ] Document 1: [Description]
|
|
177
|
+
- [ ] Document 2: [Description]
|
|
178
|
+
- [ ] Document 3: [Description]
|
|
179
|
+
|
|
180
|
+
**Example**:
|
|
181
|
+
- [ ] README.md with project overview and quick start
|
|
182
|
+
- [ ] API documentation for core interfaces
|
|
183
|
+
- [ ] Development setup guide
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Risks and Mitigation
|
|
188
|
+
|
|
189
|
+
[Identify potential risks and how to address them:]
|
|
190
|
+
|
|
191
|
+
| Risk | Impact | Probability | Mitigation Strategy |
|
|
192
|
+
|------|--------|-------------|---------------------|
|
|
193
|
+
| [Risk 1] | High/Medium/Low | High/Medium/Low | [How to mitigate] |
|
|
194
|
+
| [Risk 2] | High/Medium/Low | High/Medium/Low | [How to mitigate] |
|
|
195
|
+
|
|
196
|
+
**Example**:
|
|
197
|
+
| Risk | Impact | Probability | Mitigation Strategy |
|
|
198
|
+
|------|--------|-------------|---------------------|
|
|
199
|
+
| Database connection issues | High | Medium | Provide clear error messages and connection testing utilities |
|
|
200
|
+
| Dependency conflicts | Medium | Low | Pin dependency versions and test thoroughly |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
**Next Milestone**: [Link to next milestone: milestone-{N+1}-{name}.md]
|
|
205
|
+
**Blockers**: [List any current blockers, or "None"]
|
|
206
|
+
**Notes**: [Any additional context or considerations]
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Milestone 2: Content Interaction
|
|
2
|
+
|
|
3
|
+
**Goal**: Implement write operations — posting, commenting, voting, saving, and reporting
|
|
4
|
+
**Duration**: 1 week
|
|
5
|
+
**Dependencies**: M1 - Foundation + Listings MVP
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone adds all content interaction tools — the ability to create posts, write comments, vote on content, save items, and report content. These are the core write operations that make the MCP server useful for active Reddit participation.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. Post Tools (8 tools)
|
|
19
|
+
- Submit new posts (link and self-post)
|
|
20
|
+
- Edit self-posts
|
|
21
|
+
- Delete posts
|
|
22
|
+
- Hide/unhide, NSFW marking, spoiler marking
|
|
23
|
+
|
|
24
|
+
### 2. Comment Tools (2 tools)
|
|
25
|
+
- Post comments and replies
|
|
26
|
+
- Load more comments from collapsed threads
|
|
27
|
+
|
|
28
|
+
### 3. Vote, Save & Report Tools (4 tools)
|
|
29
|
+
- Upvote/downvote/unvote
|
|
30
|
+
- Save/unsave content
|
|
31
|
+
- Report content
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Success Criteria
|
|
36
|
+
|
|
37
|
+
- [ ] `reddit_submit` creates a self-post and link post
|
|
38
|
+
- [ ] `reddit_comment` posts a reply to a post
|
|
39
|
+
- [ ] `reddit_vote` upvotes/downvotes content
|
|
40
|
+
- [ ] `reddit_save` and `reddit_unsave` work correctly
|
|
41
|
+
- [ ] All tools have proper zod validation
|
|
42
|
+
- [ ] All tools include scope requirements in descriptions
|
|
43
|
+
- [ ] Unit tests pass with 70%+ coverage
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Tasks
|
|
48
|
+
|
|
49
|
+
1. [Task 7: Post Tools](../tasks/milestone-2-content-interaction/task-7-post-tools.md) - Submit, edit, delete, hide, NSFW, spoiler
|
|
50
|
+
2. [Task 8: Comment Tools](../tasks/milestone-2-content-interaction/task-8-comment-tools.md) - Comment, reply, more_children
|
|
51
|
+
3. [Task 9: Vote, Save & Report Tools](../tasks/milestone-2-content-interaction/task-9-vote-save-report-tools.md) - Vote, save/unsave, report
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
**Next Milestone**: [Milestone 3: Users & Messaging](milestone-3-users-and-messaging.md)
|
|
56
|
+
**Blockers**: None
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Milestone 3: Users & Messaging
|
|
2
|
+
|
|
3
|
+
**Goal**: Implement account info, user profile browsing, and private messaging tools
|
|
4
|
+
**Duration**: 1 week
|
|
5
|
+
**Dependencies**: M1 - Foundation + Listings MVP
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone adds user-facing tools — viewing your own account info, browsing other users' profiles and history, and managing private messages. These tools enable agents to understand user context and communicate via Reddit's messaging system.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. Account Tools (7 tools)
|
|
19
|
+
- Authenticated user info, karma, prefs, trophies
|
|
20
|
+
- Friends and blocked user lists
|
|
21
|
+
- Update preferences
|
|
22
|
+
|
|
23
|
+
### 2. User Profile Tools (9 tools)
|
|
24
|
+
- Public profile info
|
|
25
|
+
- User post/comment history, saved items, votes
|
|
26
|
+
- Trophies, block user
|
|
27
|
+
|
|
28
|
+
### 3. Private Message Tools (7 tools)
|
|
29
|
+
- Inbox, unread, sent messages
|
|
30
|
+
- Compose, mark read/unread, delete
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Success Criteria
|
|
35
|
+
|
|
36
|
+
- [ ] `reddit_me` returns authenticated user info
|
|
37
|
+
- [ ] `reddit_user_about` returns another user's profile
|
|
38
|
+
- [ ] `reddit_user_submitted` returns a user's post history
|
|
39
|
+
- [ ] `reddit_inbox` returns inbox messages
|
|
40
|
+
- [ ] `reddit_compose` sends a private message
|
|
41
|
+
- [ ] All tools tested with 70%+ coverage
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Tasks
|
|
46
|
+
|
|
47
|
+
1. [Task 10: Account Tools](../tasks/milestone-3-users-and-messaging/task-10-account-tools.md) - Me, karma, prefs, trophies, friends, blocked
|
|
48
|
+
2. [Task 11: User Profile Tools](../tasks/milestone-3-users-and-messaging/task-11-user-profile-tools.md) - About, submitted, comments, overview, saved, votes, trophies, block
|
|
49
|
+
3. [Task 12: Private Message Tools](../tasks/milestone-3-users-and-messaging/task-12-private-message-tools.md) - Inbox, unread, sent, compose, read/unread, delete
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
**Next Milestone**: [Milestone 4: Subreddits & Flair](milestone-4-subreddits-and-flair.md)
|
|
54
|
+
**Blockers**: None
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Milestone 4: Subreddits & Flair
|
|
2
|
+
|
|
3
|
+
**Goal**: Implement subreddit discovery, subscription management, flair tools, and HTTP transport
|
|
4
|
+
**Duration**: 1 week
|
|
5
|
+
**Dependencies**: M1 - Foundation + Listings MVP
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone adds subreddit management tools (info, rules, subscribe, search, discovery), flair tools (read and set link/user flair), and the streamable HTTP transport for deployment scenarios.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. Subreddit Tools (8 tools)
|
|
19
|
+
- Subreddit info and rules
|
|
20
|
+
- Subscribe/unsubscribe
|
|
21
|
+
- List my subs, popular, new, search
|
|
22
|
+
|
|
23
|
+
### 2. Flair Tools (3 tools)
|
|
24
|
+
- Get link flair options
|
|
25
|
+
- Get user flair options
|
|
26
|
+
- Set flair on post or user
|
|
27
|
+
|
|
28
|
+
### 3. Streamable HTTP Transport
|
|
29
|
+
- HTTP server with MCP StreamableHTTPServerTransport
|
|
30
|
+
- Health check endpoint
|
|
31
|
+
- Per-session transport handling
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Success Criteria
|
|
36
|
+
|
|
37
|
+
- [ ] `reddit_subreddit_about` returns subreddit info
|
|
38
|
+
- [ ] `reddit_subscribe` subscribes to a subreddit
|
|
39
|
+
- [ ] `reddit_subreddits_search` finds subreddits
|
|
40
|
+
- [ ] `reddit_link_flair` returns available flair
|
|
41
|
+
- [ ] HTTP transport serves MCP requests
|
|
42
|
+
- [ ] Health check returns OK
|
|
43
|
+
- [ ] All tools tested with 70%+ coverage
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Tasks
|
|
48
|
+
|
|
49
|
+
1. [Task 13: Subreddit Tools](../tasks/milestone-4-subreddits-and-flair/task-13-subreddit-tools.md) - About, rules, subscribe, mine, popular, new, search
|
|
50
|
+
2. [Task 14: Flair Tools](../tasks/milestone-4-subreddits-and-flair/task-14-flair-tools.md) - Link flair, user flair, select flair
|
|
51
|
+
3. [Task 15: HTTP Transport](../tasks/milestone-4-subreddits-and-flair/task-15-http-transport.md) - Streamable HTTP transport implementation
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
**Next Milestone**: [Milestone 5: Moderation](milestone-5-moderation.md)
|
|
56
|
+
**Blockers**: None
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Milestone 5: Moderation
|
|
2
|
+
|
|
3
|
+
**Goal**: Implement moderation action tools, mod listing tools, and mod management tools
|
|
4
|
+
**Duration**: 1 week
|
|
5
|
+
**Dependencies**: M2 - Content Interaction (for approve/remove patterns)
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone adds the full suite of moderation tools — actions (approve, remove, distinguish, lock), listing views (modqueue, reports, spam, edited, modlog), and user management (moderators, contributors, banned, muted). These tools enable AI agents to assist with subreddit moderation.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. Mod Action Tools (7 tools)
|
|
19
|
+
- Approve, remove, distinguish
|
|
20
|
+
- Ignore/unignore reports
|
|
21
|
+
- Lock/unlock threads
|
|
22
|
+
|
|
23
|
+
### 2. Mod Listing Tools (5 tools)
|
|
24
|
+
- Modqueue, reports, spam, edited items
|
|
25
|
+
- Moderation log
|
|
26
|
+
|
|
27
|
+
### 3. Mod Management Tools (4 tools)
|
|
28
|
+
- List moderators, contributors, banned, muted users
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Success Criteria
|
|
33
|
+
|
|
34
|
+
- [ ] `reddit_approve` approves a queued item
|
|
35
|
+
- [ ] `reddit_remove` removes content
|
|
36
|
+
- [ ] `reddit_modqueue` returns items awaiting review
|
|
37
|
+
- [ ] `reddit_modlog` returns moderation log entries
|
|
38
|
+
- [ ] `reddit_moderators` lists subreddit mods
|
|
39
|
+
- [ ] All mod tools require correct scopes
|
|
40
|
+
- [ ] All tools tested with 70%+ coverage
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Tasks
|
|
45
|
+
|
|
46
|
+
1. [Task 16: Mod Action Tools](../tasks/milestone-5-moderation/task-16-mod-action-tools.md) - Approve, remove, distinguish, ignore reports, lock/unlock
|
|
47
|
+
2. [Task 17: Mod Listing Tools](../tasks/milestone-5-moderation/task-17-mod-listing-tools.md) - Modqueue, reports, spam, edited, modlog
|
|
48
|
+
3. [Task 18: Mod Management Tools](../tasks/milestone-5-moderation/task-18-mod-management-tools.md) - Moderators, contributors, banned, muted
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
**Next Milestone**: [Milestone 6: Advanced Features & Polish](milestone-6-advanced-features-and-polish.md)
|
|
53
|
+
**Blockers**: None
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Milestone 6: Advanced Features & Polish
|
|
2
|
+
|
|
3
|
+
**Goal**: Implement multireddit and wiki tools, finalize documentation, publish-ready
|
|
4
|
+
**Duration**: 1 week
|
|
5
|
+
**Dependencies**: M1 - Foundation
|
|
6
|
+
**Status**: Not Started
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This milestone adds multireddit management tools, wiki tools, comprehensive documentation, and the factory export for mcp-auth integration. This completes the full Reddit API coverage and makes the package publish-ready.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Deliverables
|
|
17
|
+
|
|
18
|
+
### 1. Multireddit Tools (7 tools)
|
|
19
|
+
- List, get, create, update, delete multireddits
|
|
20
|
+
- Add/remove subreddits from multis
|
|
21
|
+
|
|
22
|
+
### 2. Wiki Tools (5 tools)
|
|
23
|
+
- Read, edit, list pages
|
|
24
|
+
- Revision history
|
|
25
|
+
|
|
26
|
+
### 3. Documentation & Polish
|
|
27
|
+
- Complete README with all 88 tools documented
|
|
28
|
+
- CHANGELOG with release history
|
|
29
|
+
- Factory export for mcp-auth
|
|
30
|
+
- Claude Desktop configuration example
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Success Criteria
|
|
35
|
+
|
|
36
|
+
- [ ] `reddit_multi_mine` returns user's multireddits
|
|
37
|
+
- [ ] `reddit_multi_create` creates a multireddit
|
|
38
|
+
- [ ] `reddit_wiki_page` reads a wiki page
|
|
39
|
+
- [ ] `reddit_wiki_edit` edits a wiki page
|
|
40
|
+
- [ ] Factory export works with mcp-auth
|
|
41
|
+
- [ ] README documents all tools
|
|
42
|
+
- [ ] All tools tested with 70%+ coverage
|
|
43
|
+
- [ ] Package publishable to npm
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Tasks
|
|
48
|
+
|
|
49
|
+
1. [Task 19: Multireddit Tools](../tasks/milestone-6-advanced-features-and-polish/task-19-multireddit-tools.md) - Mine, get, create, update, delete, add/remove sub
|
|
50
|
+
2. [Task 20: Wiki Tools](../tasks/milestone-6-advanced-features-and-polish/task-20-wiki-tools.md) - Read, edit, pages, revisions
|
|
51
|
+
3. [Task 21: Documentation & Polish](../tasks/milestone-6-advanced-features-and-polish/task-21-documentation-polish.md) - README, CHANGELOG, factory export, publish readiness
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
**Blockers**: None
|
|
56
|
+
**Notes**: After this milestone, the companion reddit-mcp-server project can be built following the youtube-mcp-server pattern.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# package.yaml Template
|
|
2
|
+
# This file defines an ACP package for distribution
|
|
3
|
+
|
|
4
|
+
name: package-name
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Package description (10-200 characters)
|
|
7
|
+
author: Author Name
|
|
8
|
+
license: MIT
|
|
9
|
+
homepage: https://github.com/user/package-name
|
|
10
|
+
repository: https://github.com/user/package-name.git
|
|
11
|
+
|
|
12
|
+
# Release configuration
|
|
13
|
+
release:
|
|
14
|
+
branch: main
|
|
15
|
+
|
|
16
|
+
# Package contents
|
|
17
|
+
# List files that will be installed when users install this package
|
|
18
|
+
# Format: Each entry is an object with a 'name' field
|
|
19
|
+
contents:
|
|
20
|
+
patterns:
|
|
21
|
+
- name: namespace.pattern-name.md
|
|
22
|
+
description: Pattern description
|
|
23
|
+
|
|
24
|
+
commands:
|
|
25
|
+
- name: namespace.command-name.md
|
|
26
|
+
description: Command description
|
|
27
|
+
scripts: # REQUIRED: Must match command frontmatter **Scripts**: field
|
|
28
|
+
- namespace.command-name.sh
|
|
29
|
+
- acp.common.sh
|
|
30
|
+
- acp.yaml-parser.sh
|
|
31
|
+
|
|
32
|
+
designs:
|
|
33
|
+
- name: namespace.design-name.md
|
|
34
|
+
description: Design description
|
|
35
|
+
|
|
36
|
+
scripts:
|
|
37
|
+
- name: namespace.command-name.sh
|
|
38
|
+
description: Main command script
|
|
39
|
+
- name: acp.common.sh
|
|
40
|
+
description: Shared utility functions
|
|
41
|
+
type: utility
|
|
42
|
+
- name: acp.yaml-parser.sh
|
|
43
|
+
description: YAML parsing utilities
|
|
44
|
+
type: utility
|
|
45
|
+
|
|
46
|
+
# Template source files (code, configs, project scaffolding)
|
|
47
|
+
# Installed to agent/files/ - users copy to project as needed
|
|
48
|
+
# Variable substitution: {{VARIABLE_NAME}} placeholders replaced at install time
|
|
49
|
+
files:
|
|
50
|
+
# Required configuration template
|
|
51
|
+
- name: config/tsconfig.json
|
|
52
|
+
description: TypeScript configuration for core libraries
|
|
53
|
+
target: ./
|
|
54
|
+
required: true
|
|
55
|
+
|
|
56
|
+
# Template with variable substitution
|
|
57
|
+
- name: config/package.json.template
|
|
58
|
+
description: npm package.json with subpath exports
|
|
59
|
+
target: ./
|
|
60
|
+
required: true
|
|
61
|
+
variables:
|
|
62
|
+
- PACKAGE_NAME
|
|
63
|
+
- PACKAGE_DESCRIPTION
|
|
64
|
+
- AUTHOR_NAME
|
|
65
|
+
|
|
66
|
+
# Optional source code template
|
|
67
|
+
- name: src/schemas/example.schema.ts
|
|
68
|
+
description: Example Zod schema structure for data validation
|
|
69
|
+
target: src/schemas/
|
|
70
|
+
required: false
|
|
71
|
+
|
|
72
|
+
# Experimental template
|
|
73
|
+
- name: src/experimental/feature.ts
|
|
74
|
+
description: Experimental feature template for early testing
|
|
75
|
+
target: src/experimental/
|
|
76
|
+
required: false
|
|
77
|
+
experimental: true
|
|
78
|
+
|
|
79
|
+
# Compatibility requirements
|
|
80
|
+
requires:
|
|
81
|
+
acp: ">=2.8.0"
|
|
82
|
+
|
|
83
|
+
# Tags for package discovery
|
|
84
|
+
tags:
|
|
85
|
+
- tag1
|
|
86
|
+
- tag2
|
|
File without changes
|