All projects

Rust CLI + TUI Search

Semantix Lite

Semantix Lite began with a narrow developer need: search local code and documents quickly, whether from a script or an interactive terminal session.

View source on GitHub
Field note / 04toolsCLI + TUI, one engine
01

Context

Problem, constraints, and my role

Local code and document collections need focused search that works equally well in scripts and interactive sessions.

Constraints

  1. CLI and TUI modes needed consistent search behavior.
  2. Recursive, regex, case-sensitive, and extension filters had to compose cleanly.
  3. The tool needed to stay modular and cross-platform.

My role

I developed the Rust CLI and TUI with regex, case-sensitive, extension-based, and recursive filtering.

02

Project media

The system in view

Interface studies and working demonstrations from the project.

03

Architecture note

One search engine, two interfaces

CLI and TUI modules share a reusable search layer and utilities, while output rendering remains decoupled.

One search engine, two interfacesCLI and TUI modules share a reusable search layer and utilities, while output rendering remains decoupled.CLIclapTUIratatuiSearch enginesharedFiltersregex + pathswalkdirdiscovery
04

Engineering decisions

The choices that shaped the work

01

Share the search core

CLI and TUI modules use the same search engine so filtering behavior stays consistent across both interfaces.

02

Keep rendering decoupled

Search behavior remains separate from command-line and interactive output rendering.

03

Compose focused filters

Regex, case sensitivity, file extensions, and recursive discovery form a practical local-search toolkit.

05

Result & reflection

What the work produced

CLI + TUI, one engine

Delivered a modular cross-platform tool with shared behavior across command-line and interactive modes.

What stayed with me

Semantix Lite reinforced the value of separating core logic from interfaces so one engine can serve more than one way of working.
  • Rust
  • clap
  • walkdir
  • regex
  • ratatui
  • crossterm