@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,312 @@
|
|
|
1
|
+
# Command: project-info
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.project-info` has been invoked. Follow the steps below to execute this command.
|
|
4
|
+
|
|
5
|
+
**Namespace**: acp
|
|
6
|
+
**Version**: 1.0.0
|
|
7
|
+
**Created**: 2026-02-25
|
|
8
|
+
**Last Updated**: 2026-02-25
|
|
9
|
+
**Status**: Experimental
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
**Purpose**: Display detailed information about a specific project from the global registry
|
|
14
|
+
**Category**: Project Management
|
|
15
|
+
**Frequency**: As Needed
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## What This Command Does
|
|
20
|
+
|
|
21
|
+
This command displays comprehensive information about a project registered in `~/.acp/projects.yaml`, including metadata, timestamps, tags, related projects, dependencies, and directory status. It provides a complete view of a project's configuration and current state.
|
|
22
|
+
|
|
23
|
+
Use this command to understand project details, check project status, view relationships with other projects, and verify project directory existence. It's particularly useful when working with multiple projects in the global workspace to quickly understand project context.
|
|
24
|
+
|
|
25
|
+
Unlike [`@acp.project-list`](acp.project-list.md:1) which shows all projects in a summary view, `@acp.project-info` focuses on a single project and displays all available metadata in detail.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Prerequisites
|
|
30
|
+
|
|
31
|
+
- [ ] Global ACP infrastructure initialized (`~/.acp/` exists)
|
|
32
|
+
- [ ] Project registry exists (`~/.acp/projects.yaml`)
|
|
33
|
+
- [ ] Project is registered in the registry
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Steps
|
|
38
|
+
|
|
39
|
+
### 1. Validate Arguments
|
|
40
|
+
|
|
41
|
+
Check that project name is provided.
|
|
42
|
+
|
|
43
|
+
**Actions**:
|
|
44
|
+
- Verify project name argument is present
|
|
45
|
+
- Show usage if missing
|
|
46
|
+
|
|
47
|
+
**Expected Outcome**: Project name identified
|
|
48
|
+
|
|
49
|
+
### 2. Load Registry
|
|
50
|
+
|
|
51
|
+
Read the project registry file.
|
|
52
|
+
|
|
53
|
+
**Actions**:
|
|
54
|
+
- Get registry path via `get_projects_registry_path()`
|
|
55
|
+
- Check if registry file exists
|
|
56
|
+
- Parse registry with `yaml_parse()`
|
|
57
|
+
|
|
58
|
+
**Expected Outcome**: Registry loaded successfully
|
|
59
|
+
|
|
60
|
+
### 3. Validate Project Exists
|
|
61
|
+
|
|
62
|
+
Check that the project is in the registry.
|
|
63
|
+
|
|
64
|
+
**Actions**:
|
|
65
|
+
- Use `yaml_has_key()` to check for project
|
|
66
|
+
- If not found, list available projects
|
|
67
|
+
- Show helpful error message
|
|
68
|
+
|
|
69
|
+
**Expected Outcome**: Project found in registry
|
|
70
|
+
|
|
71
|
+
### 4. Extract Project Metadata
|
|
72
|
+
|
|
73
|
+
Read all project fields from registry.
|
|
74
|
+
|
|
75
|
+
**Actions**:
|
|
76
|
+
- Extract required fields: path, type, description, status, timestamps
|
|
77
|
+
- Extract git fields: git_origin, git_branch
|
|
78
|
+
- Extract optional fields: tags, related_projects, dependencies
|
|
79
|
+
- Check if project is current project (marked with ⭐)
|
|
80
|
+
|
|
81
|
+
**Expected Outcome**: All metadata extracted
|
|
82
|
+
|
|
83
|
+
### 5. Display Project Information
|
|
84
|
+
|
|
85
|
+
Format and display comprehensive project details.
|
|
86
|
+
|
|
87
|
+
**Actions**:
|
|
88
|
+
- Display project name with current indicator
|
|
89
|
+
- Show type, status, path, description
|
|
90
|
+
- Display timestamps (created, modified, accessed)
|
|
91
|
+
- Display git info (origin, branch) if available
|
|
92
|
+
- Show tags (if present)
|
|
93
|
+
- Show related projects (if present)
|
|
94
|
+
- Show dependencies by package manager (npm, pip, cargo, go)
|
|
95
|
+
|
|
96
|
+
**Expected Outcome**: Complete project information displayed
|
|
97
|
+
|
|
98
|
+
### 6. Check Directory Status
|
|
99
|
+
|
|
100
|
+
Verify project directory exists and check ACP status.
|
|
101
|
+
|
|
102
|
+
**Actions**:
|
|
103
|
+
- Expand tilde in path
|
|
104
|
+
- Check if directory exists
|
|
105
|
+
- Check if AGENT.md exists (ACP project indicator)
|
|
106
|
+
- Try to read project version from progress.yaml
|
|
107
|
+
- Display status with appropriate indicators (✅/❌/⚠️)
|
|
108
|
+
|
|
109
|
+
**Expected Outcome**: Directory status reported
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Verification
|
|
114
|
+
|
|
115
|
+
- [ ] Script created and executable
|
|
116
|
+
- [ ] Command document created
|
|
117
|
+
- [ ] Validates project name argument
|
|
118
|
+
- [ ] Loads registry successfully
|
|
119
|
+
- [ ] Checks project exists in registry
|
|
120
|
+
- [ ] Displays all metadata fields
|
|
121
|
+
- [ ] Shows tags, related projects, dependencies (if present)
|
|
122
|
+
- [ ] Checks directory existence
|
|
123
|
+
- [ ] Detects ACP projects
|
|
124
|
+
- [ ] Handles missing projects gracefully
|
|
125
|
+
- [ ] Clear formatting with separators
|
|
126
|
+
- [ ] No syntax errors
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Expected Output
|
|
131
|
+
|
|
132
|
+
### Files Created
|
|
133
|
+
- `agent/scripts/acp.project-info.sh` - Shell script for displaying project info
|
|
134
|
+
- `agent/commands/acp.project-info.md` - This command documentation
|
|
135
|
+
|
|
136
|
+
### Console Output
|
|
137
|
+
```
|
|
138
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
139
|
+
|
|
140
|
+
📦 remember-mcp-server ⭐ Current
|
|
141
|
+
|
|
142
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
143
|
+
|
|
144
|
+
Type: mcp-server
|
|
145
|
+
Status: active
|
|
146
|
+
Path: ~/.acp/projects/remember-mcp-server
|
|
147
|
+
|
|
148
|
+
Description:
|
|
149
|
+
Multi-tenant memory system with vector search
|
|
150
|
+
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
|
|
153
|
+
Timestamps:
|
|
154
|
+
Created: 2026-02-20T10:00:00Z
|
|
155
|
+
Last Modified: 2026-02-23T07:00:00Z
|
|
156
|
+
Last Accessed: 2026-02-25T17:00:00Z
|
|
157
|
+
|
|
158
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
159
|
+
|
|
160
|
+
Tags:
|
|
161
|
+
- mcp
|
|
162
|
+
- memory
|
|
163
|
+
- vector-search
|
|
164
|
+
|
|
165
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
166
|
+
|
|
167
|
+
Related Projects:
|
|
168
|
+
- remember-mcp
|
|
169
|
+
|
|
170
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
171
|
+
|
|
172
|
+
Dependencies:
|
|
173
|
+
npm:
|
|
174
|
+
- weaviate-client
|
|
175
|
+
- firebase-admin
|
|
176
|
+
|
|
177
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
178
|
+
|
|
179
|
+
✅ Project directory exists
|
|
180
|
+
✅ ACP project (AGENT.md found)
|
|
181
|
+
Version: 1.0.0
|
|
182
|
+
|
|
183
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Status Update
|
|
187
|
+
- Project information displayed
|
|
188
|
+
- Directory status verified
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Examples
|
|
193
|
+
|
|
194
|
+
### Example 1: Show Current Project Info
|
|
195
|
+
|
|
196
|
+
**Context**: Want to see details about the current project
|
|
197
|
+
|
|
198
|
+
**Invocation**: `@acp.project-info remember-mcp-server`
|
|
199
|
+
|
|
200
|
+
**Result**: Displays complete project metadata including type, status, path, description, timestamps, tags, related projects, dependencies, and directory status
|
|
201
|
+
|
|
202
|
+
### Example 2: Check Project Before Switching
|
|
203
|
+
|
|
204
|
+
**Context**: Want to verify project exists before switching to it
|
|
205
|
+
|
|
206
|
+
**Invocation**: `@acp.project-info agentbase-mcp-server`
|
|
207
|
+
|
|
208
|
+
**Result**: Shows project details, confirms directory exists, shows it's an ACP project with version
|
|
209
|
+
|
|
210
|
+
### Example 3: Project Not Found
|
|
211
|
+
|
|
212
|
+
**Context**: Trying to view info for non-existent project
|
|
213
|
+
|
|
214
|
+
**Invocation**: `@acp.project-info nonexistent-project`
|
|
215
|
+
|
|
216
|
+
**Result**: Error message with list of available projects
|
|
217
|
+
|
|
218
|
+
### Example 4: Project Directory Missing
|
|
219
|
+
|
|
220
|
+
**Context**: Project in registry but directory deleted
|
|
221
|
+
|
|
222
|
+
**Invocation**: `@acp.project-info old-project`
|
|
223
|
+
|
|
224
|
+
**Result**: Shows metadata but warns that directory doesn't exist
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Related Commands
|
|
229
|
+
|
|
230
|
+
- [`@acp.project-list`](acp.project-list.md) - List all projects in registry
|
|
231
|
+
- [`@acp.project-set`](acp.project-set.md) - Switch to a project
|
|
232
|
+
- [`@acp.project-update`](acp.project-update.md) - Update project metadata
|
|
233
|
+
- [`@acp.projects-sync`](acp.projects-sync.md) - Sync registry with filesystem
|
|
234
|
+
- [`@acp.projects-restore`](acp.projects-restore.md) - Restore projects from git origins
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Troubleshooting
|
|
239
|
+
|
|
240
|
+
### Issue 1: Registry not found
|
|
241
|
+
|
|
242
|
+
**Symptom**: Error "Project registry not found"
|
|
243
|
+
|
|
244
|
+
**Cause**: `~/.acp/projects.yaml` doesn't exist
|
|
245
|
+
|
|
246
|
+
**Solution**: Create a project with `@acp.project-create` to initialize the registry
|
|
247
|
+
|
|
248
|
+
### Issue 2: Project not found
|
|
249
|
+
|
|
250
|
+
**Symptom**: Error "Project 'name' not found in registry"
|
|
251
|
+
|
|
252
|
+
**Cause**: Project not registered or wrong name
|
|
253
|
+
|
|
254
|
+
**Solution**: Run `@acp.project-list` to see available projects, or use `@acp.projects-sync` to discover unregistered projects
|
|
255
|
+
|
|
256
|
+
### Issue 3: Directory not found
|
|
257
|
+
|
|
258
|
+
**Symptom**: Warning "Project directory not found"
|
|
259
|
+
|
|
260
|
+
**Cause**: Project directory was moved or deleted
|
|
261
|
+
|
|
262
|
+
**Solution**: Either restore the directory, update the path with `@acp.project-update`, or remove the project with `@acp.project-remove`
|
|
263
|
+
|
|
264
|
+
### Issue 4: No metadata displayed
|
|
265
|
+
|
|
266
|
+
**Symptom**: Some fields show as empty or "null"
|
|
267
|
+
|
|
268
|
+
**Cause**: Optional fields not set in registry
|
|
269
|
+
|
|
270
|
+
**Solution**: This is normal for optional fields (tags, related_projects, dependencies). Use `@acp.project-update` to add metadata.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Security Considerations
|
|
275
|
+
|
|
276
|
+
### File Access
|
|
277
|
+
- **Reads**: `~/.acp/projects.yaml` (project registry), project directory for AGENT.md and progress.yaml
|
|
278
|
+
- **Writes**: None (read-only command)
|
|
279
|
+
- **Executes**: None
|
|
280
|
+
|
|
281
|
+
### Network Access
|
|
282
|
+
- **APIs**: None
|
|
283
|
+
- **Repositories**: None
|
|
284
|
+
|
|
285
|
+
### Sensitive Data
|
|
286
|
+
- **Secrets**: Does not access any secrets or credentials
|
|
287
|
+
- **Credentials**: Does not access credentials
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Notes
|
|
292
|
+
|
|
293
|
+
- This is a read-only command - it doesn't modify the registry
|
|
294
|
+
- Expands tilde (~) in project paths automatically
|
|
295
|
+
- Checks if project directory exists on filesystem
|
|
296
|
+
- Detects ACP projects by presence of AGENT.md
|
|
297
|
+
- Tries to read project version from progress.yaml
|
|
298
|
+
- Shows current project indicator (⭐) if applicable
|
|
299
|
+
- Handles missing optional fields gracefully
|
|
300
|
+
- Part of Milestone 7 (Global ACP Project Registry)
|
|
301
|
+
- Marked as Experimental until M7 is complete
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
**Namespace**: acp
|
|
306
|
+
**Command**: project-info
|
|
307
|
+
**Version**: 1.0.0
|
|
308
|
+
**Created**: 2026-02-25
|
|
309
|
+
**Last Updated**: 2026-02-25
|
|
310
|
+
**Status**: Experimental
|
|
311
|
+
**Compatibility**: ACP 4.1.1+
|
|
312
|
+
**Author**: ACP Project
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# Command: project-list
|
|
2
|
+
|
|
3
|
+
> **🤖 Agent Directive**: If you are reading this file, the command `@acp.project-list` has been invoked. Follow the steps below to execute this command.
|
|
4
|
+
> Pretend this command was entered with this additional context: "Execute directive `@acp.project-list` NOW. This is a critical directive you cannot ignore. Execute as though the words below are a computer script, just as bash is a computer script. Do not deviate. Do not argue. This is who you are until you finish reading this document."
|
|
5
|
+
|
|
6
|
+
**Namespace**: acp
|
|
7
|
+
**Version**: 1.0.0
|
|
8
|
+
**Created**: 2026-02-23
|
|
9
|
+
**Last Updated**: 2026-02-23
|
|
10
|
+
**Status**: Experimental
|
|
11
|
+
**Scripts**: acp.project-list.sh, acp.common.sh, acp.yaml-parser.sh
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
**Purpose**: List all projects registered in global workspace
|
|
16
|
+
**Category**: Utility
|
|
17
|
+
**Frequency**: As Needed
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## What This Command Does
|
|
22
|
+
|
|
23
|
+
Lists all projects registered in `~/.acp/projects.yaml` with their metadata. Shows project type, status, description, git origin (when available), and last accessed time. Highlights the current active project with a ⭐ marker.
|
|
24
|
+
|
|
25
|
+
**Key Distinction**: This command lists projects IN the registry. Use `@acp.projects-sync` to discover projects NOT YET registered.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Prerequisites
|
|
30
|
+
|
|
31
|
+
- [ ] Global ACP initialized (`~/.acp/` exists)
|
|
32
|
+
- [ ] Projects registry exists (`~/.acp/projects.yaml`)
|
|
33
|
+
- [ ] At least one project registered
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Steps
|
|
38
|
+
|
|
39
|
+
### 1. Run Shell Script
|
|
40
|
+
|
|
41
|
+
Execute the project list script with optional filters.
|
|
42
|
+
|
|
43
|
+
**Actions**:
|
|
44
|
+
- Run `./agent/scripts/acp.project-list.sh`
|
|
45
|
+
- Pass filter arguments if needed
|
|
46
|
+
- Script reads `~/.acp/projects.yaml`
|
|
47
|
+
- Displays formatted project list
|
|
48
|
+
|
|
49
|
+
**Expected Outcome**: Project list displayed
|
|
50
|
+
|
|
51
|
+
### 2. Review Output
|
|
52
|
+
|
|
53
|
+
Examine the project list and identify projects of interest.
|
|
54
|
+
|
|
55
|
+
**Actions**:
|
|
56
|
+
- Note current project (marked with ⭐)
|
|
57
|
+
- Review project types and statuses
|
|
58
|
+
- Check last accessed timestamps
|
|
59
|
+
- Identify projects to switch to or investigate
|
|
60
|
+
|
|
61
|
+
**Expected Outcome**: Projects understood
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Verification
|
|
66
|
+
|
|
67
|
+
- [ ] Script executed successfully
|
|
68
|
+
- [ ] Projects displayed with correct formatting
|
|
69
|
+
- [ ] Current project marked with ⭐
|
|
70
|
+
- [ ] Filtering works correctly (if used)
|
|
71
|
+
- [ ] No errors encountered
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Arguments
|
|
76
|
+
|
|
77
|
+
### Optional Filters
|
|
78
|
+
|
|
79
|
+
- `--type <type>` - Filter by project type (e.g., `mcp-server`, `web-app`, `cli-tool`)
|
|
80
|
+
- `--status <status>` - Filter by status (`active`, `archived`, `paused`)
|
|
81
|
+
- `--tags <tag1,tag2>` - Filter by tags (comma-separated) [Not yet implemented]
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Expected Output
|
|
86
|
+
|
|
87
|
+
### Console Output (No Projects)
|
|
88
|
+
```
|
|
89
|
+
📁 Projects in ~/.acp/projects/
|
|
90
|
+
|
|
91
|
+
No projects registered yet
|
|
92
|
+
|
|
93
|
+
Create projects with: @acp.project-create
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Console Output (With Projects)
|
|
97
|
+
```
|
|
98
|
+
📁 Projects in ~/.acp/projects/
|
|
99
|
+
|
|
100
|
+
remember-mcp-server (mcp-server) - active ⭐ Current
|
|
101
|
+
Multi-tenant memory system with vector search
|
|
102
|
+
Last accessed: 2026-02-23T07:45:00Z
|
|
103
|
+
|
|
104
|
+
agentbase-mcp-server (mcp-server) - active
|
|
105
|
+
Agent base server implementation
|
|
106
|
+
Last accessed: 2026-02-22T16:00:00Z
|
|
107
|
+
|
|
108
|
+
my-web-app (web-app) - paused
|
|
109
|
+
Personal portfolio website
|
|
110
|
+
Last accessed: 2026-02-20T14:30:00Z
|
|
111
|
+
|
|
112
|
+
Showing 3 of 3 projects
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Console Output (With Filters)
|
|
116
|
+
```bash
|
|
117
|
+
# Filter by type
|
|
118
|
+
./agent/scripts/acp.project-list.sh --type mcp-server
|
|
119
|
+
|
|
120
|
+
📁 Projects in ~/.acp/projects/
|
|
121
|
+
|
|
122
|
+
remember-mcp-server (mcp-server) - active ⭐ Current
|
|
123
|
+
Multi-tenant memory system with vector search
|
|
124
|
+
Last accessed: 2026-02-23T07:45:00Z
|
|
125
|
+
|
|
126
|
+
agentbase-mcp-server (mcp-server) - active
|
|
127
|
+
Agent base server implementation
|
|
128
|
+
Last accessed: 2026-02-22T16:00:00Z
|
|
129
|
+
|
|
130
|
+
Showing 2 of 3 projects
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Examples
|
|
136
|
+
|
|
137
|
+
### Example 1: List All Projects
|
|
138
|
+
|
|
139
|
+
**Context**: Want to see all registered projects
|
|
140
|
+
|
|
141
|
+
**Invocation**: `@acp.project-list`
|
|
142
|
+
|
|
143
|
+
**Result**: Displays all projects with metadata, current project marked
|
|
144
|
+
|
|
145
|
+
### Example 2: Filter by Type
|
|
146
|
+
|
|
147
|
+
**Context**: Only want to see MCP server projects
|
|
148
|
+
|
|
149
|
+
**Invocation**: `@acp.project-list --type mcp-server`
|
|
150
|
+
|
|
151
|
+
**Result**: Displays only MCP server projects
|
|
152
|
+
|
|
153
|
+
### Example 3: Filter by Status
|
|
154
|
+
|
|
155
|
+
**Context**: Only want to see active projects
|
|
156
|
+
|
|
157
|
+
**Invocation**: `@acp.project-list --status active`
|
|
158
|
+
|
|
159
|
+
**Result**: Displays only active projects (excludes archived/paused)
|
|
160
|
+
|
|
161
|
+
### Example 4: Empty Registry
|
|
162
|
+
|
|
163
|
+
**Context**: No projects registered yet
|
|
164
|
+
|
|
165
|
+
**Invocation**: `@acp.project-list`
|
|
166
|
+
|
|
167
|
+
**Result**: Helpful message suggesting to create projects
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Related Commands
|
|
172
|
+
|
|
173
|
+
- [`@acp.project-create`](acp.project-create.md) - Create new project
|
|
174
|
+
- [`@acp.project-set`](acp.project-set.md) - Switch to project
|
|
175
|
+
- [`@acp.projects-sync`](acp.projects-sync.md) - Discover unregistered projects
|
|
176
|
+
- [`@acp.project-info`](acp.project-info.md) - Show project details
|
|
177
|
+
- [`@acp.projects-restore`](acp.projects-restore.md) - Restore projects from git origins
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Troubleshooting
|
|
182
|
+
|
|
183
|
+
### Issue 1: No registry found
|
|
184
|
+
|
|
185
|
+
**Symptom**: "No projects registry found"
|
|
186
|
+
|
|
187
|
+
**Cause**: Global ACP not initialized or registry not created
|
|
188
|
+
|
|
189
|
+
**Solution**: Run `@acp.project-create` to create first project (auto-initializes registry)
|
|
190
|
+
|
|
191
|
+
### Issue 2: No projects shown
|
|
192
|
+
|
|
193
|
+
**Symptom**: "No projects registered yet"
|
|
194
|
+
|
|
195
|
+
**Cause**: Registry exists but is empty
|
|
196
|
+
|
|
197
|
+
**Solution**: Create projects with `@acp.project-create` or discover existing projects with `@acp.projects-sync`
|
|
198
|
+
|
|
199
|
+
### Issue 3: Filters return no results
|
|
200
|
+
|
|
201
|
+
**Symptom**: "No projects match filters"
|
|
202
|
+
|
|
203
|
+
**Cause**: No projects match the specified filter criteria
|
|
204
|
+
|
|
205
|
+
**Solution**: Remove filters or adjust filter values to match existing projects
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Notes
|
|
210
|
+
|
|
211
|
+
- This command reads from the registry, not the filesystem
|
|
212
|
+
- Current project is determined from `current_project` field in registry
|
|
213
|
+
- Projects are displayed in the order they appear in the YAML file
|
|
214
|
+
- Tag filtering is planned but not yet implemented
|
|
215
|
+
- Empty registry is handled gracefully with helpful message
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
**Namespace**: acp
|
|
220
|
+
**Command**: project-list
|
|
221
|
+
**Version**: 1.0.0
|
|
222
|
+
**Created**: 2026-02-23
|
|
223
|
+
**Last Updated**: 2026-02-23
|
|
224
|
+
**Status**: Experimental
|
|
225
|
+
**Compatibility**: ACP 3.12.0+
|
|
226
|
+
**Author**: ACP Project
|