Skip to content

Enhancement: Archive and delete projects #19

@ecorkran

Description

@ecorkran

Feature Request

Add the ability to archive and delete projects to help manage the project list as it grows over time.

Current Limitation

  • All projects ever created remain in the project dropdown forever
  • No way to hide completed/inactive projects
  • No way to remove test projects or mistakes
  • Dropdown becomes cluttered over time

Proposed Features

1. Archive Projects

  • Behavior: Archived projects are hidden from the main project dropdown
  • Use case: Completed projects, on-hold projects, or projects you rarely use
  • Reversible: Yes - archived projects can be unarchived

2. Delete Projects

  • Behavior: Permanently removes the project and its data
  • Use case: Test projects, duplicates, or mistakes
  • Reversible: No - requires confirmation dialog
  • Safety: Should prompt "Are you sure? This cannot be undone."

UI/UX Considerations

Project Dropdown

  • Show only active (non-archived) projects by default
  • Optional: Add a toggle/checkbox to "Show archived projects" in dropdown

Project Management Interface

Could be implemented as:

  • Option A: Right-click context menu on project selector (Archive / Delete)
  • Option B: Dedicated "Manage Projects" page/dialog with list of all projects
  • Option C: Action buttons that appear when hovering over project name in dropdown
  • Option D: Menu item in application menu (File → Manage Projects)

Archived Projects Management

Need a way to:

  • View list of archived projects
  • Unarchive projects (restore to active list)
  • Delete archived projects permanently

Data Model Changes

ProjectData Interface

Add new field:

export interface ProjectData {
  // ... existing fields ...
  archived?: boolean;  // Default: false or undefined
}

Storage

  • Archived status persists in projects.json
  • Deletion removes project from projects.json entirely
  • Consider backup before deletion (copy to deleted-projects.json?)

Implementation Phases

Phase 1: Archive (MVP)

  • Add archived field to ProjectData
  • Filter archived projects from dropdown
  • Add UI to archive/unarchive projects
  • Simple "Manage Projects" dialog

Phase 2: Delete (Safety Required)

  • Add delete functionality with confirmation
  • Optional: Move to trash/backup before permanent delete
  • Handle edge case: deleting currently active project

Phase 3: Enhanced Management (Future)

  • Search/filter in project list
  • Bulk operations (archive multiple projects)
  • Export/import projects
  • Project statistics (last used, created date, etc.)

User Stories

  1. As a developer, I want to archive completed projects so they don't clutter my active project list
  2. As a developer, I want to delete test projects so they don't accumulate over time
  3. As a developer, I want to unarchive projects when I need to reference old work
  4. As a developer, I want confirmation before deleting to prevent accidental data loss

Additional Considerations

  • What happens when you delete the currently active project?
    • Switch to another active project automatically
    • If no active projects remain, create a new default project
  • Should archived projects still appear in search?
  • Should there be a "Recently Archived" section for easy undo?

Priority

Medium - Quality of life improvement that becomes more important as usage grows

Labels

enhancement, ux

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions