Borrowing it
Nothing to install: this file belongs to derjochenmeyer/claude-code-craft. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/derjochenmeyer/claude-code-craft/main/.claude/settings.jsongit clone --depth 1 https://github.com/derjochenmeyer/claude-code-craftWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/settings/derjochenmeyer/claude-code-craft/settings)<a href="https://agentmods.dev/settings/derjochenmeyer/claude-code-craft/settings"><img src="https://agentmods.dev/badge/settings/derjochenmeyer/claude-code-craft/settings/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/settings/derjochenmeyer/claude-code-craft/settings"><img src="https://agentmods.dev/badge/settings/derjochenmeyer/claude-code-craft/settings.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade D, and why
settings scanned grade D with 2 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
"Bash(sudo *)", Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
"Bash(rm -rf *)", How it starts
The opening of the file, as written. The whole thing — 57 lines — stays where its author put it; the contents beside it link to each section on GitHub.
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(git status)",
"Bash(git diff *)",
"Bash(git add *)",
"Bash(git log *)",
"Bash(git commit *)",
"Read(*)",
"Write(*)",
"Edit(*)",
"Glob(*)",
"Grep(*)"
],
"deny": [
"Bash(rm -rf *)",
"Bash(sudo *)",
"Bash(git push --force *)",
"Bash(git reset --hard *)",
"Read(./.env)",
"Read(./.env.*)"
]
},
"hooks": {
"SessionStart": [
{
"matcher": "startup",
"hooks": [
{
"type": "command",
"command": "l=$(grep '^## L' .craft/memory/learned-rules.md 2>/dev/null | head -10 | tr '\\n' '|'); printf '%s' \"${l:-none yet}\" | jq -Rs '{\"systemMessage\":(\"[craft] Read .craft/PROJECT_STATE.md before starting. Lessons: \" + .)}'",
"timeout": 5
},
{
"type": "command",
"command": "bash -c 'D=.craft/DREAM_LOG.md; [[ -f $D ]] || exit 0; L=$(stat -f %m \"$D\" 2>/dev/null || stat -c %Y \"$D\" 2>/dev/null || echo 0); A=$(( ($(date +%s) - $L) / 86400 )); C=$(git log --since=\"$A days ago\" --oneline 2>/dev/null | wc -l | tr -d \" \"); S=$(wc -l < .craft/PROJECT_STATE.md 2>/dev/null | tr -d \" \"); [[ $C -ge 10 || $S -gt 100 ]] && printf \"{\\\"systemMessage\\\":\\\"[craft] $C commits since last dream, PROJECT_STATE.md at $S lines. Run /craft-project-dream? (y/N/skip-for-now)\\\"}\" || printf \"{}\"'",
"timeout": 3
}
]
}
],
"PreCompact": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "git diff --quiet HEAD 2>/dev/null && printf '{\"decision\":\"allow\"}' || printf '{\"decision\":\"allow\",\"systemMessage\":\"[craft] Uncommitted changes detected. Consider committing before compaction to preserve this session.\"}'",
"timeout": 5
}
What else settings.json configures
This page is one entry in a file that holds 3. Installing the file brings all of them; each is measured and scanned on its own page.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 57 lines scan D 9402f7062749
settings is a settings file published in the GitHub repository derjochenmeyer/claude-code-craft (2 stars, last pushed 6mo ago), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it D with 2 findings (asks for root, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
settings compared with settings from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| settingsderjochenmeyer/claude-code-craft | Settings file | 2 | 6mo ago | MIT | D | — | Claude Code |
| supabasesupabase/supabase | Settings file | 115k | yesterday | Apache-2.0 | A | — | Claude Code |
| supersetapache/superset | Settings file | 75k | yesterday | Apache-2.0 | A | — | Claude Code |
| RuViewruvnet/RuView | Settings file | 103k | yesterday | MIT | A | — | Claude Code |
| claude-cookbooksanthropics/claude-cookbooks | Settings file | 54k | 2d ago | MIT | A | — | Claude Code |
| ormprisma/orm | Settings file | 48k | yesterday | Apache-2.0 | A | — | Claude Code |
| claude-code-best-practiceshanraisshan/claude-code-best-practice | Settings file | 69k | 2d ago | MIT | A | — | Claude Code |