Skip to content

Latest commit

 

History

1,287 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

These dotfiles support macOS only. Linux, containers, and GitHub Codespaces are unsupported.

Install

curl -fsSL \
  https://raw.githubusercontent.com/SebastienElet/dotfiles/main/install.sh | bash

If 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.

Manual install

cd && \
  git clone --depth 1 https://github.com/SebastienElet/dotfiles.git .dotfiles && \
  cd .dotfiles && \
  make moon && \
  "$HOME/.moon/bin/moon" exec --quiet install

Install the separately maintained optional profile with make optional.

Anarlog belongs to the optional profile, alongside Handy. Install it independently with moon exec repository:anarlog (macOS 15 or newer).

Minutes is also optional. Install the desktop app with moon exec repository:minutes (Apple Silicon, macOS 14 or newer), using the publisher's silverstein/tap Homebrew cask. Native call capture requires macOS 15 or newer. First launch downloads a local speech model; transcription does not require an API key. Summarization is optional and configured separately. The Minutes CLI is not installed by this task.

Moon installs the complete minimal profile. With Moon available:

moon exec --quiet install
moon action-graph repository:install

Install 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.

Checks

With Moon available, run the shared checks and behavior tests:

moon run check
moon run test

Checks include TypeScript, Prettier, Lua, Fish, shell scripts, workflows, CSpell and Rust. Their tools are prerequisites in the Moon graph. Run Lua lint independently with moon run neovim-lint or moon run wezterm-lint. The full workstation smoke is moon exec tooling:smoke-minimal on a dedicated macOS runner. Docker integrations remain explicit tasks with their own prerequisites.

Deployment families run through tooling:deployment-test, tooling:hunspell-test, agent-memory:deployment-test, and agent-handoff:deployment-test. Their CI workflows use moon ci --downstream none to select consumers of changed inputs on macOS and Linux. The general repository:typescript-test excludes tests owned by these families; moon run test still includes their local tests. Typechecking stays shared in Static gates.

Architecture decisions

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.

Repository layout

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.

Arnes Doctor

See the Doctor reference for its diagnostic scope, resource coverage, defaults, examples, exit codes, and observation limits for Claude Code, Cursor, and Codex.

Harness project export

Generate the portable user-harness Markdown snapshot used by ChatGPT Projects, Claude Projects, Gemini, or notebook tools:

arnes export
arnes export --check

Upload 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.

About

🔧 My dotfiles

Topics

Resources

Stars

15 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages