chore : initial claude-config repo
- global CLAUDE.md (time tracking via MCP lesstime) - workspace CLAUDE.md (dev_malio inventory) - commands : ticket-writer, push-tickets-lesstime, full-project-review, bump-version - MCP install guide (Code + Desktop) + .mcp.json.example - scripts/install.sh + sync.sh
This commit is contained in:
64
scripts/install.sh
Executable file
64
scripts/install.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
# install.sh — Symlink claude-config files into ~/.claude/
|
||||
#
|
||||
# Idempotent : sauvegarde l'existant puis remplace par des symlinks vers ce repo.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
CLAUDE_DIR="${HOME}/.claude"
|
||||
BACKUP_DIR="${CLAUDE_DIR}/backup-$(date +%Y%m%d-%H%M%S)"
|
||||
|
||||
echo "→ Repo : ${REPO_DIR}"
|
||||
echo "→ Claude config : ${CLAUDE_DIR}"
|
||||
echo
|
||||
|
||||
mkdir -p "${CLAUDE_DIR}/commands"
|
||||
|
||||
backup_and_link() {
|
||||
local src="$1"
|
||||
local dst="$2"
|
||||
if [[ -e "$dst" && ! -L "$dst" ]]; then
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
echo " · backup $dst → $BACKUP_DIR/"
|
||||
mv "$dst" "$BACKUP_DIR/"
|
||||
elif [[ -L "$dst" ]]; then
|
||||
rm "$dst"
|
||||
fi
|
||||
ln -s "$src" "$dst"
|
||||
echo " ✓ link $dst → $src"
|
||||
}
|
||||
|
||||
echo "→ Lien : ~/.claude/CLAUDE.md"
|
||||
backup_and_link "${REPO_DIR}/global/CLAUDE.md" "${CLAUDE_DIR}/CLAUDE.md"
|
||||
|
||||
echo
|
||||
echo "→ Liens : ~/.claude/commands/*.md"
|
||||
for src in "${REPO_DIR}/commands/"*.md; do
|
||||
name="$(basename "$src")"
|
||||
backup_and_link "$src" "${CLAUDE_DIR}/commands/${name}"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "→ Lien : dev_malio/CLAUDE.md (workspace)"
|
||||
WORKSPACE_DIR="$(dirname "${REPO_DIR}")"
|
||||
backup_and_link "${REPO_DIR}/workspace/CLAUDE.md" "${WORKSPACE_DIR}/CLAUDE.md"
|
||||
|
||||
echo
|
||||
if [[ -d "$BACKUP_DIR" ]]; then
|
||||
echo "✓ Backups stockés dans : $BACKUP_DIR"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "═══════════════════════════════════════════════"
|
||||
echo "✅ Symlinks installés."
|
||||
echo
|
||||
echo "Étape manuelle restante — configurer le MCP Lesstime :"
|
||||
echo
|
||||
echo " 1. Récupère un token API sur http://project.malio-dev.fr/profile"
|
||||
echo " 2. cp ${REPO_DIR}/mcp/.mcp.json.example ${CLAUDE_DIR}/.mcp.json"
|
||||
echo " 3. Remplace REPLACE_WITH_YOUR_LESSTIME_API_TOKEN dans ${CLAUDE_DIR}/.mcp.json"
|
||||
echo " 4. Redémarre Claude Code (/exit puis claude)"
|
||||
echo
|
||||
echo "Voir ${REPO_DIR}/mcp/INSTALL.md pour Claude Desktop."
|
||||
echo "═══════════════════════════════════════════════"
|
||||
42
scripts/sync.sh
Executable file
42
scripts/sync.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# sync.sh — Repompe les modifs locales (~/.claude/ + dev_malio/CLAUDE.md) dans le repo
|
||||
#
|
||||
# À lancer quand tu as édité directement les fichiers actifs hors du repo
|
||||
# (ex. modif dans ~/.claude/commands/foo.md) et que tu veux les commiter.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
CLAUDE_DIR="${HOME}/.claude"
|
||||
WORKSPACE_DIR="$(dirname "${REPO_DIR}")"
|
||||
|
||||
echo "→ Sync depuis :"
|
||||
echo " ${CLAUDE_DIR}/CLAUDE.md → ${REPO_DIR}/global/"
|
||||
echo " ${CLAUDE_DIR}/commands/*.md → ${REPO_DIR}/commands/"
|
||||
echo " ${WORKSPACE_DIR}/CLAUDE.md → ${REPO_DIR}/workspace/"
|
||||
echo
|
||||
|
||||
copy_if_real() {
|
||||
local src="$1"
|
||||
local dst="$2"
|
||||
if [[ -L "$src" ]]; then
|
||||
echo " · skip (symlink) $src"
|
||||
return
|
||||
fi
|
||||
if [[ -f "$src" ]]; then
|
||||
cp "$src" "$dst"
|
||||
echo " ✓ copy $src → $dst"
|
||||
fi
|
||||
}
|
||||
|
||||
copy_if_real "${CLAUDE_DIR}/CLAUDE.md" "${REPO_DIR}/global/CLAUDE.md"
|
||||
copy_if_real "${WORKSPACE_DIR}/CLAUDE.md" "${REPO_DIR}/workspace/CLAUDE.md"
|
||||
|
||||
for src in "${CLAUDE_DIR}/commands/"*.md; do
|
||||
[[ -e "$src" ]] || continue
|
||||
name="$(basename "$src")"
|
||||
copy_if_real "$src" "${REPO_DIR}/commands/${name}"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "✓ Sync terminé. Lance 'git status' dans ${REPO_DIR}/ pour voir les diffs."
|
||||
Reference in New Issue
Block a user