readme-and-co:using-local-config
Configure readme-and-co plugin with project-specific defaults using .claude/readme-and-co.local.md
What this skill does
# Using Local Configuration
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.
## Setup
First, ensure plugin path resolution works:
```
Skill(skill="utils:find-claude-plugin-root")
```
## Quick Start
1. **Copy the example config**:
```bash
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
```
2. **Edit the config** to match your project:
```yaml
---
defaults:
project_name: my-awesome-app
author_name: Your Name
license: MIT
badges:
enabled: true
style: flat-square
---
```
3. **Use the plugin** - defaults are automatically loaded:
```bash
# 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
```
## Configuration File Format
The config file must be located at `.claude/readme-and-co.local.md` and use YAML frontmatter:
```yaml
---
defaults:
project_name: value
key: value
badges:
enabled: true
---
# Optional markdown content below
```
## Configuration Priority
Values are merged with the following priority (highest to lowest):
1. **CLI arguments** (`--vars` flag) - Always wins
2. **Local config** (`.claude/readme-and-co.local.md`)
3. **Auto-detected** (from git, package.json, etc.)
4. **Built-in defaults**
### Example
Config file:
```yaml
---
defaults:
author_name: Jane Doe
license: MIT
---
```
Command:
```bash
python scripts/render_template.py --vars '{"license":"Apache-2.0"}' ...
```
Result: `license=Apache-2.0` (CLI overrides config), `author_name=Jane Doe` (from config)
## Available Configuration Options
### `defaults` - Template Variables
Default values for template variables:
```yaml
defaults:
# Project metadata
project_name: my-project
description: Short description
# Author info
author_name: Your Name
author_email: [email protected]
# License
license: MIT
# Repository
repo_url: https://github.com/user/repo
```
### `badges` - Badge Generation
Control badge auto-generation:
```yaml
badges:
enabled: true
style: flat-square # flat, flat-square, plastic, for-the-badge
include:
- license
- ci-status
- language-version
- npm-version
- coverage
```
### `templates` - Template Preferences
Control which template variants to use:
```yaml
templates:
readme_variant: standard # minimal, standard, comprehensive
```
### `hooks` - Documentation Hooks
Control when to suggest documentation updates:
```yaml
hooks:
doc_updates:
enabled: true # Set to false to disable suggestions
```
## Use Cases
### Single Developer Projects
```yaml
---
defaults:
author_name: Jane Developer
author_email: [email protected]
license: MIT
badges:
enabled: true
style: flat-square
---
```
### Team Projects
```yaml
---
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
---
```
### Open Source Projects
```yaml
---
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
---
```
## Tips
1. **Version control**: Commit `.claude/readme-and-co.local.md` so your team shares the same defaults
2. **Privacy**: The config file is for defaults, not secrets. Don't include API keys or passwords
3. **Override when needed**: Use CLI args to override config for one-off changes
4. **Validation**: The plugin validates the config file format and shows warnings for invalid YAML
## Troubleshooting
### Config not loading
Check:
- File is at `.claude/readme-and-co.local.md` (relative to current directory)
- YAML frontmatter starts and ends with `---` on their own lines
- YAML syntax is valid (proper indentation, no tabs)
### Values not being used
Check priority:
- CLI arguments override config
- Use `--vars '{}'` to ensure config defaults are used
- Check stderr output for "Loaded N default(s)" message
### Invalid YAML
The plugin uses a simple YAML parser. If you have complex YAML:
- Avoid advanced features (anchors, multi-line strings)
- Use simple key: value pairs
- For lists, use `- item` syntax with proper indentation
## Example Workflow
1. **Setup** (once per project):
```bash
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"
```
2. **Use** (ongoing):
```bash
# 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
```
3. **Override** (when needed):
```bash
# Different license for this one file
python scripts/populate_license.py \
--license Apache-2.0 \
--output LICENSE-APACHE
```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.