Skip to content

rsoesemann/ROBERT.md

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸͺΌ ROBERT.md

(rules for any AI that dares to co-work with me)

I've been watching everyone figure out how to talk to their AI coding assistants, and nobody agrees on how much you actually need to say.

Boris Cherny, who created Claude Code, says his setup is "surprisingly vanilla" β€” the model already knows how to code, so he barely customizes it. Peter Steinberger went the other direction with OpenClaw: give your agent a SOUL.md β€” a personality, opinions, a voice β€” because a good assistant shouldn't sound like a corporate chatbot. Meanwhile, every tool is shipping its own flavor: CLAUDE.md, AGENTS.md, .cursorrules, copilot-instructions.md. Vendor-specific files that are quietly becoming an industry standard.

This repo is me trying to make sense of all of that. One place for the stuff that's mine β€” how I think, how I code, what I expect β€” version-controlled, symlinked into ~/.claude/, and portable to whatever tool comes next.

The layers

The hard part isn't what to put in these files β€” it's where. What's mine personally is different from what a specific project needs.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Me (ROBERT.md)                                              β”‚
β”‚  How I talk. How I code. What annoys me.                     β”‚
β”‚  SOUL.md, CLAUDE.md, rules/salesforce/                       β”‚
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Project (CLAUDE.md in your repo)                      β”‚  β”‚
β”‚  β”‚  Domain model. Features. Project-specific stuff.       β”‚  β”‚
β”‚  β”‚  .claude/CLAUDE.md, .claude/skills/                    β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Claude Code merges all of this at session start. Nothing overrides β€” it all stacks.

What's in here

Instructions

claude/SOUL.md β€” My personality. Snarky, German, no fluff. So the AI talks like a sharp colleague, not a support bot. Inspired by Peter Steinberger's OpenClaw. Referenced from CLAUDE.md and symlinked into ~/.claude/.

claude/CLAUDE.md β€” My five coding commandments. Points to SOUL.md for tone. Non-negotiable.

claude/rules/salesforce/ β€” My brutal, PMD-backed Apex standards. The machine checks what I forget.

claude/settings.json β€” So Claude stops nagging me for permission before every git push.

Skills

Reusable capabilities that Claude can trigger automatically or I can invoke with /skillname. Lives in claude/skills/.

sf-code-analyzer β€” Runs Salesforce Code Analyzer after code changes. Smart enough to detect managed packages (via sfdx-project.json) and only run AppExchange security rules when they matter. Otherwise just my opinionated clean code rules.

How I use it

I run install.sh once. It symlinks everything into ~/.claude/, where Claude Code picks it up at session start.

./install.sh
~/.claude/CLAUDE.md                   β†’  this repo/claude/CLAUDE.md
~/.claude/SOUL.md                     β†’  this repo/claude/SOUL.md
~/.claude/settings.json               β†’  this repo/claude/settings.json
~/.claude/rules/                      β†’  this repo/claude/rules/
~/.claude/skills/sf-code-analyzer/    β†’  this repo/claude/skills/sf-code-analyzer/

After I pull changes, the next session gets them automatically β€” symlinks always point to the latest version.

Multiple repos, one skills directory

~/.claude/skills/ is a real directory, not a symlink. This is intentional β€” it lets multiple config repos contribute skills to the same place. Each install script symlinks its individual skill folders in, and they coexist. For project-specific overrides, a project's own .claude/skills/ always takes precedence over ~/.claude/skills/.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages