@dollhousemcp/mcp-server 2.0.3 → 2.0.4
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/CHANGELOG.md +9 -0
- package/dist/generated/version.d.ts +2 -2
- package/dist/generated/version.js +3 -3
- package/dist/seed-elements/memories/dollhousemcp-baseline-knowledge.yaml +149 -0
- package/dist/seed-elements/memories/how-to-create-custom-auto-load-memories.yaml +455 -0
- package/dist/seed-elements/memories/priority-best-practices-for-teams.yaml +542 -0
- package/dist/seed-elements/memories/token-estimation-guidelines.yaml +602 -0
- package/dist/web/public/fonts/ibmplexmono--F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F63fjptAgt5VM-kVkqdyU8n1iAq131nj-otFQ.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F63fjptAgt5VM-kVkqdyU8n1iEq131nj-otFQ.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F63fjptAgt5VM-kVkqdyU8n1iIq131nj-otFQ.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F63fjptAgt5VM-kVkqdyU8n1isq131nj-otFQ.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgsAXHNlYzg.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgsAXHNlYzg.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgsAXHNlYzg.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgsAXHNk.woff2 +0 -0
- package/dist/web/public/fonts/ibmplexmono--F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgsAXHNlYzg.woff2 +0 -0
- package/dist/web/public/fonts/manrope-xn7gYHE41ni1AdIRggOxSvfedN62Zw.woff2 +0 -0
- package/dist/web/public/fonts/manrope-xn7gYHE41ni1AdIRggSxSvfedN62Zw.woff2 +0 -0
- package/dist/web/public/fonts/manrope-xn7gYHE41ni1AdIRggexSvfedN4.woff2 +0 -0
- package/dist/web/public/fonts/manrope-xn7gYHE41ni1AdIRggixSvfedN62Zw.woff2 +0 -0
- package/dist/web/public/fonts/manrope-xn7gYHE41ni1AdIRggmxSvfedN62Zw.woff2 +0 -0
- package/dist/web/public/fonts/manrope-xn7gYHE41ni1AdIRggqxSvfedN62Zw.woff2 +0 -0
- package/dist/web/public/fonts/plusjakartasans-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yygg_vb.woff2 +0 -0
- package/dist/web/public/fonts/plusjakartasans-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yygg_vbd-E.woff2 +0 -0
- package/dist/web/public/fonts/plusjakartasans-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yygg_vbd-E.woff2 +0 -0
- package/dist/web/public/fonts/plusjakartasans-LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yygg_vbd-E.woff2 +0 -0
- package/dist/web/public/fonts.css +270 -0
- package/dist/web/public/index.html +365 -0
- package/dist/web/public/logs.css +472 -0
- package/dist/web/public/metrics.css +238 -0
- package/dist/web/public/permissions.css +364 -0
- package/dist/web/public/sessions.css +235 -0
- package/dist/web/public/setup.css +648 -0
- package/dist/web/public/styles.css +1717 -0
- package/package.json +3 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.4] - 2026-04-02
|
|
4
|
+
|
|
5
|
+
### Hotfix: npm package missing web assets
|
|
6
|
+
|
|
7
|
+
- **Fix**: `package.json` `files` field now includes `dist/web/public/**` and `dist/seed-elements/**`
|
|
8
|
+
- v2.0.3 was missing `.html`, `.css`, and font files from the web console, causing `--web` mode to crash with `NotFoundError`
|
|
9
|
+
- Also missing seed element `.yaml` files, causing seed memory installation to fail
|
|
10
|
+
- Added package inclusion tests to prevent regression
|
|
11
|
+
|
|
3
12
|
## [2.0.3] - 2026-04-02
|
|
4
13
|
|
|
5
14
|
### Setup Tab — Interactive Installer
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Auto-generated file - DO NOT EDIT
|
|
3
3
|
* Generated at build time by scripts/generate-version.js
|
|
4
4
|
*/
|
|
5
|
-
export declare const PACKAGE_VERSION = "2.0.
|
|
6
|
-
export declare const BUILD_TIMESTAMP = "2026-04-02T18:
|
|
5
|
+
export declare const PACKAGE_VERSION = "2.0.4";
|
|
6
|
+
export declare const BUILD_TIMESTAMP = "2026-04-02T18:33:53.805Z";
|
|
7
7
|
export declare const BUILD_TYPE: 'npm' | 'git';
|
|
8
8
|
export declare const PACKAGE_NAME = "@dollhousemcp/mcp-server";
|
|
9
9
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Auto-generated file - DO NOT EDIT
|
|
3
3
|
* Generated at build time by scripts/generate-version.js
|
|
4
4
|
*/
|
|
5
|
-
export const PACKAGE_VERSION = '2.0.
|
|
6
|
-
export const BUILD_TIMESTAMP = '2026-04-02T18:
|
|
5
|
+
export const PACKAGE_VERSION = '2.0.4';
|
|
6
|
+
export const BUILD_TIMESTAMP = '2026-04-02T18:33:53.805Z';
|
|
7
7
|
export const BUILD_TYPE = 'npm';
|
|
8
8
|
export const PACKAGE_NAME = '@dollhousemcp/mcp-server';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW5lcmF0ZWQvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQWtCLEtBQUssQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dG8tZ2VuZXJhdGVkIGZpbGUgLSBETyBOT1QgRURJVFxuICogR2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUgYnkgc2NyaXB0cy9nZW5lcmF0ZS12ZXJzaW9uLmpzXG4gKi9cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9ICcyLjAuNCc7XG5leHBvcnQgY29uc3QgQlVJTERfVElNRVNUQU1QID0gJzIwMjYtMDQtMDJUMTg6MzM6NTMuODA1Wic7XG5leHBvcnQgY29uc3QgQlVJTERfVFlQRTogJ25wbScgfCAnZ2l0JyA9ICducG0nO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfTkFNRSA9ICdAZG9sbGhvdXNlbWNwL21jcC1zZXJ2ZXInO1xuIl19
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dollhousemcp-baseline-knowledge
|
|
3
|
+
type: memory
|
|
4
|
+
description: Baseline knowledge about DollhouseMCP capabilities and features - automatically loaded on server startup
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
author: DollhouseMCP
|
|
7
|
+
category: system
|
|
8
|
+
tags:
|
|
9
|
+
- dollhousemcp
|
|
10
|
+
- baseline-knowledge
|
|
11
|
+
- capabilities
|
|
12
|
+
- system
|
|
13
|
+
- auto-load
|
|
14
|
+
triggers:
|
|
15
|
+
- what-is-dollhouse
|
|
16
|
+
- what-can-dollhouse-do
|
|
17
|
+
- dollhouse-capabilities
|
|
18
|
+
- dollhouse-features
|
|
19
|
+
- tell-me-about-dollhouse
|
|
20
|
+
- explain-dollhouse
|
|
21
|
+
- dollhouse-overview
|
|
22
|
+
- dollhouse-help
|
|
23
|
+
autoLoad: true
|
|
24
|
+
priority: 1
|
|
25
|
+
retention: permanent
|
|
26
|
+
privacyLevel: public
|
|
27
|
+
searchable: true
|
|
28
|
+
trustLevel: VALIDATED
|
|
29
|
+
memoryType: system
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
# DollhouseMCP - Baseline Knowledge
|
|
33
|
+
|
|
34
|
+
## What Is DollhouseMCP?
|
|
35
|
+
|
|
36
|
+
**DollhouseMCP** is an MCP server providing **AI customization through modular, reusable elements**. It solves: AI forgets context, quality is inconsistent, configurations can't be shared, and there's no version control.
|
|
37
|
+
|
|
38
|
+
**Current Version**: v1.9.26
|
|
39
|
+
**Collection**: 76+ community elements (169+ pending)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Core Capabilities
|
|
44
|
+
|
|
45
|
+
### 1. Persistent Memory
|
|
46
|
+
AI remembers context **forever** across sessions
|
|
47
|
+
- Project details, decisions, preferences
|
|
48
|
+
- Searchable, structured storage
|
|
49
|
+
- Never re-explain context
|
|
50
|
+
|
|
51
|
+
### 2. Instant Expertise
|
|
52
|
+
Activate expert personas immediately
|
|
53
|
+
- "Creative Writer", "Debug Detective", "Senior Security Analyst"
|
|
54
|
+
- Consistent quality every session
|
|
55
|
+
- Domain-specific knowledge on demand
|
|
56
|
+
|
|
57
|
+
### 3. Version Control for AI
|
|
58
|
+
Git-based tracking for all configurations
|
|
59
|
+
- Full change history
|
|
60
|
+
- Rollback capabilities
|
|
61
|
+
- Team collaboration
|
|
62
|
+
|
|
63
|
+
### 4. Community Ecosystem
|
|
64
|
+
Three-tier portfolio: Local → GitHub → Collection
|
|
65
|
+
- Discover & install 169+ elements
|
|
66
|
+
- Customize for your needs
|
|
67
|
+
- Share improvements back
|
|
68
|
+
|
|
69
|
+
### 5. Cross-Platform Portability
|
|
70
|
+
Works on ANY MCP-compatible platform
|
|
71
|
+
- Claude Desktop, Claude Code, VS Code
|
|
72
|
+
- Memories work everywhere
|
|
73
|
+
- Platform-agnostic knowledge
|
|
74
|
+
|
|
75
|
+
### 6. MCP Orchestration
|
|
76
|
+
Expert layer for OTHER MCP servers
|
|
77
|
+
- Personas expert at Obsidian, SonarCloud, etc.
|
|
78
|
+
- Unified workflows across tools
|
|
79
|
+
|
|
80
|
+
### 7. Self-Improving System
|
|
81
|
+
Meta review layer evaluates and improves elements
|
|
82
|
+
- Learns from real usage
|
|
83
|
+
- Real-time adaptation
|
|
84
|
+
- Long-term evolution
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Six Element Types
|
|
89
|
+
|
|
90
|
+
**PERSONAS** - Define HOW AI behaves (expertise, style, methodology)
|
|
91
|
+
**SKILLS** - Define WHAT AI can do (capabilities, parameters)
|
|
92
|
+
**TEMPLATES** - Define structured outputs (formats, variables)
|
|
93
|
+
**AGENTS** - Autonomous actors (goals, state, decision-making)
|
|
94
|
+
**MEMORIES** - Persistent context (forever storage, searchable)
|
|
95
|
+
**ENSEMBLES** - Orchestrated combinations (multiple elements working together)
|
|
96
|
+
|
|
97
|
+
**Key**: They ALL work together. Not isolated tools - integrated system.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Problems Solved
|
|
102
|
+
|
|
103
|
+
✅ Cross-Session Amnesia - AI forgets everything each session
|
|
104
|
+
✅ Inconsistent Quality - Generic AI varies wildly
|
|
105
|
+
✅ No Sharing - Can't share configurations
|
|
106
|
+
✅ No Version Control - No tracking, rollback, or collaboration
|
|
107
|
+
✅ Platform Lock-in - Configurations trapped per platform
|
|
108
|
+
✅ Tool Isolation - Multiple MCP servers work in isolation
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Quick Start
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Browse collection
|
|
116
|
+
browse_collection type="personas"
|
|
117
|
+
|
|
118
|
+
# Install element
|
|
119
|
+
install_collection_content "library/personas/creative-writer.md"
|
|
120
|
+
|
|
121
|
+
# Activate
|
|
122
|
+
activate_element type="personas" name="creative-writer"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Available Tools (41 MCP Tools)
|
|
128
|
+
|
|
129
|
+
- **8** Element management (create, edit, activate, validate)
|
|
130
|
+
- **12** Portfolio (sync GitHub, search, upload/download)
|
|
131
|
+
- **8** Collection (browse, search, install, submit)
|
|
132
|
+
- **13+** Auth/config (GitHub, relationships, diagnostics)
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Additional Resources
|
|
137
|
+
|
|
138
|
+
The following detailed memories MAY be available in your portfolio for deeper understanding:
|
|
139
|
+
- **Core Concepts**: Search for "dollhousemcp-core-concepts"
|
|
140
|
+
- **Element Types**: Search for "dollhousemcp-element-types-detailed"
|
|
141
|
+
- **Architecture**: Search for "dollhousemcp-architecture-and-technical-implementation"
|
|
142
|
+
- **Workflows**: Search for "dollhousemcp-workflows-and-use-cases-comprehensive"
|
|
143
|
+
- **Platform Support**: Search for "dollhousemcp-platform-capabilities-and-limitations"
|
|
144
|
+
|
|
145
|
+
If these memories don't exist, refer to documentation at: https://github.com/DollhouseMCP/mcp-server
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
**DollhouseMCP is infrastructure for AI customization - like GitHub for code, but for AI personalities, capabilities, and persistent knowledge.**
|
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: how-to-create-custom-auto-load-memories
|
|
3
|
+
type: memory
|
|
4
|
+
description: Complete guide for creating custom auto-load memories - step-by-step instructions and examples
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
author: DollhouseMCP
|
|
7
|
+
category: documentation
|
|
8
|
+
tags:
|
|
9
|
+
- auto-load
|
|
10
|
+
- guide
|
|
11
|
+
- tutorial
|
|
12
|
+
- memory-creation
|
|
13
|
+
- documentation
|
|
14
|
+
triggers:
|
|
15
|
+
- how-to-auto-load
|
|
16
|
+
- create-auto-load-memory
|
|
17
|
+
- auto-load-guide
|
|
18
|
+
- auto-load-tutorial
|
|
19
|
+
- custom-auto-load
|
|
20
|
+
autoLoad: false
|
|
21
|
+
priority: 999
|
|
22
|
+
retention: permanent
|
|
23
|
+
privacyLevel: public
|
|
24
|
+
searchable: true
|
|
25
|
+
trustLevel: VALIDATED
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# How to Create Custom Auto-Load Memories
|
|
29
|
+
|
|
30
|
+
## Overview
|
|
31
|
+
|
|
32
|
+
Auto-load memories are automatically loaded when DollhouseMCP starts, providing instant context without searching. Perfect for baseline knowledge, project context, team standards, and frequently-needed information.
|
|
33
|
+
|
|
34
|
+
## Quick Start
|
|
35
|
+
|
|
36
|
+
### 1. Create or Modify a Memory
|
|
37
|
+
|
|
38
|
+
Any memory can be marked for auto-load by adding two metadata fields:
|
|
39
|
+
|
|
40
|
+
```yaml
|
|
41
|
+
---
|
|
42
|
+
name: my-custom-memory
|
|
43
|
+
type: memory
|
|
44
|
+
description: My project context
|
|
45
|
+
autoLoad: true # ← Enable auto-load
|
|
46
|
+
priority: 10 # ← Load order (lower = first)
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
# Your content here
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 2. Configure Auto-Load Settings (Optional)
|
|
53
|
+
|
|
54
|
+
Edit `~/.dollhouse/config.yaml`:
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
autoLoad:
|
|
58
|
+
enabled: true # Global on/off
|
|
59
|
+
maxTokenBudget: 5000 # Total token limit
|
|
60
|
+
maxSingleMemoryTokens: 2000 # Per-memory limit (optional)
|
|
61
|
+
suppressLargeMemoryWarnings: false
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 3. Restart DollhouseMCP
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# Restart your MCP client (Claude Desktop, Claude Code, etc.)
|
|
68
|
+
# Auto-load memories will be loaded automatically
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Step-by-Step Guide
|
|
72
|
+
|
|
73
|
+
### Step 1: Decide What to Auto-Load
|
|
74
|
+
|
|
75
|
+
**Good Candidates**:
|
|
76
|
+
- Project overview and architecture
|
|
77
|
+
- Team coding standards
|
|
78
|
+
- Frequently-referenced specifications
|
|
79
|
+
- Domain knowledge (medical terms, legal concepts)
|
|
80
|
+
- API reference sheets
|
|
81
|
+
- Personal preferences and workflows
|
|
82
|
+
|
|
83
|
+
**Poor Candidates**:
|
|
84
|
+
- Large datasets (>10,000 tokens)
|
|
85
|
+
- Sensitive information (credentials, PII)
|
|
86
|
+
- Frequently changing content
|
|
87
|
+
- Temporary notes
|
|
88
|
+
|
|
89
|
+
### Step 2: Create the Memory
|
|
90
|
+
|
|
91
|
+
#### Using MCP Tools:
|
|
92
|
+
|
|
93
|
+
```javascript
|
|
94
|
+
// In Claude Code or compatible MCP client
|
|
95
|
+
create_element({
|
|
96
|
+
type: "memories",
|
|
97
|
+
name: "my-project-context",
|
|
98
|
+
description: "Core project information for AI context",
|
|
99
|
+
content: "# Project: MyApp\n\n## Architecture\n...",
|
|
100
|
+
metadata: {
|
|
101
|
+
autoLoad: true,
|
|
102
|
+
priority: 5
|
|
103
|
+
}
|
|
104
|
+
})
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
#### Using CLI:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
dollhouse create memory my-project-context \
|
|
111
|
+
--autoLoad true \
|
|
112
|
+
--priority 5 \
|
|
113
|
+
--content "# Project: MyApp..."
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### Manual YAML:
|
|
117
|
+
|
|
118
|
+
Create `~/.dollhouse/portfolio/memories/my-project-context.yaml`:
|
|
119
|
+
|
|
120
|
+
```yaml
|
|
121
|
+
---
|
|
122
|
+
name: my-project-context
|
|
123
|
+
type: memory
|
|
124
|
+
description: Core project information
|
|
125
|
+
autoLoad: true
|
|
126
|
+
priority: 5
|
|
127
|
+
retention: permanent
|
|
128
|
+
privacyLevel: private
|
|
129
|
+
searchable: true
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
# Project: MyApp
|
|
133
|
+
|
|
134
|
+
## Architecture
|
|
135
|
+
- Frontend: React + TypeScript
|
|
136
|
+
- Backend: Node.js + Express
|
|
137
|
+
- Database: PostgreSQL
|
|
138
|
+
|
|
139
|
+
## Key Decisions
|
|
140
|
+
- Using REST API (not GraphQL) for simplicity
|
|
141
|
+
- Tailwind CSS for styling
|
|
142
|
+
- Jest for testing
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Step 3: Set Priority
|
|
146
|
+
|
|
147
|
+
Priority determines load order (lower number = loads first):
|
|
148
|
+
|
|
149
|
+
- **1-10**: System/baseline knowledge (reserved for DollhouseMCP)
|
|
150
|
+
- **11-50**: Critical project context (load first)
|
|
151
|
+
- **51-100**: Important reference material
|
|
152
|
+
- **101-500**: Nice-to-have context
|
|
153
|
+
- **501+**: Lowest priority
|
|
154
|
+
|
|
155
|
+
Example priority scheme:
|
|
156
|
+
```yaml
|
|
157
|
+
# Priority 1: DollhouseMCP baseline (system)
|
|
158
|
+
name: dollhousemcp-baseline-knowledge
|
|
159
|
+
priority: 1
|
|
160
|
+
|
|
161
|
+
# Priority 20: Your project overview
|
|
162
|
+
name: project-overview
|
|
163
|
+
priority: 20
|
|
164
|
+
|
|
165
|
+
# Priority 30: Team coding standards
|
|
166
|
+
name: coding-standards
|
|
167
|
+
priority: 30
|
|
168
|
+
|
|
169
|
+
# Priority 50: API reference
|
|
170
|
+
name: api-reference
|
|
171
|
+
priority: 50
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Step 4: Optimize Token Usage
|
|
175
|
+
|
|
176
|
+
Check token estimate:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
dollhouse validate memory my-project-context
|
|
180
|
+
# Output includes: "Estimated tokens: 1,234"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Token Guidelines**:
|
|
184
|
+
- **Small** (0-1,000): Ideal for auto-load
|
|
185
|
+
- **Medium** (1,000-5,000): Good, stays under default budget
|
|
186
|
+
- **Large** (5,000-10,000): Consider splitting or increasing budget
|
|
187
|
+
- **Very Large** (10,000+): Not recommended for auto-load
|
|
188
|
+
|
|
189
|
+
Reduce token count:
|
|
190
|
+
- Remove verbose examples
|
|
191
|
+
- Use bullet points instead of paragraphs
|
|
192
|
+
- Link to external docs instead of embedding
|
|
193
|
+
- Split into multiple focused memories
|
|
194
|
+
|
|
195
|
+
### Step 5: Test Your Memory
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
# Check if memory will auto-load
|
|
199
|
+
dollhouse config show autoLoad
|
|
200
|
+
|
|
201
|
+
# Validate memory syntax
|
|
202
|
+
dollhouse validate memory my-project-context
|
|
203
|
+
|
|
204
|
+
# See auto-load order
|
|
205
|
+
dollhouse list memories --filter autoLoad=true --sort priority
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## Advanced Configuration
|
|
209
|
+
|
|
210
|
+
### Explicit Memory List
|
|
211
|
+
|
|
212
|
+
Override metadata-driven auto-load with explicit list:
|
|
213
|
+
|
|
214
|
+
```yaml
|
|
215
|
+
# ~/.dollhouse/config.yaml
|
|
216
|
+
autoLoad:
|
|
217
|
+
enabled: true
|
|
218
|
+
memories:
|
|
219
|
+
- dollhousemcp-baseline-knowledge
|
|
220
|
+
- my-project-context
|
|
221
|
+
- coding-standards
|
|
222
|
+
# Only these memories will auto-load
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### Conditional Auto-Load
|
|
226
|
+
|
|
227
|
+
Use environment variables to control auto-load:
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Disable all auto-load temporarily
|
|
231
|
+
export DOLLHOUSE_DISABLE_AUTOLOAD=true
|
|
232
|
+
|
|
233
|
+
# Normal auto-load behavior
|
|
234
|
+
unset DOLLHOUSE_DISABLE_AUTOLOAD
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Per-Project Configuration
|
|
238
|
+
|
|
239
|
+
Create project-specific config:
|
|
240
|
+
|
|
241
|
+
```yaml
|
|
242
|
+
# /project/.dollhouserc.yaml
|
|
243
|
+
autoLoad:
|
|
244
|
+
maxTokenBudget: 10000 # Higher budget for this project
|
|
245
|
+
memories:
|
|
246
|
+
- project-overview
|
|
247
|
+
- local-dev-setup
|
|
248
|
+
# Project-specific memories only
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
## Common Patterns
|
|
252
|
+
|
|
253
|
+
### Pattern 1: Layered Context
|
|
254
|
+
|
|
255
|
+
Load knowledge in layers (general → specific):
|
|
256
|
+
|
|
257
|
+
```yaml
|
|
258
|
+
# Priority 10: Company-wide standards
|
|
259
|
+
name: company-coding-standards
|
|
260
|
+
priority: 10
|
|
261
|
+
|
|
262
|
+
# Priority 20: Team standards
|
|
263
|
+
name: team-backend-patterns
|
|
264
|
+
priority: 20
|
|
265
|
+
|
|
266
|
+
# Priority 30: Project-specific context
|
|
267
|
+
name: myapp-architecture
|
|
268
|
+
priority: 30
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Pattern 2: Role-Based Context
|
|
272
|
+
|
|
273
|
+
Different memories for different roles:
|
|
274
|
+
|
|
275
|
+
```yaml
|
|
276
|
+
# For backend developers
|
|
277
|
+
name: backend-context
|
|
278
|
+
autoLoad: true
|
|
279
|
+
tags: [backend, api, database]
|
|
280
|
+
|
|
281
|
+
# For frontend developers
|
|
282
|
+
name: frontend-context
|
|
283
|
+
autoLoad: true
|
|
284
|
+
tags: [frontend, ui, components]
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Pattern 3: Onboarding Kit
|
|
288
|
+
|
|
289
|
+
New team member baseline:
|
|
290
|
+
|
|
291
|
+
```yaml
|
|
292
|
+
name: team-onboarding
|
|
293
|
+
priority: 5
|
|
294
|
+
description: Everything new engineers need to know
|
|
295
|
+
content: |
|
|
296
|
+
# Welcome to Team Atlas!
|
|
297
|
+
|
|
298
|
+
## First Week Checklist
|
|
299
|
+
- [ ] Read architecture docs
|
|
300
|
+
- [ ] Set up dev environment
|
|
301
|
+
- [ ] Deploy your first PR
|
|
302
|
+
|
|
303
|
+
## Key Resources
|
|
304
|
+
- Slack: #team-atlas
|
|
305
|
+
- Docs: docs.company.com/atlas
|
|
306
|
+
- CI/CD: Jenkins (jenkins.company.com)
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
## Troubleshooting
|
|
310
|
+
|
|
311
|
+
### Memory Not Loading
|
|
312
|
+
|
|
313
|
+
1. Check metadata:
|
|
314
|
+
```yaml
|
|
315
|
+
autoLoad: true # Must be boolean, not string
|
|
316
|
+
priority: 10 # Must be number, not string
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
2. Verify config:
|
|
320
|
+
```bash
|
|
321
|
+
dollhouse config show autoLoad.enabled
|
|
322
|
+
# Should output: true
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
3. Check startup logs:
|
|
326
|
+
```bash
|
|
327
|
+
# Look for: "[ServerStartup] Auto-load complete: X memories loaded"
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Budget Exceeded
|
|
331
|
+
|
|
332
|
+
If memories are skipped due to budget:
|
|
333
|
+
|
|
334
|
+
```yaml
|
|
335
|
+
# Increase budget
|
|
336
|
+
autoLoad:
|
|
337
|
+
maxTokenBudget: 10000 # Default: 5000
|
|
338
|
+
|
|
339
|
+
# Or prioritize critical memories (lower priority = loads first)
|
|
340
|
+
# Or split large memories into smaller focused ones
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Memory Too Large
|
|
344
|
+
|
|
345
|
+
Warning: "Memory 'xyz' is very large (~12,000 tokens)"
|
|
346
|
+
|
|
347
|
+
Solutions:
|
|
348
|
+
1. Split into multiple memories
|
|
349
|
+
2. Remove verbose sections
|
|
350
|
+
3. Increase single memory limit:
|
|
351
|
+
```yaml
|
|
352
|
+
autoLoad:
|
|
353
|
+
maxSingleMemoryTokens: 15000
|
|
354
|
+
```
|
|
355
|
+
4. Suppress warnings (not recommended):
|
|
356
|
+
```yaml
|
|
357
|
+
autoLoad:
|
|
358
|
+
suppressLargeMemoryWarnings: true
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
## Examples
|
|
362
|
+
|
|
363
|
+
### Example 1: Project Context
|
|
364
|
+
|
|
365
|
+
```yaml
|
|
366
|
+
---
|
|
367
|
+
name: webapp-project-context
|
|
368
|
+
autoLoad: true
|
|
369
|
+
priority: 20
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
# WebApp Project Context
|
|
373
|
+
|
|
374
|
+
**Stack**: React + Node.js + PostgreSQL
|
|
375
|
+
**Deployment**: AWS (ECS + RDS)
|
|
376
|
+
**CI/CD**: GitHub Actions
|
|
377
|
+
|
|
378
|
+
## Active Sprints
|
|
379
|
+
- Sprint 42: User authentication (ends Oct 15)
|
|
380
|
+
- Tech debt: Migrate to TypeScript (Q4 2025)
|
|
381
|
+
|
|
382
|
+
## Key Contacts
|
|
383
|
+
- PM: Jane (@jane)
|
|
384
|
+
- Tech Lead: Bob (@bob)
|
|
385
|
+
- DevOps: Alice (@alice)
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
### Example 2: API Reference
|
|
389
|
+
|
|
390
|
+
```yaml
|
|
391
|
+
---
|
|
392
|
+
name: internal-api-reference
|
|
393
|
+
autoLoad: true
|
|
394
|
+
priority: 50
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
# Internal API Reference
|
|
398
|
+
|
|
399
|
+
## User Service
|
|
400
|
+
- `GET /api/users/:id` - Get user by ID
|
|
401
|
+
- `POST /api/users` - Create user
|
|
402
|
+
- `PUT /api/users/:id` - Update user
|
|
403
|
+
|
|
404
|
+
## Auth
|
|
405
|
+
- Header: `Authorization: Bearer <token>`
|
|
406
|
+
- Token expires: 24 hours
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
### Example 3: Coding Standards
|
|
410
|
+
|
|
411
|
+
```yaml
|
|
412
|
+
---
|
|
413
|
+
name: team-coding-standards
|
|
414
|
+
autoLoad: true
|
|
415
|
+
priority: 30
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
# Team Coding Standards
|
|
419
|
+
|
|
420
|
+
## TypeScript
|
|
421
|
+
- Use strict mode
|
|
422
|
+
- No `any` types
|
|
423
|
+
- Prefer interfaces over types
|
|
424
|
+
|
|
425
|
+
## Testing
|
|
426
|
+
- Coverage: >80% required
|
|
427
|
+
- Unit tests: Jest
|
|
428
|
+
- E2E tests: Playwright
|
|
429
|
+
|
|
430
|
+
## PR Process
|
|
431
|
+
1. Create feature branch
|
|
432
|
+
2. Write tests first
|
|
433
|
+
3. Get 2 approvals
|
|
434
|
+
4. Squash merge to main
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
## Best Practices
|
|
438
|
+
|
|
439
|
+
1. **Start Small**: Begin with 1-2 auto-load memories, expand as needed
|
|
440
|
+
2. **Review Regularly**: Update memories quarterly, remove stale content
|
|
441
|
+
3. **Monitor Token Usage**: Check startup logs for token counts
|
|
442
|
+
4. **Use Priorities Wisely**: Reserve low priorities for critical content
|
|
443
|
+
5. **Document Changes**: Add version history to memory content
|
|
444
|
+
6. **Test Before Committing**: Validate memories before pushing to team
|
|
445
|
+
7. **Share Configurations**: Commit `.dollhouserc.yaml` to project repos
|
|
446
|
+
|
|
447
|
+
## Related Documentation
|
|
448
|
+
|
|
449
|
+
- [Priority Best Practices for Teams](./priority-best-practices-for-teams.yaml)
|
|
450
|
+
- [Token Estimation Guidelines](./token-estimation-guidelines.yaml)
|
|
451
|
+
- [DollhouseMCP Baseline Knowledge](./dollhousemcp-baseline-knowledge.yaml)
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
**Last Updated**: v1.9.25 (October 2025)
|