Skip to content

feat: add stats command for organization statistics and reports (Vibe Kanban)#1

Closed
d1maash wants to merge 1 commit intomainfrom
vk/1f9f-
Closed

feat: add stats command for organization statistics and reports (Vibe Kanban)#1
d1maash wants to merge 1 commit intomainfrom
vk/1f9f-

Conversation

@d1maash
Copy link
Owner

@d1maash d1maash commented Jan 24, 2026

Summary

This PR implements the sortora stats command that provides comprehensive statistics and reports about file organization activities.

Features Added

  • Period-based statistics (day/week/month):

    • Number of files organized per period
    • Breakdown by operation type (move, copy, delete)
    • Breakdown by rule triggered
  • Top rules analysis:

    • Top 10 most frequently triggered rules
    • Last usage timestamp for each rule
  • Duplicate files statistics:

    • Number of duplicate groups detected
    • Potential space savings from removing duplicates
    • Count of deleted duplicates and actual space saved
  • Overall statistics:

    • Total files analyzed
    • Total size tracked
    • Total operations performed
    • File distribution by category

Command Options

sortora stats              # Show all statistics
sortora stats --json       # Output in JSON format
sortora stats --period day # Stats for today only
sortora stats --rules      # Show only top rules
sortora stats --duplicates # Show only duplicate stats

Implementation Details

Files modified:

  • src/storage/database.ts - Added new query methods:

    • getOperationsByPeriod() - Get stats filtered by time period
    • getTopRules() - Get most frequently triggered rules
    • getDuplicateStats() - Calculate duplicate file statistics
    • getDeletedDuplicatesStats() - Track removed duplicates and saved space
    • getActivityTimeline() - Get activity data for visualization
  • src/ui/table.ts - Added rendering functions:

    • renderStatsOverview() - Period comparison table
    • renderTopRules() - Rules ranking table
    • renderDuplicateStats() - Duplicate analysis table
    • renderOverallStats() - General statistics and category breakdown
  • src/cli.ts - Added the stats command with all options


This PR was written using Vibe Kanban

…зывает:

**Функционал команды `stats`:**

1. **Статистика по периодам (день/неделя/месяц):**
   - Количество организованных файлов
   - Разби��ка по типам операций (move, copy, delete)

2. **Самые активные правила:**
   - Топ-10 правил по количеству срабатываний
   - Время последнего использования каждого правила

3. **Статистика дубликатов:**
   - Количество групп дубликатов
   - Потенциальная экономия места
   - Количество удалённых дубликатов и сэкономленное место

4. **Общая статистика:**
   - Всего проанализированных файлов
   - Общий размер отслеживаемых файлов
   - Всего выполненных операций
   - Распределение файлов по категориям

**Опции команды:**
- `--json` — вывод в формате JSON
- `--period <day|week|month>` — показать статистику за конкретный период
- `--rules` — показать только статистику по правилам
- `--duplicates` — показать только статистику дубликатов
@d1maash d1maash closed this Jan 24, 2026
@d1maash d1maash changed the title Реализуй мне этот функционал (vibe-kanban) feat: Add sortora stats command for organization statistics and reports (Vibe Kanban) Jan 24, 2026
@d1maash d1maash changed the title feat: Add sortora stats command for organization statistics and reports (Vibe Kanban) feat: add stats command for organization statistics and reports (Vibe Kanban) Jan 24, 2026
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