Skip to content

Comments

Session 3: Git-flow setup, branch protection, and versioning strategy#1

Merged
randlee merged 13 commits intomainfrom
develop
Jan 24, 2026
Merged

Session 3: Git-flow setup, branch protection, and versioning strategy#1
randlee merged 13 commits intomainfrom
develop

Conversation

@randlee
Copy link
Owner

@randlee randlee commented Jan 24, 2026

Summary

This PR brings develop branch changes to main, including:

  • ✅ Claude skill for Rust development guidelines

    • Microsoft's Pragmatic Rust Guidelines (88KB, 2,437 lines)
    • Auto-activates when working with Rust code
  • ✅ Git-flow branching model initialized

    • Main and develop branches configured
    • Feature/release/hotfix workflow documented
  • ✅ Main branch protection enabled

    • PR required for all changes to main
    • Direct commits blocked (including admins)
  • ✅ Comprehensive Git workflow documentation

    • docs/GIT-WORKFLOW.md created
    • Integration with sprint development process
  • ✅ Pre-1.0 versioning strategy defined

    • v0.1.0 through v0.5.0 for Phases 1-5
    • v1.0.0 reserved for validated usability

Changes

  • Added .claude/skills/rust-development/ with SKILL.md and guidelines.txt
  • Created docs/GIT-WORKFLOW.md
  • Updated docs/MASTER-PLAN.md with Session 3 progress and git-flow integration
  • Documented version roadmap (0.1.0 → 0.2.0 → 0.3.0 → 0.4.0 → 0.5.0 → 1.0.0)

Commits

  • chore: Add Claude skill for Rust development guidelines (ebb83fa)
  • docs: Add Git Flow workflow documentation (b01a42d)
  • docs: Update MASTER-PLAN for git-flow workflow (4f8a055)
  • docs: Update GIT-WORKFLOW with active branch protection status (b865eab)
  • docs: Update Session 3 progress with branch protection setup (f1a19c3)
  • docs: Define pre-1.0 versioning strategy (c2e1d04)

🤖 Generated with Claude Code

randlee and others added 13 commits January 24, 2026 13:08
- Documented git-flow branch structure (main/develop)
- Added common workflows for features, releases, hotfixes
- Integrated sprint workflow with MASTER-PLAN.md
- Included git-flow command reference
- Added version tagging strategy

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Updated Session 3 progress with git-flow setup
- Modified Development Workflow section to use git-flow commands
- Added GIT-WORKFLOW.md to references
- Documented feature/release branch workflow

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Documented active main branch protection rules
- Updated release workflow for protected branches (requires PR)
- Added note about gh CLI for creating release PRs
- Clarified that git-flow release finish cannot push to protected main

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Version 1.0.0 reserved for validated usability
- Phases 1-5 will be versioned as 0.1.0 through 0.5.0
- Updated phase completion workflow to include version bumping
- Documented version-to-phase mapping in both docs

Versioning:
- 0.1.0: Phase 1 (Foundation & Workspace)
- 0.2.0: Phase 2 (Zed Terminal)
- 0.3.0: Phase 3 (File Browser)
- 0.4.0: Phase 4 (Markdown Viewer - MVP features)
- 0.5.0: Phase 5 (Markdown Editor)
- 1.0.0: When validated as usable (maintainer decision)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add 42 unit tests covering:
- Settings system (SettingsStore, Settings, serialization, file I/O)
- Terminal settings (defaults, serialization, custom values)
- UI settings (defaults, serialization, bounds validation)
- Theme system (Color, Theme, dark/light themes, by_name lookup)

All tests pass successfully.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add comprehensive Clippy lints to Cargo.toml:
  * Forbid unsafe code
  * Deny unused_must_use
  * Enable all, pedantic, nursery, and cargo lints
  * Allow multiple_crate_versions (transitive dependencies)

- Add missing Cargo.toml metadata (repository, keywords, categories)

- Fix documentation: Use backticks for code references

- Fix redundant closure in main.rs

- Mark placeholder structs with #[allow(dead_code)]:
  * Terminal (Phase 2)
  * AppState (Phase 3)
  * Viewer (Phase 3)

- Make simple getters const functions where possible

All clippy warnings resolved. Build passes cleanly with no warnings.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ance

- Add comprehensive CI workflow with test, format, and clippy jobs
- Support ubuntu, macos, and windows runners
- Add caching for faster builds
- Fix float comparison tests to use epsilon checks
- Update README with CI status badge
- All 42 tests pass in debug and release modes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Added Serena project configuration (.serena/project.yml)
- Configured Rust language support for symbolic code analysis
- Updated .gitignore to exclude macOS system files (.DS_Store)
- Serena cache and memories excluded via .serena/.gitignore

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The test_settings_store_settings_immutable_access and
test_settings_store_settings_mutable_access tests were using the real
config directory, causing race conditions in CI when tests run in
parallel. This led to intermittent failures when the shared settings
file was corrupted or empty.

Changes:
- Added new_with_path() test-only constructor to SettingsStore
- Updated both tests to use temporary directories via setup_test_config_dir()
- Ensures complete test isolation with no shared state

Fixes CI test failure: EOF while parsing a value at line 1 column 0

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Apply automatic formatting to match project style guidelines.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Changed agent guideline paths from absolute to relative
- Updated rust-architect, rust-code-explorer, rust-code-reviewer, rust-developer
- Improves portability across different development environments

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@randlee randlee merged commit e2f07ae into main Jan 24, 2026
10 checks passed
randlee added a commit that referenced this pull request Jan 27, 2026
- Fix #1: CloseTerminal now closes correct tab by matching terminal entity
  instead of always removing active tab
- Fix #4: PathLike targets now open files with default app (line:col stripped)
- Fix #5: Subscriptions stored in TerminalTab, auto-dropped when tab removed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

1 participant