The Terminal User Interface (TUI) provides an interactive way to manage filters and monitor enforcement.
./bin/techstack_tui_main
# or if installed:
techstack-tui==========================================
TECHSTACK ENFORCER v1.0
Ada/SPARK Filter Management TUI
==========================================
Mode: [ENFORCE] - Blocking enabled
FILTER LIST (45 entries)
-----------------------------------------------
> [#] *.py | Python: No static typing...
[#] *.php | PHP: Memory-unsafe, injection...
[X] *.c | C: Manual memory management
[!] *.sh | Shell script - verify manually
[+] *.rs | Rust: Memory-safe with ownership
[a]dd [e]dit [d]elete [Space]toggle [1-4]mode [s]can [?]help [q]uit
| Key | Action |
|---|---|
j or ↓ |
Move selection down |
k or ↑ |
Move selection up |
g |
Go to first filter |
G |
Go to last filter |
| Key | Action |
|---|---|
a |
Add new filter |
e |
Edit selected filter |
d |
Delete selected filter |
Space |
Toggle enabled/disabled |
| Key | Mode | Description |
|---|---|---|
1 |
Learning | Observe only, no blocking |
2 |
Warn | Warnings only |
3 |
Enforce | Block violations |
4 |
Lockdown | Maximum enforcement |
| Key | Action |
|---|---|
s |
Scan repository |
S |
View statistics |
r |
Reset hit counters |
w |
Save configuration |
? |
Show help |
q |
Quit |
Shows all configured filters with:
- Level indicator:
[+]Allow,[!]Warn,[X]Block,[#]Fatal - Pattern (glob)
- Reason/description
[L]marker for learned filters
Interactive prompts for:
- Pattern - Glob pattern (e.g.,
*.py,Dockerfile) - Severity -
a=Allow,w=Warn,b=Block,f=Fatal - Reason - Description of why it's blocked
Modify an existing filter:
- Shows current values
- Press Enter to keep current value
- Change pattern, level, or reason
Shows aggregate information:
- Total filters
- Enabled/disabled count
- Learned filters
- Breakdown by severity
- Total pattern hits
Scan a directory for violations:
- Enter repository path
- View results (files scanned, violations, fatal blocks)
| Symbol | Color | Level | Meaning |
|---|---|---|---|
[+] |
Green | Allow | Explicitly permitted |
[!] |
Yellow | Warn | Warning only |
[X] |
Magenta | Block | Blocked in enforce mode |
[#] |
Red | Fatal | Always blocked |
| Mode | Color | Description |
|---|---|---|
[LEARNING] |
Blue | Observing only |
[WARN] |
Yellow | Warnings only |
[ENFORCE] |
Magenta | Blocking enabled |
[LOCKDOWN] |
Red | Maximum enforcement |
- Press
ato add - Enter pattern:
*.legacy - Enter severity:
b(block) - Enter reason:
Legacy code not permitted - Press
wto save configuration
- Navigate to the filter with
j/k - Press
eto edit - Modify values (or press Enter to keep)
- Press
wto save
- Press
sto scan - Enter path:
/path/to/project - Review results
- Press any key to return
- Press
1for learning mode (testing) - Press
3for enforce mode (production) - Press
4for lockdown mode (high security)
The TUI saves configuration to techstack.toml in the current directory.
To load a specific configuration:
cd /path/with/config
techstack-tui