mindstack

Crates.iomindstack
lib.rsmindstack
version0.1.3
created_at2025-12-24 17:28:06.016024+00
updated_at2025-12-25 11:46:41.014356+00
descriptionA terminal-based note-taking application to quickly jot down ideas and thoughts.
homepage
repositoryhttps://github.com/akathecoder/mindstack-cli
max_upload_size
id2003610
size97,778
Sparsh Agarwal (akathecoder)

documentation

README

MindStack CLI

crate

mindstack is a simple terminal-based to‑do and notes manager built with Rust and ratatui. It lets you capture items quickly, review them in a list, and update their status.

Features

  • Add items with a title and optional description
  • Prioritize tasks: Set priority levels (Low, Medium, High, Urgent)
  • Tagging: Organize items with custom tags
  • Track status across Not Started, In Progress, Done, and Blocked
  • Navigate and manage items from a clean TUI
  • Context-aware hints displayed in the UI to help with key bindings
  • Persistent storage using SQLite

Prerequisites

Installation

You can install MindStack directly from crates.io:

cargo install mindstack

Building from source

  1. Clone the repository:

    git clone https://github.com/akathecoder/mindstack-cli
    cd mindstack-cli
    
  2. Build the project:

    cargo build --release
    
  3. Run the app:

    ./target/release/mindstack
    

Usage

When you start the app, you’ll land on the main screen which shows your list of items. You can switch to an Add screen to create a new item with:

  • Title (required)
  • Description (optional)
  • Status (Not Started, In Progress, Done, Blocked)
  • Priority (Low, Medium, High, Urgent)
  • Tags (space-separated)

The app renders contextual hints in the UI. Look for the hint line at the bottom of the screen—it explains which keys are available for the current context.

Project structure

  • src/main.rs: Application entry point and event loop
  • src/app.rs: App state, screen management, and actions
  • src/models/: Data models (ToDoItem, ToDoAddForm, status/priority types)
  • src/ui/: Terminal UI views and layout
  • src/db/: Database connection and schema management

Troubleshooting

  • If the terminal UI gets stuck or doesn’t restore properly, try closing the app and rerunning cargo run. The app installs color_eyre for better error reporting and uses ratatui helpers to initialize and restore the terminal.
  • Make sure your terminal supports basic ANSI escapes and that you’re not running inside a restricted shell.

License

MIT

Commit count: 0

cargo fmt