MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / install_claude_code_config

Function install_claude_code_config

src/cli/cli.c:7568–7737  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7566 const char *legacy_verify_content, bool dry_run);
7567
7568static void install_claude_code_config(const char *home, const char *binary_path, bool force,
7569 bool dry_run) {
7570 char config_dir[CLI_BUF_1K];
7571 cbm_claude_config_dir(home, config_dir, sizeof(config_dir));
7572 char user_root[CLI_BUF_1K];
7573 cbm_claude_user_root(home, user_root, sizeof(user_root));
7574
7575 char skills_dir[CLI_BUF_1K];
7576 char agent_path[CLI_BUF_1K];
7577 snprintf(skills_dir, sizeof(skills_dir), "%s/skills", config_dir);
7578 snprintf(agent_path, sizeof(agent_path), "%s/agents/codebase-memory.md", config_dir);
7579
7580 /* Plan mode: record the planned writes and return without mutating (#388). */
7581 if (g_install_plan) {
7582 char p[CLI_BUF_1K];
7583 snprintf(p, sizeof(p), "%s/codebase-memory/SKILL.md", skills_dir);
7584 plan_record("Claude Code", "skill", p);
7585 install_tiered_agent_profiles(
7586 (cbm_tiered_profile_set_t){
7587 .label = "Claude Code",
7588 .verify_path = agent_path,
7589 .binary_path = binary_path,
7590 .legacy_verify_content = legacy_claude_verify_agent_content,
7591 .dialect = CBM_GRAPH_DIALECT_CLAUDE,
7592 },
7593 dry_run);
7594 snprintf(p, sizeof(p), "%s/.claude.json", user_root);
7595 plan_record("Claude Code", "mcp_config", p);
7596 snprintf(p, sizeof(p), "%s/settings.json", config_dir);
7597 plan_record("Claude Code", "hook", p);
7598 snprintf(p, sizeof(p), "%s/hooks/%s", config_dir, CMM_HOOK_GATE_SCRIPT);
7599 plan_record("Claude Code", "hook", p);
7600 snprintf(p, sizeof(p), "%s/hooks/%s", config_dir, CMM_SESSION_REMINDER_SCRIPT);
7601 plan_record("Claude Code", "hook", p);
7602 snprintf(p, sizeof(p), "%s/hooks/%s", config_dir, CMM_SUBAGENT_REMINDER_SCRIPT);
7603 plan_record("Claude Code", "hook", p);
7604 return;
7605 }
7606
7607 printf("Claude Code:\n");
7608
7609 int skill_count = cbm_install_skills(skills_dir, force, dry_run);
7610 printf(" skills: %d installed\n", skill_count);
7611 install_tiered_agent_profiles(
7612 (cbm_tiered_profile_set_t){
7613 .label = "Claude Code",
7614 .verify_path = agent_path,
7615 .binary_path = binary_path,
7616 .legacy_verify_content = legacy_claude_verify_agent_content,
7617 .dialect = CBM_GRAPH_DIALECT_CLAUDE,
7618 },
7619 dry_run);
7620
7621 if (cbm_remove_old_monolithic_skill(skills_dir, dry_run)) {
7622 printf(" removed old monolithic skill\n");
7623 }
7624
7625 /* ~/.claude/.mcp.json is not a documented Claude Code MCP location.

Callers 1

Calls 15

cbm_claude_config_dirFunction · 0.85
cbm_claude_user_rootFunction · 0.85
plan_recordFunction · 0.85
cbm_install_skillsFunction · 0.85
cbm_file_existsFunction · 0.85
prepare_config_parentFunction · 0.85
cbm_install_editor_mcpFunction · 0.85

Tested by

no test coverage detected