{"id":44766309,"url":"https://github.com/lasmarois/planning-template","last_synced_at":"2026-02-19T06:00:59.451Z","repository":{"id":338072142,"uuid":"1156462433","full_name":"lasmarois/planning-template","owner":"lasmarois","description":"Template for using Claude Code as a planning and implementation engine across target projects. Structured context, goal-driven workflow, growing .claude/rules, specs, and technical decisions — all tracked in one place.","archived":false,"fork":false,"pushed_at":"2026-02-12T23:44:48.000Z","size":33,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-16T09:10:20.088Z","etag":null,"topics":["ai-assisted-development","claude-code","claude-code-template","claude-rules","goal-driven-development","multi-repo-orchestration","planning-workflow","project-planning","structured-context","technical-decisions"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lasmarois.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-12T17:15:44.000Z","updated_at":"2026-02-15T21:12:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lasmarois/planning-template","commit_stats":null,"previous_names":["lasmarois/planning-template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/lasmarois/planning-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasmarois%2Fplanning-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasmarois%2Fplanning-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasmarois%2Fplanning-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasmarois%2Fplanning-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lasmarois","download_url":"https://codeload.github.com/lasmarois/planning-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasmarois%2Fplanning-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29532908,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T03:01:11.216Z","status":"ssl_error","status_checked_at":"2026-02-17T03:00:31.803Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assisted-development","claude-code","claude-code-template","claude-rules","goal-driven-development","multi-repo-orchestration","planning-workflow","project-planning","structured-context","technical-decisions"],"created_at":"2026-02-16T03:42:49.839Z","updated_at":"2026-02-17T04:01:10.438Z","avatar_url":"https://github.com/lasmarois.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Planning Template\n\nTemplate for using Claude Code as a planning and implementation engine across target projects. Structured context, goal-driven workflow, growing `.claude/rules`, specs, and technical decisions — all tracked in one place.\n\n## Prerequisites\n\nThis template depends on the [planning-with-files](https://github.com/OthmanAdi/planning-with-files) skill for Claude Code. Install it before using this template.\n\n### Install planning-with-files\n\n```bash\n# Recommended — Claude Code plugin\n/plugin marketplace add OthmanAdi/planning-with-files\n/plugin install planning-with-files@planning-with-files\n```\n\nVerify it's working by starting a Claude Code session — you should see the skill loaded, or type `/planning-with-files` to invoke it manually.\n\n\u003e See the [planning-with-files docs](https://github.com/OthmanAdi/planning-with-files/blob/master/docs/installation.md) for alternative installation methods.\n\n### Disable auto-compacting\n\n\u003e **Strongly recommended:** Disable auto-compact and use the `/clear` → `/planning-with-files` workflow instead:\n\u003e\n\u003e 1. When context gets heavy, run `/clear` to flush the conversation\n\u003e 2. Run `/planning-with-files` to reboot with full context from the planning files\n\u003e\n\u003e This works because the planning-with-files skill includes a session-catchup script that scans previous session JSONL files to find conversation messages that happened *after* the last planning file update — recovering unsynced context (decisions discussed, commands run, errors hit) that haven't been written to `task_plan.md`, `findings.md`, or `progress.md` yet. Auto-compacting silently discards that JSONL history, breaking this recovery mechanism.\n\n```bash\nclaude config set --global autoCompact false\n```\n\n## Quick Start\n\n1. Click **\"Use this template\"** on GitHub (or copy the directory manually)\n2. Clone your new repo and `cd` into it\n3. Install the planning-with-files skill (see above)\n4. Customize `.claude/rules/project-overview.md` with your architecture\n5. Customize `.claude/rules/workflow/local-dev.md` with your dev setup\n6. Add external repos to `.claude/settings.json` → `additionalDirectories`\n7. Define milestones in `.planning/MILESTONES.md`\n8. Start your first goal: update `.planning/GOALS.md` and invoke `/planning-with-files`\n\n## Directory Structure\n\n```\n.\n├── .claude/                          # Claude Code configuration\n│   ├── CLAUDE.md                     # Session start instructions\n│   ├── settings.json                 # Global settings (additional dirs, permissions)\n│   ├── settings.local.json           # Local overrides (gitignored)\n│   └── rules/                        # Persistent rules loaded every session\n│       ├── project-overview.md       # Architecture overview (customize this)\n│       ├── security.md               # Security rules\n│       └── workflow/                 # Workflow rules\n│           ├── goal-workflow.md      # Goal lifecycle (start, ice, complete)\n│           ├── branches.md          # Branch tracking across repos\n│           ├── documentation.md      # What to update and when\n│           ├── git.md               # Branching, commits, safety\n│           ├── changelog.md         # CHANGELOG convention\n│           └── local-dev.md         # Dev setup (customize this)\n│\n├── .planning/                        # Planning \u0026 tracking\n│   ├── GOALS.md                     # Goal registry (active, iced, complete)\n│   ├── MILESTONES.md                # Project roadmap\n│   ├── TECH_DECISIONS.md            # Append-only technical decisions log\n│   ├── BRANCHES.md                  # Active branches across all repos\n│   ├── history/                     # Completed goal archives\n│   └── iced/                        # Paused goal archives\n│\n├── specs/                            # Implementation specifications\n├── context/                          # Domain/system context documents\n├── runbooks/                         # Operational procedures\n├── templates/                        # Document templates\n│   ├── spec-template.md\n│   ├── context-template.md\n│   ├── tech-decision-template.md\n│   └── runbook-template.md\n│\n├── task_plan.md                      # (Created by /planning-with-files for active goal)\n├── findings.md                       # (Created by /planning-with-files for active goal)\n├── progress.md                       # (Created by /planning-with-files for active goal)\n│\n├── .gitignore\n└── README.md\n```\n\n## Workflow Overview\n\n### Two-Tier System\n\n- **Milestones** = What we're building (features, roadmap phases)\n- **Goals** = How we're building it (actionable work units within milestones)\n\n### Goal Lifecycle\n\n```\nStart Goal                          Complete Goal\n    │                                   │\n    ▼                                   ▼\nUpdate GOALS.md ──► /planning-with-files ──► Work phases ──► Archive to history/\n    │                   │\n    │                   ▼\n    │            task_plan.md    (phases \u0026 tasks)\n    │            findings.md     (research \u0026 discoveries)\n    │            progress.md     (session log)\n    │\n    ▼ (pause)\nMove files to .planning/iced/goal-N/\n```\n\n### Session Flow\n\n1. Claude reads `GOALS.md` → finds active goal\n2. Reads `task_plan.md`, `findings.md`, `progress.md` → resumes context\n3. Works through phases → updates progress\n4. On completion → archives to `history/`, updates `GOALS.md`\n\n### Technical Decisions\n\nAppend-only log in `.planning/TECH_DECISIONS.md`. Never edit past entries — if a decision is superseded, add a new `TD-XXX` referencing the old one.\n\n## Customization Checklist\n\n- [ ] `.claude/rules/project-overview.md` — your architecture\n- [ ] `.claude/rules/workflow/local-dev.md` — your dev environment\n- [ ] `.claude/settings.json` — additional repo directories\n- [ ] `.planning/MILESTONES.md` — your project roadmap\n- [ ] `.planning/GOALS.md` — your first goal\n- [ ] `context/` — your domain context documents\n- [ ] `specs/` — your implementation specifications\n\n## Memory Architecture\n\nThis template uses Claude Code's [memory hierarchy](https://docs.anthropic.com/en/docs/claude-code/memory) as designed:\n\n| Layer | File | Shared | Purpose in this template |\n|-------|------|--------|--------------------------|\n| Project memory | `.claude/CLAUDE.md` | Team (git) | Session start instructions, context map, `@imports` |\n| Project rules | `.claude/rules/*.md` | Team (git) | Workflow rules, security, git conventions — **grow these as needs emerge** |\n| Local memory | `CLAUDE.local.md` | Just you | Personal project preferences (not committed) |\n| Auto memory | `~/.claude/projects/\u003cproject\u003e/memory/` | Just you | Claude's automatic learnings per project |\n\n### Growing your rules\n\nRules in `.claude/rules/` are loaded automatically every session. Add new rule files as your project evolves:\n\n```\n.claude/rules/\n├── project-overview.md       # Always customize this\n├── security.md               # Security conventions\n└── workflow/\n    ├── goal-workflow.md      # Goal lifecycle\n    ├── branches.md           # Branch tracking\n    ├── documentation.md      # What to update when\n    ├── git.md                # Git conventions\n    ├── changelog.md          # CHANGELOG format\n    ├── local-dev.md          # Dev setup (customize this)\n    └── your-new-rule.md      # Add rules as needs emerge\n```\n\nRules can be **scoped to specific files** using `paths` frontmatter:\n\n```markdown\n---\npaths:\n  - \"src/api/**/*.ts\"\n---\n# API rules that only apply when working in src/api/\n```\n\n### Personal preferences with `CLAUDE.local.md`\n\nCreate a `CLAUDE.local.md` in the project root for personal preferences that shouldn't be committed (it's gitignored):\n\n```markdown\n# My local preferences\n- I prefer verbose test output\n- My dev server runs on port 3001\n- Use bun instead of npm\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasmarois%2Fplanning-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flasmarois%2Fplanning-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasmarois%2Fplanning-template/lists"}