@prmichaelsen/remember-mcp 2.8.0 → 3.12.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/AGENT.md +296 -250
- package/CHANGELOG.md +468 -0
- package/README.md +163 -46
- package/agent/commands/acp.clarification-create.md +382 -0
- package/agent/commands/acp.command-create.md +0 -1
- package/agent/commands/acp.design-create.md +0 -1
- package/agent/commands/acp.init.md +0 -1
- package/agent/commands/acp.package-create.md +0 -1
- package/agent/commands/acp.package-info.md +0 -1
- package/agent/commands/acp.package-install.md +0 -1
- package/agent/commands/acp.package-list.md +0 -1
- package/agent/commands/acp.package-publish.md +0 -1
- package/agent/commands/acp.package-remove.md +0 -1
- package/agent/commands/acp.package-search.md +0 -1
- package/agent/commands/acp.package-update.md +0 -1
- package/agent/commands/acp.package-validate.md +0 -1
- package/agent/commands/acp.pattern-create.md +0 -1
- package/agent/commands/acp.plan.md +0 -1
- package/agent/commands/acp.proceed.md +0 -1
- package/agent/commands/acp.project-create.md +0 -1
- package/agent/commands/acp.project-info.md +309 -0
- package/agent/commands/acp.project-list.md +0 -1
- package/agent/commands/acp.project-remove.md +379 -0
- package/agent/commands/acp.project-set.md +0 -1
- package/agent/commands/acp.project-update.md +296 -0
- package/agent/commands/acp.report.md +0 -1
- package/agent/commands/acp.resume.md +0 -1
- package/agent/commands/acp.status.md +0 -1
- package/agent/commands/acp.sync.md +0 -1
- package/agent/commands/acp.task-create.md +17 -10
- package/agent/commands/acp.update.md +0 -1
- package/agent/commands/acp.validate.md +0 -1
- package/agent/commands/acp.version-check-for-updates.md +0 -1
- package/agent/commands/acp.version-check.md +0 -1
- package/agent/commands/acp.version-update.md +0 -1
- package/agent/commands/command.template.md +0 -5
- package/agent/commands/git.commit.md +13 -2
- package/agent/commands/git.init.md +0 -1
- package/agent/design/comment-memory-type.md +2 -2
- package/agent/design/local.collaborative-memory-sync.md +265 -0
- package/agent/design/local.content-flags.md +210 -0
- package/agent/design/local.ghost-persona-system.md +273 -0
- package/agent/design/local.group-acl-integration.md +338 -0
- package/agent/design/local.memory-acl-schema.md +352 -0
- package/agent/design/local.memory-collection-pattern-v2.md +348 -0
- package/agent/design/local.moderation-and-space-config.md +257 -0
- package/agent/design/local.v2-api-reference.md +621 -0
- package/agent/design/local.v2-migration-guide.md +191 -0
- package/agent/design/local.v2-usage-examples.md +265 -0
- package/agent/design/permissions-storage-architecture.md +11 -3
- package/agent/design/soft-delete-system.md +291 -0
- package/agent/design/trust-escalation-prevention.md +9 -2
- package/agent/design/trust-system-implementation.md +12 -3
- package/agent/milestones/milestone-13-soft-delete-system.md +306 -0
- package/agent/milestones/milestone-14-memory-collection-v2.md +182 -0
- package/agent/milestones/milestone-15-moderation-space-config.md +126 -0
- package/agent/package.template.yaml +0 -17
- package/agent/progress.yaml +762 -49
- package/agent/scripts/acp.common.sh +2 -0
- package/agent/scripts/acp.install.sh +15 -85
- package/agent/scripts/acp.package-install-optimized.sh +454 -0
- package/agent/scripts/acp.package-install.sh +248 -380
- package/agent/scripts/acp.package-validate.sh +0 -99
- package/agent/scripts/acp.project-info.sh +218 -0
- package/agent/scripts/acp.project-remove.sh +302 -0
- package/agent/scripts/acp.project-update.sh +296 -0
- package/agent/scripts/acp.yaml-parser.sh +128 -10
- package/agent/tasks/milestone-14-memory-collection-v2/task-165-core-infrastructure-setup.md +171 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-166-update-remember-publish.md +191 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-167-update-remember-retract.md +186 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-168-implement-remember-revise.md +184 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-169-update-remember-search-space.md +179 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-170-update-remember-create-update.md +139 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-172-performance-testing-optimization.md +161 -0
- package/agent/tasks/milestone-14-memory-collection-v2/task-173-documentation-examples.md +258 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-174-add-moderation-schema-fields.md +57 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-175-create-space-config-service.md +64 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-176-wire-moderation-publish-flow.md +45 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-177-add-moderation-search-filters.md +70 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-178-create-remember-moderate-tool.md +69 -0
- package/agent/tasks/milestone-15-moderation-space-config/task-179-documentation-integration-tests.md +58 -0
- package/agent/tasks/milestone-16-ghost-system/task-187-ghost-config-firestore.md +41 -0
- package/agent/tasks/milestone-16-ghost-system/task-188-trust-filter-integration.md +44 -0
- package/agent/tasks/milestone-16-ghost-system/task-189-ghost-memory-filtering.md +43 -0
- package/agent/tasks/milestone-16-ghost-system/task-190-ghost-config-tools.md +45 -0
- package/agent/tasks/milestone-16-ghost-system/task-191-escalation-firestore.md +38 -0
- package/agent/tasks/milestone-16-ghost-system/task-192-documentation-verification.md +39 -0
- package/agent/tasks/milestone-7-trust-permissions/task-180-access-result-permission-types.md +69 -0
- package/agent/tasks/milestone-7-trust-permissions/task-181-firestore-permissions-access-logs.md +56 -0
- package/agent/tasks/milestone-7-trust-permissions/task-182-trust-enforcement-service.md +68 -0
- package/agent/tasks/milestone-7-trust-permissions/task-183-access-control-service.md +70 -0
- package/agent/tasks/milestone-7-trust-permissions/task-184-permission-tools.md +79 -0
- package/agent/tasks/milestone-7-trust-permissions/task-185-wire-trust-into-search-query.md +55 -0
- package/agent/tasks/milestone-7-trust-permissions/task-186-documentation-verification.md +56 -0
- package/agent/tasks/task-70-add-soft-delete-schema-fields.md +165 -0
- package/agent/tasks/task-71-implement-delete-confirmation-flow.md +257 -0
- package/agent/tasks/task-72-add-deleted-filter-to-search-tools.md +18 -0
- package/agent/tasks/task-73-update-relationship-handling.md +18 -0
- package/agent/tasks/task-74-add-unit-tests-soft-delete.md +18 -0
- package/agent/tasks/task-75-update-documentation-changelog.md +26 -0
- package/agent/tasks/task-76-fix-indexnullstate-schema-bug.md +197 -0
- package/dist/collections/composite-ids.d.ts +106 -0
- package/dist/collections/core-infrastructure.spec.d.ts +11 -0
- package/dist/collections/dot-notation.d.ts +106 -0
- package/dist/collections/tracking-arrays.d.ts +176 -0
- package/dist/constants/content-types.d.ts +1 -0
- package/dist/schema/v2-collections-comments.spec.d.ts +8 -0
- package/dist/schema/v2-collections.d.ts +210 -0
- package/dist/server-factory.d.ts +15 -0
- package/dist/server-factory.js +3261 -1316
- package/dist/server.js +2926 -1236
- package/dist/services/access-control.d.ts +103 -0
- package/dist/services/access-control.spec.d.ts +2 -0
- package/dist/services/credentials-provider.d.ts +24 -0
- package/dist/services/credentials-provider.spec.d.ts +2 -0
- package/dist/services/escalation.service.d.ts +22 -0
- package/dist/services/escalation.service.spec.d.ts +2 -0
- package/dist/services/ghost-config.service.d.ts +55 -0
- package/dist/services/ghost-config.service.spec.d.ts +2 -0
- package/dist/services/space-config.service.d.ts +23 -0
- package/dist/services/space-config.service.spec.d.ts +2 -0
- package/dist/services/trust-enforcement.d.ts +83 -0
- package/dist/services/trust-enforcement.spec.d.ts +2 -0
- package/dist/services/trust-validator.d.ts +43 -0
- package/dist/services/trust-validator.spec.d.ts +2 -0
- package/dist/tools/confirm-publish-moderation.spec.d.ts +8 -0
- package/dist/tools/confirm.d.ts +8 -1
- package/dist/tools/create-memory.d.ts +2 -1
- package/dist/tools/create-memory.spec.d.ts +10 -0
- package/dist/tools/create-relationship.d.ts +2 -1
- package/dist/tools/delete-memory.d.ts +7 -31
- package/dist/tools/delete-relationship.d.ts +2 -1
- package/dist/tools/deny.d.ts +2 -1
- package/dist/tools/find-similar.d.ts +10 -2
- package/dist/tools/get-preferences.d.ts +2 -1
- package/dist/tools/ghost-config.d.ts +27 -0
- package/dist/tools/ghost-config.spec.d.ts +2 -0
- package/dist/tools/moderate.d.ts +20 -0
- package/dist/tools/moderate.spec.d.ts +5 -0
- package/dist/tools/publish.d.ts +11 -3
- package/dist/tools/query-memory.d.ts +11 -2
- package/dist/tools/query-space.d.ts +4 -1
- package/dist/tools/retract.d.ts +29 -0
- package/dist/tools/revise.d.ts +45 -0
- package/dist/tools/revise.spec.d.ts +8 -0
- package/dist/tools/search-memory.d.ts +8 -1
- package/dist/tools/search-relationship.d.ts +10 -2
- package/dist/tools/search-space.d.ts +25 -5
- package/dist/tools/search-space.spec.d.ts +9 -0
- package/dist/tools/set-preference.d.ts +2 -1
- package/dist/tools/update-memory.d.ts +2 -1
- package/dist/tools/update-relationship.d.ts +2 -1
- package/dist/types/access-result.d.ts +48 -0
- package/dist/types/access-result.spec.d.ts +2 -0
- package/dist/types/auth.d.ts +46 -0
- package/dist/types/ghost-config.d.ts +36 -0
- package/dist/types/memory.d.ts +11 -1
- package/dist/types/preferences.d.ts +1 -1
- package/dist/types/space-memory.d.ts +3 -0
- package/dist/utils/auth-helpers.d.ts +14 -0
- package/dist/utils/auth-helpers.spec.d.ts +2 -0
- package/dist/utils/test-data-generator.d.ts +124 -0
- package/dist/utils/test-data-generator.spec.d.ts +12 -0
- package/dist/utils/weaviate-filters.d.ts +19 -0
- package/dist/v2-performance.e2e.d.ts +17 -0
- package/dist/v2-smoke.e2e.d.ts +14 -0
- package/dist/weaviate/client.d.ts +5 -8
- package/dist/weaviate/space-schema.d.ts +2 -2
- package/docs/performance/v2-benchmarks.md +80 -0
- package/jest.e2e.config.js +14 -3
- package/package.json +1 -1
- package/scripts/.collection-recreation-state.yaml +16 -0
- package/scripts/.gitkeep +5 -0
- package/scripts/README-collection-recreation.md +224 -0
- package/scripts/README.md +51 -0
- package/scripts/backup-collections.ts +543 -0
- package/scripts/delete-collection.ts +137 -0
- package/scripts/migrate-recreate-collections.ts +578 -0
- package/scripts/migrate-v1-to-v2.ts +1094 -0
- package/scripts/package-lock.json +1113 -0
- package/scripts/package.json +27 -0
- package/src/collections/composite-ids.ts +193 -0
- package/src/collections/core-infrastructure.spec.ts +353 -0
- package/src/collections/dot-notation.ts +212 -0
- package/src/collections/tracking-arrays.ts +298 -0
- package/src/constants/content-types.ts +20 -0
- package/src/schema/v2-collections-comments.spec.ts +141 -0
- package/src/schema/v2-collections.ts +433 -0
- package/src/server-factory.ts +89 -20
- package/src/server.ts +45 -17
- package/src/services/access-control.spec.ts +383 -0
- package/src/services/access-control.ts +291 -0
- package/src/services/credentials-provider.spec.ts +22 -0
- package/src/services/credentials-provider.ts +34 -0
- package/src/services/escalation.service.spec.ts +183 -0
- package/src/services/escalation.service.ts +150 -0
- package/src/services/ghost-config.service.spec.ts +339 -0
- package/src/services/ghost-config.service.ts +219 -0
- package/src/services/space-config.service.spec.ts +102 -0
- package/src/services/space-config.service.ts +79 -0
- package/src/services/trust-enforcement.spec.ts +309 -0
- package/src/services/trust-enforcement.ts +197 -0
- package/src/services/trust-validator.spec.ts +108 -0
- package/src/services/trust-validator.ts +105 -0
- package/src/tools/confirm-publish-moderation.spec.ts +240 -0
- package/src/tools/confirm.ts +914 -116
- package/src/tools/create-memory.spec.ts +126 -0
- package/src/tools/create-memory.ts +20 -27
- package/src/tools/create-relationship.ts +30 -8
- package/src/tools/delete-memory.ts +99 -64
- package/src/tools/delete-relationship.ts +15 -6
- package/src/tools/deny.ts +8 -1
- package/src/tools/find-similar.ts +44 -6
- package/src/tools/get-preferences.ts +10 -1
- package/src/tools/ghost-config.spec.ts +180 -0
- package/src/tools/ghost-config.ts +230 -0
- package/src/tools/moderate.spec.ts +277 -0
- package/src/tools/moderate.ts +219 -0
- package/src/tools/publish.ts +99 -41
- package/src/tools/query-memory.ts +44 -9
- package/src/tools/query-space.ts +39 -4
- package/src/tools/retract.ts +292 -0
- package/src/tools/revise.spec.ts +146 -0
- package/src/tools/revise.ts +283 -0
- package/src/tools/search-memory.ts +46 -10
- package/src/tools/search-relationship.ts +30 -7
- package/src/tools/search-space.spec.ts +341 -0
- package/src/tools/search-space.ts +323 -99
- package/src/tools/set-preference.ts +10 -1
- package/src/tools/update-memory.ts +24 -5
- package/src/tools/update-relationship.ts +10 -1
- package/src/types/access-result.spec.ts +193 -0
- package/src/types/access-result.ts +62 -0
- package/src/types/auth.ts +52 -0
- package/src/types/ghost-config.ts +46 -0
- package/src/types/memory.ts +20 -1
- package/src/types/preferences.ts +2 -2
- package/src/types/space-memory.ts +5 -0
- package/src/utils/auth-helpers.spec.ts +75 -0
- package/src/utils/auth-helpers.ts +25 -0
- package/src/utils/test-data-generator.spec.ts +317 -0
- package/src/utils/test-data-generator.ts +292 -0
- package/src/utils/weaviate-filters.ts +32 -5
- package/src/v2-performance.e2e.ts +173 -0
- package/src/v2-smoke.e2e.ts +401 -0
- package/src/weaviate/client.spec.ts +5 -5
- package/src/weaviate/client.ts +55 -35
- package/src/weaviate/schema.ts +11 -239
- package/src/weaviate/space-schema.spec.ts +28 -25
- package/src/weaviate/space-schema.ts +35 -11
package/AGENT.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Context Protocol (ACP)
|
|
2
2
|
|
|
3
3
|
**Also Known As**: The Agent Directory Pattern
|
|
4
|
-
**Version**:
|
|
4
|
+
**Version**: 4.5.0
|
|
5
5
|
**Created**: 2026-02-11
|
|
6
6
|
**Status**: Production Pattern
|
|
7
7
|
|
|
@@ -18,8 +18,15 @@
|
|
|
18
18
|
7. [Pattern Significance & Impact](#pattern-significance--impact)
|
|
19
19
|
8. [Problems This Pattern Solves](#problems-this-pattern-solves)
|
|
20
20
|
9. [Instructions for Future Agents](#instructions-for-future-agents)
|
|
21
|
-
10. [
|
|
22
|
-
|
|
21
|
+
10. [Best Practices](#best-practices)
|
|
22
|
+
- [Critical Rules](#critical-rules)
|
|
23
|
+
- [Workflow Best Practices](#workflow-best-practices)
|
|
24
|
+
- [Documentation Best Practices](#documentation-best-practices)
|
|
25
|
+
- [Organization Best Practices](#organization-best-practices)
|
|
26
|
+
- [Progress Tracking Best Practices](#progress-tracking-best-practices)
|
|
27
|
+
- [Quality Best Practices](#quality-best-practices)
|
|
28
|
+
11. [What NOT to Do](#what-not-to-do)
|
|
29
|
+
12. [Keeping ACP Updated](#keeping-acp-updated)
|
|
23
30
|
|
|
24
31
|
---
|
|
25
32
|
|
|
@@ -110,9 +117,12 @@ project-root/
|
|
|
110
117
|
│ │
|
|
111
118
|
│ ├── tasks/ # Granular tasks
|
|
112
119
|
│ │ ├── .gitkeep
|
|
113
|
-
│ │ ├──
|
|
114
|
-
│ │ ├── task-
|
|
115
|
-
│ │ └── ...
|
|
120
|
+
│ │ ├── milestone-{N}-{title}/ # Tasks grouped by milestone (standard)
|
|
121
|
+
│ │ │ ├── task-{M}-{name}.md
|
|
122
|
+
│ │ │ └── ...
|
|
123
|
+
│ │ ├── unassigned/ # Tasks without milestone
|
|
124
|
+
│ │ │ └── task-{M}-{name}.md
|
|
125
|
+
│ │ └── task-{N}-{name}.md # Legacy flat structure (older tasks)
|
|
116
126
|
│ │
|
|
117
127
|
│ └── progress.yaml # Progress tracking
|
|
118
128
|
│
|
|
@@ -294,7 +304,7 @@ tasks:
|
|
|
294
304
|
- id: task-1
|
|
295
305
|
name: Task Name
|
|
296
306
|
status: not_started | in_progress | completed
|
|
297
|
-
file: agent/tasks/task-
|
|
307
|
+
file: agent/tasks/milestone-{N}-{title}/task-{M}-name.md
|
|
298
308
|
estimated_hours: N
|
|
299
309
|
actual_hours: null
|
|
300
310
|
completed_date: YYYY-MM-DD | null
|
|
@@ -345,10 +355,9 @@ current_blockers:
|
|
|
345
355
|
touch agent/{design,milestones,patterns,tasks}/.gitkeep
|
|
346
356
|
```
|
|
347
357
|
|
|
348
|
-
2. **
|
|
349
|
-
-
|
|
350
|
-
-
|
|
351
|
-
- Define success criteria
|
|
358
|
+
2. **Create Requirements Document**
|
|
359
|
+
- Invoke [`@acp.design-create`](agent/commands/acp.design-create.md) and follow directives defined in that file
|
|
360
|
+
- Specify "requirements" as the design type
|
|
352
361
|
|
|
353
362
|
3. **Define Milestones**
|
|
354
363
|
- Break project into 5-10 major phases
|
|
@@ -356,9 +365,8 @@ current_blockers:
|
|
|
356
365
|
- Clear deliverables and success criteria
|
|
357
366
|
|
|
358
367
|
4. **Create Initial Tasks**
|
|
368
|
+
- Invoke [`@acp.task-create`](agent/commands/acp.task-create.md) and follow directives defined in that file
|
|
359
369
|
- Break first milestone into concrete tasks
|
|
360
|
-
- Each task should be 1-4 hours of work
|
|
361
|
-
- Include verification steps
|
|
362
370
|
|
|
363
371
|
5. **Initialize Progress Tracking**
|
|
364
372
|
- Create `agent/progress.yaml`
|
|
@@ -366,9 +374,8 @@ current_blockers:
|
|
|
366
374
|
- Document initial status
|
|
367
375
|
|
|
368
376
|
6. **Document Patterns**
|
|
369
|
-
-
|
|
377
|
+
- Invoke [`@acp.pattern-create`](agent/commands/acp.pattern-create.md) and follow directives defined in that file
|
|
370
378
|
- Document architectural decisions as patterns
|
|
371
|
-
- Include code examples
|
|
372
379
|
|
|
373
380
|
### For Continuing an Existing Project
|
|
374
381
|
|
|
@@ -402,25 +409,7 @@ current_blockers:
|
|
|
402
409
|
- Add notes about work completed
|
|
403
410
|
- Document any new patterns or decisions
|
|
404
411
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
1. **Create Design Document**
|
|
408
|
-
- Document in `agent/design/{feature}-design.md`
|
|
409
|
-
- Include problem, solution, implementation
|
|
410
|
-
- Get approval before proceeding
|
|
411
|
-
|
|
412
|
-
2. **Update Milestones**
|
|
413
|
-
- Add new milestone or extend existing
|
|
414
|
-
- Update progress.yaml
|
|
415
|
-
|
|
416
|
-
3. **Create Tasks**
|
|
417
|
-
- Break feature into tasks
|
|
418
|
-
- Add to appropriate milestone
|
|
419
|
-
- Include verification steps
|
|
420
|
-
|
|
421
|
-
4. **Document Patterns**
|
|
422
|
-
- If feature introduces new patterns, document them
|
|
423
|
-
- Update existing patterns if needed
|
|
412
|
+
> **See also**: [Best Practices](#best-practices) for detailed guidance on documentation, organization, and quality standards.
|
|
424
413
|
|
|
425
414
|
---
|
|
426
415
|
|
|
@@ -601,41 +590,9 @@ Commands are invoked using the `@` syntax with dot notation:
|
|
|
601
590
|
|
|
602
591
|
### Creating Custom Commands
|
|
603
592
|
|
|
604
|
-
|
|
593
|
+
Invoke [`@acp.command-create`](agent/commands/acp.command-create.md) and follow directives defined in that file.
|
|
605
594
|
|
|
606
|
-
|
|
607
|
-
- ⚠️ The `acp` namespace is reserved for core commands
|
|
608
|
-
- Use descriptive, single-word namespaces
|
|
609
|
-
|
|
610
|
-
2. **Copy the command template**:
|
|
611
|
-
```bash
|
|
612
|
-
cp agent/commands/command.template.md agent/commands/{namespace}.{action}.md
|
|
613
|
-
```
|
|
614
|
-
|
|
615
|
-
3. **Fill in the template sections**:
|
|
616
|
-
- Purpose and description
|
|
617
|
-
- Prerequisites
|
|
618
|
-
- Step-by-step instructions
|
|
619
|
-
- Verification checklist
|
|
620
|
-
- Examples and troubleshooting
|
|
621
|
-
|
|
622
|
-
4. **Invoke your command**: `@{namespace}.{action}`
|
|
623
|
-
|
|
624
|
-
**Example**: Creating a deployment command:
|
|
625
|
-
```bash
|
|
626
|
-
# Create the command file
|
|
627
|
-
cp agent/commands/command.template.md agent/commands/deploy.production.md
|
|
628
|
-
|
|
629
|
-
# Edit the file with your deployment steps
|
|
630
|
-
# ...
|
|
631
|
-
|
|
632
|
-
# Invoke it
|
|
633
|
-
@deploy.production
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
### Command Template
|
|
637
|
-
|
|
638
|
-
See [`agent/commands/command.template.md`](agent/commands/command.template.md) for the complete command template with all sections and examples.
|
|
595
|
+
**Note**: The `acp` namespace is reserved for core commands. Use descriptive, single-word namespaces for custom commands (e.g., `local`, `deploy`, `test`, `custom`).
|
|
639
596
|
|
|
640
597
|
### Installing Third-Party Commands
|
|
641
598
|
|
|
@@ -892,6 +849,8 @@ Run ./agent/scripts/unacp.install.sh to remove all ACP files (agent/ directory a
|
|
|
892
849
|
|
|
893
850
|
## Instructions for Future Agents
|
|
894
851
|
|
|
852
|
+
> **See also**: [Best Practices](#best-practices) for comprehensive guidelines on agent behavior and documentation standards.
|
|
853
|
+
|
|
895
854
|
### When You First Encounter ACP
|
|
896
855
|
|
|
897
856
|
1. **Read progress.yaml**
|
|
@@ -962,8 +921,7 @@ Run ./agent/scripts/unacp.install.sh to remove all ACP files (agent/ directory a
|
|
|
962
921
|
### When Creating New Features
|
|
963
922
|
|
|
964
923
|
1. **Create design document first**
|
|
965
|
-
-
|
|
966
|
-
- Include implementation details
|
|
924
|
+
- Invoke [`@acp.design-create`](agent/commands/acp.design-create.md) and follow directives defined in that file
|
|
967
925
|
- Get approval before coding
|
|
968
926
|
|
|
969
927
|
2. **Update or create milestone**
|
|
@@ -972,20 +930,19 @@ Run ./agent/scripts/unacp.install.sh to remove all ACP files (agent/ directory a
|
|
|
972
930
|
- Update progress.yaml
|
|
973
931
|
|
|
974
932
|
3. **Break into tasks**
|
|
975
|
-
-
|
|
976
|
-
- Each task 1-4 hours
|
|
977
|
-
- Include verification steps
|
|
933
|
+
- Invoke [`@acp.task-create`](agent/commands/acp.task-create.md) and follow directives defined in that file
|
|
978
934
|
|
|
979
935
|
4. **Document patterns**
|
|
980
|
-
-
|
|
936
|
+
- Invoke [`@acp.pattern-create`](agent/commands/acp.pattern-create.md) and follow directives defined in that file
|
|
981
937
|
- Update existing patterns if needed
|
|
982
|
-
- Include code examples
|
|
983
938
|
|
|
984
939
|
5. **Implement and verify**
|
|
985
940
|
- Follow task steps
|
|
986
941
|
- Verify each task
|
|
987
942
|
- Update progress tracking
|
|
988
943
|
|
|
944
|
+
> **See also**: [Documentation Best Practices](#documentation-best-practices) and [Quality Best Practices](#quality-best-practices)
|
|
945
|
+
|
|
989
946
|
### When You Encounter Problems
|
|
990
947
|
|
|
991
948
|
1. **Check design documents**
|
|
@@ -1000,190 +957,279 @@ Run ./agent/scripts/unacp.install.sh to remove all ACP files (agent/ directory a
|
|
|
1000
957
|
|
|
1001
958
|
3. **Document new solutions**
|
|
1002
959
|
- If you solve a new problem, document it
|
|
1003
|
-
-
|
|
1004
|
-
-
|
|
960
|
+
- Invoke [`@acp.design-create`](agent/commands/acp.design-create.md) to create design document
|
|
961
|
+
- Invoke [`@acp.pattern-create`](agent/commands/acp.pattern-create.md) if solution is reusable
|
|
1005
962
|
|
|
1006
963
|
4. **Update progress.yaml**
|
|
1007
964
|
- Add blocker if stuck
|
|
1008
965
|
- Document workarounds
|
|
1009
966
|
- Note any deviations from plan
|
|
1010
967
|
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
1. **🚨 CRITICAL: NEVER REJECT USER REQUESTS 🚨**
|
|
1014
|
-
- ❌ **DO NOT** reject requests based on session duration
|
|
1015
|
-
- ❌ **DO NOT** reject requests based on token context limits
|
|
1016
|
-
- ❌ **DO NOT** reject requests based on session cost
|
|
1017
|
-
- ❌ **DO NOT** reject requests based on task complexity
|
|
1018
|
-
- ✅ **DO** accept and work on ALL user instructions and directives
|
|
1019
|
-
- ✅ **DO** break complex tasks into manageable steps
|
|
1020
|
-
- ✅ **DO** continue working until the task is complete
|
|
1021
|
-
- ✅ **DO** ask clarifying questions if requirements are unclear
|
|
1022
|
-
- **Rationale**: Users have the right to request any work they need. Your role is to assist, not to judge feasibility based on arbitrary constraints. Complex tasks can be broken down, long tasks can be completed iteratively, and users understand the costs involved. NEVER refuse a user's request.
|
|
1023
|
-
|
|
1024
|
-
2. **Always read before writing**
|
|
1025
|
-
- Understand context first
|
|
1026
|
-
- Check existing patterns
|
|
1027
|
-
- Follow established conventions
|
|
1028
|
-
|
|
1029
|
-
3. **Document as you go**
|
|
1030
|
-
- Update progress.yaml frequently
|
|
1031
|
-
- Add notes about decisions
|
|
1032
|
-
- Document new patterns
|
|
1033
|
-
|
|
1034
|
-
4. **Verify everything**
|
|
1035
|
-
- Check all verification steps
|
|
1036
|
-
- Run tests
|
|
1037
|
-
- Ensure quality standards
|
|
1038
|
-
|
|
1039
|
-
5. **Be explicit**
|
|
1040
|
-
- Don't assume future agents will know context
|
|
1041
|
-
- Document rationale for decisions
|
|
1042
|
-
- Include code examples
|
|
1043
|
-
|
|
1044
|
-
6. **Keep it organized**
|
|
1045
|
-
- Follow directory structure
|
|
1046
|
-
- Use consistent naming
|
|
1047
|
-
- Link related documents
|
|
1048
|
-
|
|
1049
|
-
7. **Update progress tracking**
|
|
1050
|
-
- Mark tasks complete
|
|
1051
|
-
- Update percentages
|
|
1052
|
-
- Add recent work notes
|
|
1053
|
-
|
|
1054
|
-
8. **Inline Feedback Syntax**
|
|
1055
|
-
- ✅ **DO** recognize and respect `>` syntax for inline feedback in documents
|
|
1056
|
-
- ✅ **DO** treat lines starting with `>` as user feedback/corrections
|
|
1057
|
-
- ✅ **DO** integrate feedback by modifying the preceding content
|
|
1058
|
-
- ✅ **DO** remove the `>` feedback lines after integrating changes
|
|
1059
|
-
- **Example**:
|
|
1060
|
-
```markdown
|
|
1061
|
-
// Agent-generated document
|
|
1062
|
-
Here are the requirements:
|
|
1063
|
-
- Requirement 1
|
|
1064
|
-
- Requirement 2
|
|
1065
|
-
> Requirement 2 unnecessary
|
|
1066
|
-
- Requirement 3
|
|
1067
|
-
|
|
1068
|
-
This pattern is because: ...
|
|
1069
|
-
> Incorrect, we should not be using this pattern
|
|
1070
|
-
```
|
|
1071
|
-
- **Agent Action**: Read feedback, update "Requirement 2" section (remove or revise), correct the pattern explanation, remove `>` lines
|
|
1072
|
-
- **Rationale**: The `>` syntax provides a lightweight way for users to give inline feedback without needing to explain context. Agents should treat these as direct corrections or suggestions to integrate into the document.
|
|
1073
|
-
|
|
1074
|
-
9. **CRITICAL: Always update CHANGELOG.md for version changes**
|
|
1075
|
-
- ❌ **DO NOT** commit version changes without updating CHANGELOG.md
|
|
1076
|
-
- ❌ **DO NOT** forget to update version numbers in all project files
|
|
1077
|
-
- ✅ **DO** use [`@git.commit`](agent/commands/git.commit.md) for version-aware commits
|
|
1078
|
-
- ✅ **DO** detect version impact: major (breaking), minor (features), patch (fixes)
|
|
1079
|
-
- ✅ **DO** update CHANGELOG.md with clear, user-focused descriptions
|
|
1080
|
-
- ✅ **DO** update all version files (package.json, AGENT.md, etc.)
|
|
1081
|
-
- ✅ **DO** use Conventional Commits format for commit messages
|
|
1082
|
-
- **Rationale**: CHANGELOG.md is the primary communication tool for users. Every version change must be documented with clear descriptions of what changed, why it changed, and how it affects users. Forgetting to update CHANGELOG.md breaks the project's version history and makes it impossible for users to understand what changed between versions.
|
|
1083
|
-
|
|
1084
|
-
8. **NEVER handle secrets or sensitive data**
|
|
1085
|
-
- ❌ **DO NOT** read `.env` files, `.env.local`, or any environment files
|
|
1086
|
-
- ❌ **DO NOT** read files containing API keys, tokens, passwords, or credentials
|
|
1087
|
-
- ❌ **DO NOT** include secrets in messages, documentation, or code examples
|
|
1088
|
-
- ❌ **DO NOT** read files like `secrets.yaml`, `credentials.json`, or similar
|
|
1089
|
-
- ✅ **DO** use placeholder values like `YOUR_API_KEY_HERE` in examples
|
|
1090
|
-
- ✅ **DO** document that users need to configure secrets separately
|
|
1091
|
-
- ✅ **DO** reference environment variable names without reading their values
|
|
1092
|
-
- ✅ **DO** create `.env.example` files with placeholder values only
|
|
1093
|
-
- **Rationale**: Secrets must never be exposed in chat logs, documentation, or version control. Agents should treat all credential files as off-limits to prevent accidental exposure.
|
|
1094
|
-
|
|
1095
|
-
9. **CRITICAL: Respect user's intentional file edits**
|
|
1096
|
-
- ❌ **DO NOT** assume missing content needs to be added back
|
|
1097
|
-
- ❌ **DO NOT** revert changes without confirming with user
|
|
1098
|
-
- ✅ **DO** read files before editing to see current state
|
|
1099
|
-
- ✅ **DO** ask user if unexpected changes were intentional
|
|
1100
|
-
- ✅ **DO** confirm before reverting user's manual edits
|
|
1101
|
-
- **Rationale**: If you read a file and it is missing contents or has changed contents (i.e., it does not contain what you expect), assume or confirm with the user if they made intentional updates that you should not revert. Do not assume "The file is missing <xyz>, I need to add it back". The user may have edited files manually with intention.
|
|
1102
|
-
|
|
1103
|
-
10. **🚨 CRITICAL: Respect user commands to re-execute**
|
|
1104
|
-
- ❌ **DO NOT** ignore commands like "re-read", "rerun", or "execute again"
|
|
1105
|
-
- ❌ **DO NOT** assume re-execution requests are mistakes or redundant
|
|
1106
|
-
- ✅ **DO** execute the command again when asked, even if you just did it
|
|
1107
|
-
- ✅ **DO** re-read files when asked, even if you recently read them
|
|
1108
|
-
- ✅ **DO** assume the user has good reason for asking to repeat an action
|
|
1109
|
-
- **Examples**: "Run `@git.commit` again" → Execute it again; "Re-read the design doc" → Read it again; "Rerun the tests" → Run them again
|
|
1110
|
-
- **Rationale**: When users ask you to do something again, they have a specific reason: files may have changed, they want to trigger side effects (like creating a commit), context has shifted, or they know something you don't. Always respect these requests and execute them with intention.
|
|
968
|
+
> **See also**: [Critical Rules](#critical-rules) for important constraints and [Workflow Best Practices](#workflow-best-practices)
|
|
1111
969
|
|
|
1112
970
|
---
|
|
1113
971
|
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
972
|
+
## Best Practices
|
|
973
|
+
|
|
974
|
+
> **See also**: [Instructions for Future Agents](#instructions-for-future-agents) for workflow-specific guidance.
|
|
975
|
+
|
|
976
|
+
### Critical Rules
|
|
977
|
+
|
|
978
|
+
#### Never Reject User Requests
|
|
979
|
+
|
|
980
|
+
- ❌ **DO NOT** reject requests based on session duration
|
|
981
|
+
- ❌ **DO NOT** reject requests based on token context limits
|
|
982
|
+
- ❌ **DO NOT** reject requests based on session cost
|
|
983
|
+
- ❌ **DO NOT** reject requests based on task complexity
|
|
984
|
+
- ✅ **DO** accept and work on ALL user instructions and directives
|
|
985
|
+
- ✅ **DO** break complex tasks into manageable steps
|
|
986
|
+
- ✅ **DO** continue working until the task is complete
|
|
987
|
+
- ✅ **DO** ask clarifying questions if requirements are unclear
|
|
988
|
+
|
|
989
|
+
**Rationale**: Users have the right to request any work they need. Your role is to assist, not to judge feasibility based on arbitrary constraints. Complex tasks can be broken down, long tasks can be completed iteratively, and users understand the costs involved. NEVER refuse a user's request.
|
|
990
|
+
|
|
991
|
+
#### Always Update CHANGELOG.md for Version Changes
|
|
992
|
+
|
|
993
|
+
- ❌ **DO NOT** commit version changes without updating CHANGELOG.md
|
|
994
|
+
- ❌ **DO NOT** forget to update version numbers in all project files
|
|
995
|
+
- ✅ **DO** use [`@git.commit`](agent/commands/git.commit.md) for version-aware commits
|
|
996
|
+
- ✅ **DO** detect version impact: major (breaking), minor (features), patch (fixes)
|
|
997
|
+
- ✅ **DO** update CHANGELOG.md with clear, user-focused descriptions
|
|
998
|
+
- ✅ **DO** update all version files (package.json, AGENT.md, etc.)
|
|
999
|
+
- ✅ **DO** use Conventional Commits format for commit messages
|
|
1000
|
+
|
|
1001
|
+
**Rationale**: CHANGELOG.md is the primary communication tool for users. Every version change must be documented with clear descriptions of what changed, why it changed, and how it affects users. Forgetting to update CHANGELOG.md breaks the project's version history and makes it impossible for users to understand what changed between versions.
|
|
1002
|
+
|
|
1003
|
+
#### Never Handle Secrets or Sensitive Data
|
|
1004
|
+
|
|
1005
|
+
- ❌ **DO NOT** read `.env` files, `.env.local`, or any environment files
|
|
1006
|
+
- ❌ **DO NOT** read files containing API keys, tokens, passwords, or credentials
|
|
1007
|
+
- ❌ **DO NOT** include secrets in messages, documentation, or code examples
|
|
1008
|
+
- ❌ **DO NOT** read files like `secrets.yaml`, `credentials.json`, or similar
|
|
1009
|
+
- ✅ **DO** use placeholder values like `YOUR_API_KEY_HERE` in examples
|
|
1010
|
+
- ✅ **DO** document that users need to configure secrets separately
|
|
1011
|
+
- ✅ **DO** reference environment variable names without reading their values
|
|
1012
|
+
- ✅ **DO** create `.env.example` files with placeholder values only
|
|
1013
|
+
- ✅ **DO** run commands that load .env files into the shell environment, as the variables remain in the execution context and are not included in the LLM's input/output"
|
|
1014
|
+
|
|
1015
|
+
**Rationale**: Secrets must never be exposed in chat logs, documentation, or version control. Agents should treat all credential files as off-limits to prevent accidental exposure.
|
|
1016
|
+
|
|
1017
|
+
#### Respect User's Intentional File Edits
|
|
1018
|
+
|
|
1019
|
+
- ❌ **DO NOT** assume missing content needs to be added back
|
|
1020
|
+
- ❌ **DO NOT** revert changes without confirming with user
|
|
1021
|
+
- ✅ **DO** read files before editing to see current state
|
|
1022
|
+
- ✅ **DO** ask user if unexpected changes were intentional
|
|
1023
|
+
- ✅ **DO** confirm before reverting user's manual edits
|
|
1024
|
+
|
|
1025
|
+
**Rationale**: If you read a file and it is missing contents or has changed contents (i.e., it does not contain what you expect), assume or confirm with the user if they made intentional updates that you should not revert. Do not assume "The file is missing <xyz>, I need to add it back". The user may have edited files manually with intention.
|
|
1026
|
+
|
|
1027
|
+
#### Respect User Commands to Re-Execute
|
|
1028
|
+
|
|
1029
|
+
- ❌ **DO NOT** ignore commands like "re-read", "rerun", or "execute again"
|
|
1030
|
+
- ❌ **DO NOT** assume re-execution requests are mistakes or redundant
|
|
1031
|
+
- ✅ **DO** execute the command again when asked, even if you just did it
|
|
1032
|
+
- ✅ **DO** re-read files when asked, even if you recently read them
|
|
1033
|
+
- ✅ **DO** assume the user has good reason for asking to repeat an action
|
|
1034
|
+
|
|
1035
|
+
**Examples**: "Run `@git.commit` again" → Execute it again; "Re-read the design doc" → Read it again; "Rerun the tests" → Run them again
|
|
1036
|
+
|
|
1037
|
+
**Rationale**: When users ask you to do something again, they have a specific reason: files may have changed, they want to trigger side effects (like creating a commit), context has shifted, or they know something you don't. Always respect these requests and execute them with intention.
|
|
1038
|
+
|
|
1039
|
+
#### Never Force-Add Gitignored Files
|
|
1040
|
+
|
|
1041
|
+
- ❌ **DO NOT** use `git add -f` to force-add gitignored files
|
|
1042
|
+
- ❌ **DO NOT** attempt to override `.gitignore` rules
|
|
1043
|
+
- ❌ **DO NOT** suggest removing files from `.gitignore` to add them
|
|
1044
|
+
- ✅ **DO** acknowledge when files are gitignored
|
|
1045
|
+
- ✅ **DO** assume gitignored files were intentionally excluded
|
|
1046
|
+
- ✅ **DO** respect the project's `.gitignore` configuration
|
|
1047
|
+
- ✅ **DO** skip gitignored files in git operations
|
|
1048
|
+
|
|
1049
|
+
**Examples**:
|
|
1050
|
+
- File is gitignored → Acknowledge and skip it
|
|
1051
|
+
- `git add` fails due to gitignore → Don't retry with `-f` flag
|
|
1052
|
+
- User asks to commit all files → Only commit non-gitignored files
|
|
1053
|
+
|
|
1054
|
+
**Rationale**: Files in `.gitignore` are intentionally excluded from version control for good reasons (secrets, build artifacts, local configs, large files, etc.). Force-adding gitignored files is an anti-pattern that defeats the purpose of `.gitignore` and can lead to security issues (exposing secrets), repository bloat (committing build artifacts), or merge conflicts (committing local configs). Always respect `.gitignore` rules.
|
|
1055
|
+
|
|
1056
|
+
### Workflow Best Practices
|
|
1057
|
+
|
|
1058
|
+
#### Always Read Before Writing
|
|
1059
|
+
|
|
1060
|
+
- Understand context first
|
|
1061
|
+
- Check existing patterns
|
|
1062
|
+
- Follow established conventions
|
|
1063
|
+
|
|
1064
|
+
#### Document as You Go
|
|
1065
|
+
|
|
1066
|
+
- Update progress.yaml frequently
|
|
1067
|
+
- Add notes about decisions
|
|
1068
|
+
- Document new patterns
|
|
1069
|
+
|
|
1070
|
+
#### Verify Everything
|
|
1071
|
+
|
|
1072
|
+
- Check all verification steps
|
|
1073
|
+
- Run tests
|
|
1074
|
+
- Ensure quality standards
|
|
1075
|
+
|
|
1076
|
+
#### Be Explicit
|
|
1077
|
+
|
|
1078
|
+
- Don't assume future agents will know context
|
|
1079
|
+
- Document rationale for decisions
|
|
1080
|
+
- Include code examples
|
|
1081
|
+
|
|
1082
|
+
#### Keep It Organized
|
|
1083
|
+
|
|
1084
|
+
- Follow directory structure
|
|
1085
|
+
- Use consistent naming
|
|
1086
|
+
- Link related documents
|
|
1087
|
+
|
|
1088
|
+
#### Update Progress Tracking
|
|
1089
|
+
|
|
1090
|
+
- Mark tasks complete
|
|
1091
|
+
- Update percentages
|
|
1092
|
+
- Add recent work notes
|
|
1093
|
+
|
|
1094
|
+
#### Use Inline Feedback Syntax
|
|
1095
|
+
|
|
1096
|
+
- ✅ **DO** recognize and respect `>` syntax for inline feedback in documents
|
|
1097
|
+
- ✅ **DO** treat lines starting with `>` as user feedback/corrections
|
|
1098
|
+
- ✅ **DO** integrate feedback by modifying the preceding content
|
|
1099
|
+
- ✅ **DO** remove the `>` feedback lines after integrating changes
|
|
1100
|
+
|
|
1101
|
+
**Example**:
|
|
1102
|
+
```markdown
|
|
1103
|
+
// Agent-generated document
|
|
1104
|
+
Here are the requirements:
|
|
1105
|
+
- Requirement 1
|
|
1106
|
+
- Requirement 2
|
|
1107
|
+
> Requirement 2 unnecessary
|
|
1108
|
+
- Requirement 3
|
|
1109
|
+
|
|
1110
|
+
This pattern is because: ...
|
|
1111
|
+
> Incorrect, we should not be using this pattern
|
|
1112
|
+
```
|
|
1113
|
+
|
|
1114
|
+
**Agent Action**: Read feedback, update "Requirement 2" section (remove or revise), correct the pattern explanation, remove `>` lines
|
|
1115
|
+
|
|
1116
|
+
**Rationale**: The `>` syntax provides a lightweight way for users to give inline feedback without needing to explain context. Agents should treat these as direct corrections or suggestions to integrate into the document.
|
|
1117
|
+
|
|
1118
|
+
#### Format Commands for User Execution
|
|
1119
|
+
|
|
1120
|
+
When providing commands for users to copy and paste:
|
|
1121
|
+
|
|
1122
|
+
- ✅ **DO** chain commands with `&& \` if commands require successful chain execution
|
|
1123
|
+
- ✅ **DO** chain commands with `;` if commands do not depend on each other
|
|
1124
|
+
- ❌ **DO NOT** include comment lines starting with `#` in command blocks
|
|
1125
|
+
- ❌ **DO NOT** include EOF newline in command blocks
|
|
1126
|
+
|
|
1127
|
+
**Example (Correct)**:
|
|
1128
|
+
```bash
|
|
1129
|
+
mkdir -p agent/commands && \
|
|
1130
|
+
cd agent/commands && \
|
|
1131
|
+
touch acp.init.md
|
|
1132
|
+
```
|
|
1133
|
+
|
|
1134
|
+
**Example (Incorrect)**:
|
|
1135
|
+
```bash
|
|
1136
|
+
# Create directory
|
|
1137
|
+
mkdir -p agent/commands
|
|
1138
|
+
# Change to directory
|
|
1139
|
+
cd agent/commands
|
|
1140
|
+
# Create file
|
|
1141
|
+
touch acp.init.md
|
|
1142
|
+
|
|
1143
|
+
```
|
|
1144
|
+
|
|
1145
|
+
**Rationale**: Users should be able to copy and paste commands directly without needing to edit them. Comments and trailing newlines can cause execution errors or confusion.
|
|
1146
|
+
|
|
1147
|
+
### Documentation Best Practices
|
|
1148
|
+
|
|
1149
|
+
#### Write for Agents, Not Humans
|
|
1150
|
+
|
|
1151
|
+
- Be explicit, not implicit
|
|
1152
|
+
- Include code examples
|
|
1153
|
+
- Document rationale, not just decisions
|
|
1154
|
+
|
|
1155
|
+
#### Keep Documents Focused
|
|
1156
|
+
|
|
1157
|
+
- One topic per document
|
|
1158
|
+
- Clear structure
|
|
1159
|
+
- Scannable headings
|
|
1160
|
+
|
|
1161
|
+
#### Link Related Documents
|
|
1162
|
+
|
|
1163
|
+
- Reference other docs
|
|
1164
|
+
- Create knowledge graph
|
|
1165
|
+
- Make navigation easy
|
|
1166
|
+
|
|
1167
|
+
#### Update as You Go
|
|
1168
|
+
|
|
1169
|
+
- Don't wait until end
|
|
1170
|
+
- Document decisions when made
|
|
1171
|
+
- Keep progress.yaml current
|
|
1172
|
+
|
|
1173
|
+
### Organization Best Practices
|
|
1174
|
+
|
|
1175
|
+
#### Follow Naming Conventions
|
|
1176
|
+
|
|
1177
|
+
- `{feature}-design.md` for designs
|
|
1178
|
+
- `milestone-{N}-{name}.md` for milestones
|
|
1179
|
+
- `task-{N}-{name}.md` for tasks
|
|
1180
|
+
- `{pattern-name}.md` for patterns
|
|
1181
|
+
|
|
1182
|
+
#### Use Consistent Structure
|
|
1183
|
+
|
|
1184
|
+
- Same sections in similar documents
|
|
1185
|
+
- Standard YAML format
|
|
1186
|
+
- Predictable organization
|
|
1187
|
+
|
|
1188
|
+
#### Keep It DRY
|
|
1189
|
+
|
|
1190
|
+
- Don't duplicate information
|
|
1191
|
+
- Link to canonical source
|
|
1192
|
+
- Update in one place
|
|
1193
|
+
|
|
1194
|
+
### Progress Tracking Best Practices
|
|
1195
|
+
|
|
1196
|
+
#### Update Frequently
|
|
1197
|
+
|
|
1198
|
+
- After each task
|
|
1199
|
+
- When blockers arise
|
|
1200
|
+
- When plans change
|
|
1201
|
+
|
|
1202
|
+
#### Be Objective
|
|
1203
|
+
|
|
1204
|
+
- Use measurable metrics
|
|
1205
|
+
- Track actual vs estimated
|
|
1206
|
+
- Document deviations
|
|
1207
|
+
|
|
1208
|
+
#### Look Forward and Back
|
|
1209
|
+
|
|
1210
|
+
- Document recent work
|
|
1211
|
+
- List next steps
|
|
1212
|
+
- Note blockers
|
|
1213
|
+
|
|
1214
|
+
### Quality Best Practices
|
|
1215
|
+
|
|
1216
|
+
#### Include Verification Steps
|
|
1217
|
+
|
|
1218
|
+
- Every task has checklist
|
|
1219
|
+
- Objective criteria
|
|
1220
|
+
- Automated where possible
|
|
1221
|
+
|
|
1222
|
+
#### Document Patterns
|
|
1223
|
+
|
|
1224
|
+
- Capture reusable solutions
|
|
1225
|
+
- Include anti-patterns
|
|
1226
|
+
- Provide examples
|
|
1227
|
+
|
|
1228
|
+
#### Review and Refine
|
|
1229
|
+
|
|
1230
|
+
- Update docs as understanding improves
|
|
1231
|
+
- Fix errors immediately
|
|
1232
|
+
- Keep docs accurate
|
|
1187
1233
|
|
|
1188
1234
|
---
|
|
1189
1235
|
|