Skip to content

feat: template system for steering files to protect user privacy#6

Open
OsaSoft wants to merge 3 commits into
N4M3Z:mainfrom
OsaSoft:feat/steering-templates
Open

feat: template system for steering files to protect user privacy#6
OsaSoft wants to merge 3 commits into
N4M3Z:mainfrom
OsaSoft:feat/steering-templates

Conversation

@OsaSoft

@OsaSoft OsaSoft commented Feb 28, 2026

Copy link
Copy Markdown

Summary

  • Converts steering/Identity.md, Goals.md, and Levels.md to a template-based system: checked-in .template files with placeholder values, gitignored personal copies generated by make install
  • Adds init-steering Makefile target (copies templates if personal files don't exist, idempotent) and verify-steering target (checks files exist), wired into install/verify
  • Updates README, INSTALL.md, CLAUDE.md, and all 6 skills that read steering files with missing-file fallback instructions

Motivation

Steering files contain personal data (real names, goals, progress). Since forge-learn targets beginners, users who fork and edit these files will push PII in PRs to public repos. This change makes the safe path the default path — personal files are never tracked by git.

Test plan

  • git status — steering/*.md untracked, .template files tracked
  • Remove steering/*.md, run make install — files regenerated from templates
  • Run make install again — files NOT overwritten (idempotent)
  • Run make verify — passes with steering files present
  • Remove steering/*.md, run make verify — fails with clear error
  • Run a skill (/Tour, /Explain) with files present — works normally
  • Check .gitignore — steering/*.md not shown in git status

🤖 Generated with Claude Code

@OsaSoft OsaSoft force-pushed the feat/steering-templates branch from 553d1f4 to 08ea998 Compare February 28, 2026 14:20
@N4M3Z

N4M3Z commented Feb 28, 2026

Copy link
Copy Markdown
Owner

Let's use .mdschema to define these three .md files and let's make it a learning path to learn to use mdschema to lint your personal steering rules. Also let's move steering/ into rules/.

@OsaSoft OsaSoft force-pushed the feat/steering-templates branch from 08ea998 to 5bde902 Compare February 28, 2026 16:03
OsaSoft and others added 3 commits February 28, 2026 17:44
Steering files (Identity.md, Goals.md, Levels.md) contain personal data
that gets pushed to public repos when users fork and edit. This converts
them to a template-based system: checked-in .template files with
placeholder values, gitignored personal copies generated by make install.

- Rename steering/*.md to *.md.template with placeholder values
- Add init-steering target (copies templates, idempotent)
- Add verify-steering target (checks files exist)
- Wire both into install/verify
- Gitignore personal steering files
- Update README, INSTALL, CLAUDE.md for new workflow
- Add missing-file fallback to all 6 skills that read steering files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@OsaSoft OsaSoft force-pushed the feat/steering-templates branch from 5bde902 to 9766a06 Compare February 28, 2026 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants