Expand description
§gitstack
Git history viewer & analysis tool. Intuitively explore Git repositories via TUI.
§Key Features
- Commit history browsing: Graph-annotated commit log, branch topology analysis
- Code analysis: File heatmap, code ownership, Change Coupling
- Quality metrics: Impact score, quality score, technical debt analysis
- AI integration: Context pack generation, review pack, MCP integration
- i18n support: Full Japanese/English internationalization (300+ translation keys)
§Usage
# Launch TUI inside a Git repository
gitstack
# CLI analysis mode
gitstack stats --json
gitstack heatmap --csv
gitstack health§Crate Structure
Re-exports§
pub use app::App;pub use app::CommitType;pub use app::InputMode;pub use app::QuickAction;pub use app::SidebarPanel;pub use cache::clear_analysis_cache;pub use cache::load_or_compute;pub use cache::load_or_compute_with_repo;pub use cli::parse_cli_args;pub use cli::parse_tui_options;pub use cli::run_cli_mode;pub use cli::CliCommand;pub use cli::TuiFocusTarget;pub use cli::TuiOptions;pub use compare::BranchCompare;pub use compare::CompareCommit;pub use compare::CompareTab;pub use config::FilterPreset;pub use config::FilterPresets;pub use config::LanguageConfig;pub use config::PRESET_SLOT_COUNT;pub use event::GitEvent;pub use event::GitEventKind;pub use export::bus_factor_to_json;pub use export::coupling_to_json;pub use export::export_coupling_csv;pub use export::export_coupling_json;pub use export::export_heatmap_csv;pub use export::export_heatmap_json;pub use export::export_impact_csv;pub use export::export_impact_json;pub use export::export_ownership_csv;pub use export::export_ownership_json;pub use export::export_quality_csv;pub use export::export_quality_json;pub use export::export_stats_csv;pub use export::export_stats_json;pub use export::export_timeline_csv;pub use export::export_timeline_json;pub use export::health_to_json;pub use export::health_to_markdown;pub use export::heatmap_to_json;pub use export::impact_to_json;pub use export::log_to_json;pub use export::ownership_to_json;pub use export::quality_to_json;pub use export::stats_to_json;pub use export::tech_debt_to_json;pub use export::timeline_to_json;pub use filter::FilterQuery;pub use git::checkout_branch;pub use git::checkout_branch_in_repo;pub use git::compare_branches;pub use git::compare_branches_from_repo;pub use git::create_branch;pub use git::create_branch_in_repo;pub use git::create_commit;pub use git::create_commit_in_repo;pub use git::delete_branch;pub use git::delete_branch_in_repo;pub use git::fetch_remote_at_path;pub use git::get_blame;pub use git::get_blame_from_repo;pub use git::get_commit_diff;pub use git::get_commit_diff_from_repo;pub use git::get_commit_files;pub use git::get_commit_files_from_repo;pub use git::get_file_history;pub use git::get_file_history_from_repo;pub use git::get_file_patch;pub use git::get_file_patch_from_repo;pub use git::get_head_hash;pub use git::get_head_hash_cached;pub use git::get_head_hash_from_repo;pub use git::get_index_mtime;pub use git::get_index_mtime_cached;pub use git::get_index_mtime_from_repo;pub use git::get_repo_info_cached;pub use git::get_stash_list;pub use git::get_status;pub use git::get_status_cached;pub use git::get_status_from_repo;pub use git::get_working_file_diff;pub use git::get_working_file_diff_from_repo;pub use git::has_staged_files;pub use git::has_staged_files_in_repo;pub use git::list_branches;pub use git::list_branches_cached;pub use git::list_branches_from_repo;pub use git::load_events;pub use git::load_events_fast;pub use git::load_events_from_repo;pub use git::pull;pub use git::pull_in_repo;pub use git::push;pub use git::push_in_repo;pub use git::stage_all;pub use git::stage_all_in_repo;pub use git::stage_file;pub use git::stage_file_in_repo;pub use git::stash_apply;pub use git::stash_drop;pub use git::stash_pop;pub use git::stash_save;pub use git::unstage_all;pub use git::unstage_all_in_repo;pub use git::unstage_file;pub use git::unstage_file_in_repo;pub use git::BlameLine;pub use git::BranchInfo;pub use git::CommitDiff;pub use git::DiffLine;pub use git::DiffStats;pub use git::FileChange;pub use git::FileChangeStatus;pub use git::FileHistoryEntry;pub use git::FilePatch;pub use git::FileStatus;pub use git::FileStatusKind;pub use git::RepoInfo;pub use git::StashEntry;pub use graph::build_graph;pub use graph::get_graph_color;pub use graph::GraphCell;pub use graph::GraphLayout;pub use graph::GraphRow;pub use i18n::Language;pub use index::load_review_pack as load_cached_review_pack;pub use index::save_review_pack as save_cached_review_pack;pub use insights::actions_to_markdown;pub use insights::build_context_pack;pub use insights::build_context_summary;pub use insights::build_handoff_context;pub use insights::build_next_actions;pub use insights::build_review_pack;pub use insights::compute_signals_for_event;pub use insights::explain_recommendation;pub use insights::handoff_to_markdown;pub use insights::pack_to_markdown;pub use insights::review_pack_to_markdown;pub use insights::summary_to_markdown;pub use insights::verify_patch_risk;pub use insights::ActionRecommendation;pub use insights::ContextPack;pub use insights::ContextSummary;pub use insights::EvidenceLink;pub use insights::HandoffContext;pub use insights::ReviewOwnerCandidate;pub use insights::ReviewPack;pub use insights::ReviewRisk;pub use insights::SignalContext;pub use insights::SignalSet;pub use insights::MIN_COMMITS_FOR_COUPLING;pub use insights::MIN_COUPLING_RATIO;pub use intent::classify_intent;pub use intent::ChangeIntent;pub use metrics::load_metrics;pub use metrics::quick_action_usage_enabled;pub use metrics::record_quick_action_usage;pub use metrics::reset_metrics;pub use metrics::ActionUsageEntry;pub use metrics::MetricsData;pub use pr::check_gh_available;pub use pr::create_pr;pub use pr::PrCreateState;pub use related_files::RelatedFiles;pub use relevance::calculate_relevance;pub use relevance::RelevanceScore;pub use review_queue::ReviewItem;pub use review_queue::ReviewQueue;pub use review_queue::ReviewStatus;pub use risk::calculate_staged_risk;pub use risk::RiskLevel;pub use session::detect_sessions;pub use session::AiSession;pub use session::SessionStats;pub use split::suggest_splits;pub use split::SplitGroup;pub use split::SplitSuggestion;pub use staging::suggest_groups;pub use staging::StagingGroup;pub use stats::calculate_activity_timeline;pub use stats::calculate_bus_factor;pub use stats::calculate_change_coupling;pub use stats::calculate_file_heatmap;pub use stats::calculate_impact_scores;pub use stats::calculate_ownership;pub use stats::calculate_project_health;pub use stats::calculate_quality_scores;pub use stats::calculate_stats;pub use stats::calculate_tech_debt;pub use stats::is_test_file;pub use stats::ActivityTimeline;pub use stats::AggregationLevel;pub use stats::AlertSeverity;pub use stats::AuthorStats;pub use stats::BusFactorAnalysis;pub use stats::BusFactorEntry;pub use stats::BusFactorRisk;pub use stats::ChangeCouplingAnalysis;pub use stats::CodeOwnership;pub use stats::CodeOwnershipEntry;pub use stats::CommitImpactAnalysis;pub use stats::CommitImpactScore;pub use stats::CommitQualityAnalysis;pub use stats::CommitQualityScore;pub use stats::ConfidenceLevel;pub use stats::ContributorInfo;pub use stats::FileCoupling;pub use stats::FileHeatmap;pub use stats::FileHeatmapEntry;pub use stats::HealthAlert;pub use stats::HealthAlertKind;pub use stats::HealthConfidence;pub use stats::HealthScoreComponent;pub use stats::ProjectHealth;pub use stats::RepoStats;pub use stats::TechDebtAnalysis;pub use stats::TechDebtEntry;pub use stats::TechDebtLevel;pub use suggestion::generate_suggestions;pub use suggestion::CommitSuggestion;pub use topology::analyze_branch_recommendations;pub use topology::analyze_topology;pub use topology::analyze_topology_from_repo;pub use topology::BranchHealth;pub use topology::BranchRecommendation;pub use topology::BranchRecommendations;pub use topology::BranchRelation;pub use topology::BranchStatus;pub use topology::BranchTopology;pub use topology::HealthWarning;pub use topology::RecommendedAction;pub use topology::TopologyBranch;pub use topology::TopologyConfig;
Modules§
- app
- Application state management (App struct)
- cache
- cli
- CLI mode (non-interactive mode) module
- compare
- Branch comparison feature
- config
- Configuration management
- event
- export
- Export functionality module
- filter
- Smart filter module
- git
- graph
- Graph display module
- i18n
- Internationalization (i18n) module
- index
- insights
- intent
- Change intent classification
- metrics
- navigation
- pr
- One-key PR creation workflow
- related_
files - Related file analysis
- relevance
- Related commit prioritization
- review_
queue - Review feedback loop queue
- risk
- Staged risk scoring
- session
- AI Session detection and visualization
- split
- PR split suggestions
- staging
- Smart staging
- stats
- Statistics module
- suggestion
- Commit suggestion engine
- topology
- Branch topology view module
- tui