tzurot-docs
Documentation maintenance for Tzurot v3 - Updating CURRENT_WORK.md, CHANGELOG.md, folder structure, and keeping docs current. Use at session end or when documentation needs updating.
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- GitHub stars: 6
- Updated: 2025-11-21
Download the latest version (v1.0.0) from this page.
SKILL.md
--- name: tzurot-docs description: Documentation maintenance for Tzurot v3 - Updating CURRENT_WORK.md, CHANGELOG.md, folder structure, and keeping docs current. Use at session end or when documentation needs updating. lastUpdated: '2025-11-19' --- # Tzurot v3 Documentation Maintenance **Use this skill when:** Ending a session, completing a milestone, creating new documentation, or updating existing docs. ## Documentation Philosophy **For a one-person project with AI assistance, documentation is CRITICAL for context preservation.** Without proper docs, each new session starts with a blank slate. Good documentation: - Preserves context across sessions - Records decisions and rationale - Tracks progress and prevents duplicate work - Helps AI assistants understand project state ## Core Documentation Files ### CURRENT_WORK.md (Most Important!) **Purpose:** Single source of truth for what's happening RIGHT NOW **Update at:** - Start of session (read to understand context) - End of session (document progress) - Switching focus areas (record new direction) - Completing major milestones **Format:** ```markdown > Last updated: YYYY-MM-DD ## Status: [Brief description of current focus] **Current Phase**: [What you're actively working on] **Recent Completion**: [Major milestone just finished] ## Active Work [Details of current task - what's in progress, blockers, next steps] ## Planned Features (Priority Order) [Upcoming work in priority order] ## Technical Debt [Known issues to address later] ``` **Example:** ```markdown > Last updated: 2025-11-19 ## Status: Claude Code Skills Implementation **Current Phase**: Creating 10 project-specific skills to streamline development workflow **Recent Completion**: Smart cache invalidation (PR #244) - Redis pub/sub for cross-service cache invalidation ## Active Work ### Skills Creation (feat/claude-code-skills) - ✅ tzurot-testing - Vitest patterns, fake timers, mocking - ✅ tzurot-constants - Magic numbers, domain separation - ✅ tzurot-git-workflow - Rebase-only, PR format - 🚧 tzurot-docs - Documentation maintenance (this skill!) - ⏳ 6 more skills to create ## Planned Features (Priority Order) 1. Complete remaining 6 skills 2. Test skills functionality in Claude Code 3. BYOK (Bring Your Own Key) - Critical for public launch 4. Admin commands (/admin servers, /admin kick) ``` **When NOT to update:** - Minor changes that don't affect project direction - Small bug fixes - Routine refactoring ### CHANGELOG.md **Purpose:** Record all notable changes for users/developers **Update when:** - Merging PRs to develop - Releasing new versions - Making breaking changes **Format:** Follow [Keep a Changelog](https://keepachangelog.com/) ```markdown # Changelog All notable changes to Tzurot v3 will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - Smart cache invalidation via Redis pub/sub (PR #244) - Claude Code Skills for project-specific workflows ### Fixed - Resource leak in CacheInvalidationService subscribe() error path ### Changed - Centralized Redis channel constants to REDIS_CHANNELS ## [3.0.0-alpha.43] - 2025-11-17 ### Added - Image attachment support in Discord messages - Voice transcription via Whisper API ... ``` **Categories:** - **Added** - New features - **Changed** - Changes to existing functionality - **Deprecated** - Soon-to-be-removed features - **Removed** - Removed features - **Fixed** - Bug fixes - **Security** - Security fixes ### CLAUDE.md **Purpose:** Project-specific configuration and guidelines for AI assistants **Update when:** - Establishing new patterns (like constants management) - Adding important context (post-mortems) - Changing project structure - Documenting new conventions **Don't update for:** - Individual feature details (those go in docs/) - Temporary decisions - One-off instructions ## Documentation Structure All documentation lives in `docs/` organized by category: ``` docs/ ├── README.md # Documentation index ├── architecture/ # Design decisions, patterns │ └── ARCHITECTURE_DECISIONS.md ├── deployment/ # Railway, infrastructure │ └── RAILWAY_DEPLOYMENT.md ├── guides/ # How-to guides │ ├── DEVELOPMENT.md │ └── TESTING.md ├── features/ # Feature specifications ├── improvements/ # Enhancement proposals ├── migration/ # Data migration procedures ├── operations/ # Operational procedures ├── planning/ # Roadmaps, feature tracking │ ├── V3_REFINEMENT_ROADMAP.md │ └── V2_FEATURE_TRACKING.md ├── reference/ # Reference documentation │ └── RAILWAY_CLI_REFERENCE.md └── templates/ # Reusable templates ``` ### When to Create New Documentation **Create in `docs/` when:** - Documenting a complex feature - Recording architectural decisions - Writing operational procedures - Creating reusable templates **Don't create when:** - Feature is simple and obvious - Information already exists elsewhere - It's temporary information **Root documentation rules:** - **ONLY these files belong in root:** README.md, CHANGELOG.md, CLAUDE.md, CURRENT_WORK.md - Everything else goes in `docs/` ## Documentation Best Practices ### 1. Use Descriptive Names ``` # ✅ GOOD docs/architecture/memory-and-context-redesign.md docs/planning/v3-refinement-roadmap.md # ❌ BAD docs/memory.md docs/plan.md ``` ### 2. Update Existing Docs Instead of Creating New Ones ``` # ✅ GOOD - Update existing echo "New section" >> docs/guides/TESTING.md # ❌ BAD - Create duplicate touch docs/guides/TESTING_NEW.md ``` ### 3. Delete Obsolete Docs Git history preserves them, so it's safe to delete when outdated. ```bash # If doc is obsolete, delete it git rm docs/planning/obsolete-feature-spec.md git commit -m "docs: remove obsolete feature spec (implemented in v3.0.0-alpha.40)" ``` ### 4. Use Consistent Date Format ``` # ✅ GOOD > Last updated: 2025-11-19 # ❌ BAD > Last updated: Nov 19, 2025 > Last updated: 11/19/2025 ``` ### 5. Link Between Related Docs ```markdown ## Related Skills - **tzurot-git-workflow** - Commit documentation updates - **tzurot-gemini-collab** - When to update vs create docs - **tzurot-architecture** - Document architectural decisions ## References - Architecture decisions: `docs/architecture/ARCHITECTURE_DECISIONS.md` - Testing guide: `docs/guides/TESTING.md` - V2 feature tracking: `docs/planning/V2_FEATURE_TRACKING.md` ``` ## Session Handoff Protocol **At end of session:** 1. **Update CURRENT_WORK.md** ```bash # Get current date date +%Y-%m-%d # Edit CURRENT_WORK.md with progress made ``` 2. **Delete obsolete docs** ```bash # If any docs are now outdated git rm docs/planning/completed-feature.md ``` 3. **Update relevant doc timestamps** ```bash # If you modified architectural docs or guides # Update their "Last updated" timestamp ``` 4. **Commit work-in-progress if needed** ```bash # Use descriptive WIP commit messages git commit -m "wip: skills creation - 5/10 complete" ``` **When switching work focus:** 1. **Update CURRENT_WORK.md** to reflect new direction 2. **Delete obsolete docs** (git history preserves them) 3. **Update CLAUDE.md** if project context changed significantly ## Documentation Anti-Patterns ### ❌ Don't Create Documentation Bloat ``` # ❌ BAD - Too many docs for same topic docs/testing/ ├── testing-guide.md ├── test-patterns.md ├── vitest-setup.md ├── mocking-guide.md └── test-best-practices.md # ✅ GOOD - One comprehensive guide docs/guides/ └── TESTING.md # All testing info in one place ``` ### ❌ Don't Let CURRENT_WORK.md Get Stale ``` # ❌ BAD - Last updated 2 months ago > Last updated: 2025-09-19 ## Status: Working on X feature [Feature X was completed and deployed weeks ago] # ✅ GOOD - Updated recently > Last updated: 2025-11-19 ## Status: Claude Code Skills Implementation [Accurate current state] ``` ### ❌ Don't Create README files in every directory ``` # ❌ BAD - README bloat services/bot-client/README.md services/api-gateway/README.md services/ai-worker/README.md # ✅ GOOD - One main README, detailed docs in docs/ README.md docs/architecture/ARCHITECTURE_DECISIONS.md ``` ### ❌ Don't Document Obvious Things ``` # ❌ BAD - Documenting the obvious ## How to Install Dependencies Run `pnpm install` to install dependencies. # ✅ GOOD - Document the non-obvious ## Development Setup After installing dependencies, you must: 1. Set up Railway CLI: `railway login` 2. Link to development project: `railway link` 3. Pull environment variables: `railway run --service api-gateway env > .env` ``` ## Context Preservation for AI **Why this matters:** Each new AI session starts with limited context. Good documentation helps AI: - Understand current project state - Avoid suggesting completed work - Follow established patterns - Make informed decisions **Critical files to check at session start:** 1. CURRENT_WORK.md - What's happening now? 2. CLAUDE.md - What are the rules? 3. docs/README.md - What docs exist? 4. Recent git commits - What changed recently? ## Linking Documentation **Use relative paths for internal links:** ```markdown # ✅ GOOD See [Testing Guide](docs/guides/TESTING.md) for details. # ❌ BAD See Testing Guide at /home/user/project/docs/guides/TESTING.md ``` **Use code-style for file references:** ```markdown # ✅ GOOD Update `CURRENT_WORK.md` at session end. # ❌ BAD Update CURRENT_WORK.md at session end. ``` ## Documentation Review Checklist Before ending a session, verify: - [ ] CURRENT_WORK.md reflects actual current state - [ ] CHANGELOG.md includes merged PRs (if any) - [ ] Obsolete docs deleted - [ ] New docs follow naming conventions - [ ] Documentation timestamps updated (YYYY-MM-DD format) - [ ] Links between docs are correct - [ ] No duplicate information across docs ## Related Skills - **tzurot-git-workflow** - Commit documentation updates - **tzurot-gemini-collab** - When to update vs create docs - **tzurot-architecture** - Document architectural decisions ## References - Documentation structure: `docs/README.md` - Current project status: `CURRENT_WORK.md` - Project guidelines: `CLAUDE.md` - Documentation maintenance: `CLAUDE.md#documentation-maintenance`