These dotfiles support macOS only. Linux, containers, and GitHub Codespaces are unsupported.
curl -fsSL \
https://github.com/ghraw/SebastienElet/dotfiles/main/install.sh | bashIf Git is unavailable, the installer exits without starting the Command Line
Tools installation. Run xcode-select --install, complete the macOS system
dialog, then rerun the command above after the installation finishes.
cd && \
git clone --depth 1 https://github.com/SebastienElet/dotfiles.git .dotfiles && \
cd .dotfiles && \
make moon && \
"$HOME/.moon/bin/moon" exec --quiet installInstall the separately maintained optional profile with make optional.
Moon installs the complete minimal profile. With Moon available:
moon exec --quiet install
moon action-graph repository:installInstall the Node development toolchain independently with moon exec repository:pnpm;
its dependencies install Homebrew, Volta, and the exact Node version from package.json.
The make volta, make node, and make pnpm entry points delegate to Moon.
With Moon available, run the shared checks and behavior tests:
moon run check
moon run testChecks include TypeScript, Prettier, Lua, Fish, shell scripts, workflows, CSpell and Rust.
Their tools are prerequisites in the Moon graph; Lua lint alone is moon run lua-lint.
The full workstation smoke is moon exec tooling:smoke-minimal on a dedicated macOS runner.
Code Search and Docker integrations remain explicit tasks with their own prerequisites.
Structural choices — installer, shell, editor, container runtime, agent
instructions — are recorded as ADRs in docs/adr/, one
file per decision, reconstructed from the git history. Only decisions still in
force are recorded; superseded ones survive as the "Alternatives écartées"
section of whichever decision replaced them.
Read the relevant ADR before changing one of these choices, and add a new ADR when making one.
See docs/ARCHITECTURE.md for the complete project map,
deployment flow, and placement rules.
home/mirrors the destination-relative paths of files deployed under$HOME.harness/contains instructions and capabilities shared across agent harnesses.tooling/contains maintained local applications and extensionless kebab-case executables.- Tool-mandated integration paths and repository entry points remain at the root.
Generate the portable user-harness Markdown snapshot used by ChatGPT Projects, Claude Projects, Gemini, or notebook tools:
arnes export
arnes export --checkUpload every Markdown file from .harness-export/, including 00-MANIFEST.md. The directory is a
temporary ignored build artifact: never edit or commit it. The check command performs no writes and
fails when local sources, bundles, or the manifest drift, or when an obsolete artifact remains.
The export contains every non-ignored source under harness/, except the generated skills index and
operating-system metadata, plus the canonical hook declarations in home/.arnes.yaml. Source
categories are defined once in tooling/arnes/src/export/sources.rs; extend that selector
and its tests to add a category, then regenerate the snapshot.