get-claudia 1.51.7 → 1.51.9
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/bin/index.js +45 -13
- package/package.json +1 -1
- package/template-v2/CLAUDE.md +9 -4
package/bin/index.js
CHANGED
|
@@ -469,8 +469,10 @@ async function main() {
|
|
|
469
469
|
console.log(` ${colors.green}✓${colors.reset} Framework updated (data preserved)`);
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
-
//
|
|
473
|
-
|
|
472
|
+
// Move legacy MCP servers (memory, Gmail, Calendar) to _disabled_mcpServers.
|
|
473
|
+
// Claude Code's native disable format: servers in _disabled_mcpServers are
|
|
474
|
+
// preserved but not launched. User can move them back to re-enable if needed.
|
|
475
|
+
disableLegacyMcpServers(targetPath);
|
|
474
476
|
|
|
475
477
|
// Write context/whats-new.md for Claudia's self-awareness (silent)
|
|
476
478
|
writeWhatsNewFile(targetPath, version);
|
|
@@ -876,11 +878,15 @@ async function main() {
|
|
|
876
878
|
}
|
|
877
879
|
|
|
878
880
|
/**
|
|
879
|
-
* Disable
|
|
880
|
-
*
|
|
881
|
-
*
|
|
881
|
+
* Disable legacy MCP servers in .mcp.json that have been replaced by native CLI commands.
|
|
882
|
+
* This runs on both fresh installs and upgrades.
|
|
883
|
+
*
|
|
884
|
+
* Replaced servers:
|
|
885
|
+
* - claudia-memory → `claudia memory` CLI (Node.js, direct SQLite)
|
|
886
|
+
* - gmail → `claudia gmail` CLI
|
|
887
|
+
* - google-calendar → `claudia calendar` CLI
|
|
882
888
|
*/
|
|
883
|
-
function
|
|
889
|
+
function disableLegacyMcpServers(targetPath) {
|
|
884
890
|
const mcpPath = join(targetPath, '.mcp.json');
|
|
885
891
|
if (!existsSync(mcpPath)) return;
|
|
886
892
|
|
|
@@ -889,20 +895,46 @@ function disableGoogleMcpServers(targetPath) {
|
|
|
889
895
|
const config = JSON.parse(raw);
|
|
890
896
|
if (!config.mcpServers) return;
|
|
891
897
|
|
|
892
|
-
|
|
893
|
-
|
|
898
|
+
// Map of MCP server keys to their CLI replacement description.
|
|
899
|
+
// These servers are superseded by native CLI commands and should not
|
|
900
|
+
// be launched by Claude Code. We MOVE them from mcpServers into the
|
|
901
|
+
// _disabled_mcpServers top-level key, which is Claude Code's native
|
|
902
|
+
// disable format (used by the /mcp toggle UI). This preserves the
|
|
903
|
+
// full config so the user can move it back to re-enable if needed.
|
|
904
|
+
const legacyServers = {
|
|
905
|
+
'claudia-memory': 'claudia memory CLI',
|
|
906
|
+
'claudia_memory': 'claudia memory CLI',
|
|
907
|
+
'gmail': 'claudia google login',
|
|
908
|
+
'google-calendar': 'claudia google login',
|
|
909
|
+
'google_calendar': 'claudia google login',
|
|
910
|
+
'googleCalendar': 'claudia google login',
|
|
911
|
+
};
|
|
894
912
|
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
913
|
+
let changed = false;
|
|
914
|
+
const disabled = [];
|
|
915
|
+
|
|
916
|
+
for (const [key, replacement] of Object.entries(legacyServers)) {
|
|
917
|
+
if (config.mcpServers[key]) {
|
|
918
|
+
// Ensure _disabled_mcpServers exists as a top-level sibling
|
|
919
|
+
if (!config._disabled_mcpServers) config._disabled_mcpServers = {};
|
|
920
|
+
|
|
921
|
+
// Preserve full server config, strip our old _disabled flag if present
|
|
922
|
+
const serverConfig = { ...config.mcpServers[key] };
|
|
923
|
+
delete serverConfig._disabled;
|
|
924
|
+
delete serverConfig._replaced_by;
|
|
925
|
+
serverConfig._replaced_by = replacement;
|
|
926
|
+
config._disabled_mcpServers[key] = serverConfig;
|
|
927
|
+
|
|
928
|
+
// Remove from active servers so Claude Code won't launch it
|
|
929
|
+
delete config.mcpServers[key];
|
|
899
930
|
changed = true;
|
|
931
|
+
disabled.push(key);
|
|
900
932
|
}
|
|
901
933
|
}
|
|
902
934
|
|
|
903
935
|
if (changed) {
|
|
904
936
|
writeFileSync(mcpPath, JSON.stringify(config, null, 2) + '\n');
|
|
905
|
-
console.log(` ${colors.yellow}→${colors.reset} Disabled
|
|
937
|
+
console.log(` ${colors.yellow}→${colors.reset} Disabled legacy MCP: ${disabled.join(', ')} (moved to _disabled_mcpServers)`);
|
|
906
938
|
}
|
|
907
939
|
} catch {
|
|
908
940
|
// Not valid JSON or can't read -- skip silently
|
package/package.json
CHANGED
package/template-v2/CLAUDE.md
CHANGED
|
@@ -214,17 +214,22 @@ What would you like to start with?
|
|
|
214
214
|
|
|
215
215
|
### 2. Relationships as Context
|
|
216
216
|
|
|
217
|
-
People are my primary organizing unit. When someone is mentioned
|
|
217
|
+
People are my primary organizing unit. **When someone is mentioned, by name OR by relationship ("my wife", "my boss", "my client Sarah", "the investor"), I ALWAYS query memory first before asking the user.** I never ask for information I might already know.
|
|
218
218
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
219
|
+
Lookup order:
|
|
220
|
+
1. `claudia memory recall "<name or relationship>" --project-dir "$PWD"` to resolve who they mean
|
|
221
|
+
2. `claudia memory about "<entity name>" --project-dir "$PWD"` for full context (email, role, history)
|
|
222
|
+
3. Check `people/[name].md` for additional context
|
|
223
|
+
4. Only ask the user if memory returns nothing
|
|
224
|
+
|
|
225
|
+
**The rule: search before asking.** If someone says "email my wife," I look up who their wife is and her email address. I don't ask "What's your wife's email?" when I might already have it.
|
|
222
226
|
|
|
223
227
|
What I track about people:
|
|
224
228
|
- Communication preferences and style
|
|
225
229
|
- What matters to them
|
|
226
230
|
- Your history with them
|
|
227
231
|
- Current context (projects, concerns, opportunities)
|
|
232
|
+
- Contact details (email, phone, handles)
|
|
228
233
|
- Notes from past interactions
|
|
229
234
|
|
|
230
235
|
### 3. Commitment Tracking
|