Configure readme-and-co plugin with project-specific defaults using .claude/readme-and-co.local.md
The readme-and-co plugin supports project-specific configuration through a local config file. This allows you to set default values that apply to your project without repeating them in every command.
First, ensure plugin path resolution works:
Skill(skill="utils:find-claude-plugin-root")
Copy the example config:
mkdir -p .claude
PLUGIN_ROOT=$(python3 /tmp/cpr.py readme-and-co)
cp "$PLUGIN_ROOT/examples/readme-and-co.local.md" .claude/readme-and-co.local.md
Edit the config to match your project:
---
defaults:
project_name: my-awesome-app
author_name: Your Name
license: MIT
badges:
enabled: true
style: flat-square
---
Use the plugin - defaults are automatically loaded:
# project_name and license come from config
python scripts/render_template.py --template templates/README/full/README-MINIMAL.template.md --vars '{"description":"Cool app"}' --output README.md
The config file must be located at .claude/readme-and-co.local.md and use YAML frontmatter:
---
defaults:
project_name: value
key: value
badges:
enabled: true
---
# Optional markdown content below
Values are merged with the following priority (highest to lowest):
--vars flag) - Always wins.claude/readme-and-co.local.md)Config file:
---
defaults:
author_name: Jane Doe
license: MIT
---
Command:
python scripts/render_template.py --vars '{"license":"Apache-2.0"}' ...
Result: license=Apache-2.0 (CLI overrides config), author_name=Jane Doe (from config)
defaults - Template VariablesDefault values for template variables:
defaults:
# Project metadata
project_name: my-project
description: Short description
# Author info
author_name: Your Name
author_email: you@example.com
# License
license: MIT
# Repository
repo_url: https://github.com/user/repo
badges - Badge GenerationControl badge auto-generation:
badges:
enabled: true
style: flat-square # flat, flat-square, plastic, for-the-badge
include:
- license
- ci-status
- language-version
- npm-version
- coverage
templates - Template PreferencesControl which template variants to use:
templates:
readme_variant: standard # minimal, standard, comprehensive
hooks - Documentation HooksControl when to suggest documentation updates:
hooks:
doc_updates:
enabled: true # Set to false to disable suggestions
---
defaults:
author_name: Jane Developer
author_email: jane@dev.com
license: MIT
badges:
enabled: true
style: flat-square
---
---
defaults:
# Don't set author_name - will be auto-detected from git
license: Apache-2.0
project_name: team-project
badges:
enabled: true
include:
- license
- build-status
- coverage
templates:
readme_variant: comprehensive
---
---
defaults:
license: MIT
badges:
enabled: true
style: for-the-badge
include:
- license
- ci-status
- npm-version
- downloads
- contributors
templates:
readme_variant: comprehensive
hooks:
doc_updates:
enabled: true
---
.claude/readme-and-co.local.md so your team shares the same defaultsCheck:
.claude/readme-and-co.local.md (relative to current directory)--- on their own linesCheck priority:
--vars '{}' to ensure config defaults are usedThe plugin uses a simple YAML parser. If you have complex YAML:
- item syntax with proper indentationSetup (once per project):
mkdir -p .claude
PLUGIN_ROOT=$(python3 /tmp/cpr.py readme-and-co)
cp "$PLUGIN_ROOT/examples/readme-and-co.local.md" .claude/readme-and-co.local.md
# Edit .claude/readme-and-co.local.md
git add .claude/readme-and-co.local.md
git commit -m "Add readme-and-co config"
Use (ongoing):
# Defaults from config, only specify what changes
python scripts/render_template.py \
--template templates/README/full/README-STANDARD.template.md \
--vars '{"description":"New feature added"}' \
--output README.md
Override (when needed):
# Different license for this one file
python scripts/populate_license.py \
--license Apache-2.0 \
--output LICENSE-APACHE