config/CLAUDE.md
Bastien Chanot 8769eb9bdb docs: add README and project CLAUDE.md
README documents the curl|bash one-liner (with a remote-exec
warning), the manual clone, and OS auto-detection. CLAUDE.md
records the dotfiles-meta archetype, commands, conventions, and
known issues for future sessions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:28:37 +02:00

1.9 KiB

CLAUDE.md — config (personal dotfiles)

Project context for Claude. Global preferences in ~/.claude/CLAUDE.md apply on top.

What this is

Personal dotfiles repo. Archetype: dotfiles-meta (meta/config, not an application). Produces vim + bash configuration deployed by install.sh. Private/personal audience.

  • Public: no
  • Database: none
  • Stack: POSIX/bash shell scripts + vimscript
  • Distribution: git clone + ./install.sh <target>

Layout

remote-install.sh     curl|bash bootstrap: ensure git, clone/pull, run install.sh
install.sh            one-shot installer (OS auto-detected)
vim/vimrc             vim config (pathogen, molokai, syntastic, NERDTree)
vim/autoload/         pathogen loader (committed)
vim/colors/           molokai colorscheme (committed)
bash/bashrc-{linux,osx}          OS-detected bashrc
.claude/{tasks,memory,audits}/   Claude working state

Commands

Task Command
Lint shellcheck *.sh bash/bashrc-*
Syntax check bash -n install.sh remote-install.sh
Install ./install.sh (OS auto-detected)
Remote install curl -fsSL <raw>/remote-install.sh | bash

No build, no test suite. Lint = shellcheck.

Conventions

  • Shell scripts: #!/usr/bin/env bash, set -euo pipefail, quote all expansions, keep shellcheck clean.
  • Installer must stay idempotent (re-runnable without breaking state) and use $SCRIPT_DIR-relative paths.
  • bashrc files: tabs for indentation (existing style). Style nits (legacy backticks) tolerated — don't churn.
  • No secrets in any tracked file. Use placeholders if config ever needs tokens.

Known issues (see .claude/audits/ONBOARD_REPORT.md)

  • vim/vimrc GenerateClassC uses bare name instead of a:name:ClassC errors (E121). Vim domain, not yet fixed.
  • bashrc files use legacy backticks (SC2006) — cosmetic.