Set up the GitLab Inbox (gi) CLI tool as a Rust 2024 edition project.
Dependencies organized by purpose:
- Database: rusqlite (bundled SQLite), sqlite-vec for vector search
- Serialization: serde/serde_json for GitLab API responses
- CLI: clap for argument parsing, dialoguer for interactive prompts,
comfy-table for formatted output, indicatif for progress bars
- HTTP: reqwest with tokio async runtime for GitLab API calls
- Async: async-stream and futures for paginated API iteration
- Utilities: thiserror for error types, chrono for timestamps,
flate2 for payload compression, sha2 for content hashing
- Logging: tracing with env-filter for structured debug output
Release profile optimized for small binary size (LTO, strip symbols).
Project structure follows standard Rust conventions with src/lib.rs
exposing modules and src/main.rs as CLI entry point.
Added .gitignore for Rust/Cargo artifacts and local database files.
Added AGENTS.md with TDD workflow guidance and beads issue tracking
integration instructions for AI-assisted development.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>