Skip to content

Latest commit

 

History

History
67 lines (61 loc) · 2.85 KB

File metadata and controls

67 lines (61 loc) · 2.85 KB

GitNapse Implementation Log

Contents

Scope Materialization

This log tracks the implemented baseline and subsequent functional expansions.

Completed Foundation

  • Rust binary project initialized and organized in modular architecture.
  • Dependencies updated to modern versions (including TUI and API layers).
  • Core modules established for:
    • application state machine
    • rendering and theme
    • authentication and account settings
    • GitHub API integration
    • preview syntax and cache

Completed Functional Features

  • Paginated repository search with keyboard page controls.
  • Branch-aware repository exploration and recursive tree retrieval.
  • Lazy tree reveal for large repositories.
  • Preview pane with dedicated focus, viewport range, and fast scrolling controls.
  • Mouse integration:
    • single click selection
    • double click open for repos/files
    • wheel scroll in tree and preview panes
  • Escape back-navigation from repo view to search list.
  • In-app clone modal with editable destination path.
  • In-app download modal for current previewed file.
  • CLI single-file download command (gitnapse download-file).
  • Tree file-name search shortcut and full tree-text view toggle.
  • Token management commands and runtime validation against GitHub user endpoint.
  • OAuth device-flow login implemented with octocrab and secure token persistence.
  • OAuth session lifecycle handling added (expiry metadata + optional refresh flow with client secret env variables).
  • Full palette-based navigation coloring with contrast-safe foreground.

Quality and Validation

  • cargo check passes.
  • cargo test passes.
  • Language diagnostics report no active errors.

Known Iteration Opportunities

  • Richer language-aware syntax highlighting engine.
  • Additional integration tests for GitHub client and clone/download workflows.
  • Optional advanced filtering/sorting in repository and tree navigation views.