From 35ee91405871b2af61f1899fa9e77f53d824a33d Mon Sep 17 00:00:00 2001 From: Hutson Cappelmann Date: Mon, 26 Jan 2026 17:14:32 -0500 Subject: [PATCH] Add claude-mem option to project wizard - New prompt to enable/disable claude-mem per project - Adds plugin configuration to .claude/settings.json - Documents claude-mem status in generated CLAUDE.md Co-Authored-By: Claude Opus 4.5 --- scripts/newproject | 57 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/scripts/newproject b/scripts/newproject index 1196d76..335af59 100755 --- a/scripts/newproject +++ b/scripts/newproject @@ -180,6 +180,17 @@ DATABASE=$(gum choose \ "PostgreSQL + Redis" \ --header "Database") +####################################### +# Claude-mem Options +####################################### +echo "" +gum style --foreground 245 "Enable claude-mem (persistent memory across sessions)?" + +CLAUDE_MEM=$(gum choose \ + "Yes - Enable claude-mem" \ + "No - Disable for this project" \ + --header "Claude-mem") + ####################################### # Additional Options ####################################### @@ -223,6 +234,7 @@ MCPs: $(echo "$MCPS" | tr '\n' ', ' | sed 's/, $//') Git: $GIT_INIT | Remote: $GIT_REMOTE Syncthing: $SYNCTHING_OPT +Claude-mem: $CLAUDE_MEM Database: $DATABASE License: $LICENSE" @@ -300,9 +312,24 @@ done cat >> "$PROJECT_PATH/.claude/settings.json" << 'SETTINGS_EOF' } -} SETTINGS_EOF +# Add claude-mem configuration if disabled +if [[ "$CLAUDE_MEM" == *"No"* ]]; then + cat >> "$PROJECT_PATH/.claude/settings.json" << 'CLAUDEMEM_EOF' +, + "plugins": { + "claude-mem": { + "disabled": true + } + } +CLAUDEMEM_EOF +fi + +cat >> "$PROJECT_PATH/.claude/settings.json" << 'SETTINGS_CLOSE_EOF' +} +SETTINGS_CLOSE_EOF + ####################################### # Generate CLAUDE.md ####################################### @@ -457,6 +484,24 @@ cat >> "$PROJECT_PATH/CLAUDE.md" << MCP_EOF $(echo "$MCPS" | sed 's/^/- /') **Disabled MCPs** are configured in \`.claude/settings.json\`. +MCP_EOF + +# Add claude-mem section +if [[ "$CLAUDE_MEM" == *"Yes"* ]]; then + cat >> "$PROJECT_PATH/CLAUDE.md" << 'CLAUDEMEM_DOC_EOF' + +**Claude-mem:** Enabled - sessions are recorded for persistent memory. +- Dashboard: http://localhost:37777 +- Search past work: `/CLAUDE` or ask about previous sessions +CLAUDEMEM_DOC_EOF +else + cat >> "$PROJECT_PATH/CLAUDE.md" << 'CLAUDEMEM_DOC_EOF' + +**Claude-mem:** Disabled for this project. +CLAUDEMEM_DOC_EOF +fi + +cat >> "$PROJECT_PATH/CLAUDE.md" << 'MCP_CLOSE_EOF' --- @@ -464,15 +509,15 @@ $(echo "$MCPS" | sed 's/^/- /') | File | Purpose | Usage | |------|---------|-------| -| \`~/.secrets\` | API keys, tokens, credentials | \`source ~/.secrets\` then use \`\$VAR_NAME\` | -| \`~/.hosts\` | IPs, hostnames, service URLs | \`source ~/.hosts\` then use \`\$IP_*\` or \`\$HOST_*\` | -| \`~/.ssh/config\` | SSH aliases for all homelab hosts | \`ssh pve\`, \`ssh truenas\`, \`ssh docker-host\`, etc. | +| `~/.secrets` | API keys, tokens, credentials | `source ~/.secrets` then use `$VAR_NAME` | +| `~/.hosts` | IPs, hostnames, service URLs | `source ~/.hosts` then use `$IP_*` or `$HOST_*` | +| `~/.ssh/config` | SSH aliases for all homelab hosts | `ssh pve`, `ssh truenas`, `ssh docker-host`, etc. | **When adding new credentials or hosts:** -1. Add to the central files (\`~/.secrets\` or \`~/.hosts\`) +1. Add to the central files (`~/.secrets` or `~/.hosts`) 2. Files sync via Syncthing to all machines 3. Never commit secrets to git - use environment variables -MCP_EOF +MCP_CLOSE_EOF # Add deployment info if applicable if [ -n "$SUBDOMAIN" ]; then