bestls 0.2.0

A fast and colorful Rust-based ls replacement CLI tool with JSON output and sorting options.
# โœ… Roadmap for `bestls`

A structured and professional development plan for future enhancements to the `bestls` CLI tool.

---

## ๐Ÿ” v1.1 โ€“ Hidden Files & Permissions

- [x] Add `--all` / `-a` flag to display hidden files
- [x] Display Unix-style file permissions
- [x] Show file owner and group information (via `users` crate)
- [x] Refactor table output to include new columns

---

## ๐ŸŒฒ v1.2 โ€“ Tree View & Filtering

- [ ] Add `--tree` flag for recursive directory listing
- [ ] Implement depth limit with `--depth <n>`
- [ ] Add filtering options:
  - `--filter-ext <ext>`
  - `--filter-name <pattern>`
- [ ] Add size-based filters with human-readable units:
  - `--min-size <size>`
  - `--max-size <size>`

---

## ๐Ÿงน v1.3 โ€“ Output Customization

- [ ] Add `--compact` for minimal single-column output (like `ls -1`)
- [ ] Add `--columns name,size,date,...` to customize visible columns
- [ ] Add `--out <file>` option to export output
- [ ] Add `--format json|table` override for flexible output formats

---

## ๐ŸŽจ v1.4 โ€“ Color & Theme

- [ ] Color code files by extension
- [ ] Theme support via `~/.config/bestls/config.toml`
- [ ] Add `--no-color` flag to disable colors

---

## โš™๏ธ v1.5 โ€“ Shell Completions & Config

- [ ] Add shell completions (via `clap_complete`)
- [ ] Support `--generate-completions` command
- [ ] Load default settings from config file (`TOML`/`JSON`)
- [ ] Support default sorting, columns, and color scheme via config

---

## ๐Ÿงช Internal Improvements

- [ ] Add integration tests (`assert_cmd`, `tempdir`)
- [ ] Write unit tests for sorting and formatting logic
- [ ] Add benchmarks with `criterion`

---

## ๐ŸŒ Community & Ecosystem

- [ ] Add `CONTRIBUTING.md` guidelines
- [ ] Enable GitHub Discussions & issue templates
- [ ] Publish package to AUR (PKGBUILD)
- [ ] Improve `crates.io` metadata
- [ ] Maintain `CHANGELOG.md`

---

## ๐Ÿงฑ v2.0 โ€“ Plugin Architecture

- [ ] Design extensible plugin system
- [ ] Support column and filter plugins
- [ ] Enable dynamic `.so` / `.dll` modules or subcommand extensions

---

## ๐Ÿ“ฆ Distribution

- [ ] Add precompiled binaries to GitHub releases
- [ ] Create a Homebrew formula for macOS users
- [ ] Provide Snap and AppImage support for Linux distributions