-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add Interactive Menu and Saved Configuration #61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Love the idea ! @0xallam However few points of attention before merging Code Fails Quality Checks : $ make check-all
🎨 Formatting code with ruff...
poetry run ruff format .
2 files reformatted, 72 files left unchanged
✅ Code formatting complete!
🔍 Linting code with ruff...
poetry run ruff check . --fix
[SNIPPED]
Found 37 errors (1 fixed, 36 remaining).
No fixes available (22 hidden fixes can be enabled with the `--unsafe-fixes` option).
make: *** [Makefile:42: lint] Error 1
Suggestion for maintability :
|
…environment method documentation
Fixed and commited. |
|
Make check-all doesn't pass checks.
if @0xallam accepts this behaviour it is good to go |
🎯 Problem
Strix has a beautiful CLI interface and powerful features, but running it requires remembering and typing complex command-line arguments. Users need to know:
--targetflag syntax--instructionflagsThis creates a barrier to entry, especially for new users who just want to quickly start a security scan without memorizing command syntax or managing environment variables manually.
✨ Solution
This PR adds two major improvements:
strixwithout argumentsInteractive Menu
Configuration Management
~/.strix/.env🚀 Features
Interactive Menu
[ ]/[x]checkbox indicatorsConfiguration Management Screen
Supported Configuration
openai/gpt-5,anthropic/claude-3-5-sonnet)http://localhost:11434)Supported Usage Scenarios
📸 Usage
Before (Command-line only)
After (Interactive menu + configuration)
🎨 UI/UX Improvements
🔧 Technical Details
Configuration Storage
~/.strix/.envusing standard.envformatConfigManager.apply_to_environment()litellm- settings applied immediatelyImplementation
textualframework (already in dependencies) for interactive UIpython-dotenvfor.envfile management--targetis providedConfiguration Flow
~/.strix/.env→ Apply to environment → Updatelitellmsettings~/.strix/.env→ Apply to environment → Updatelitellmsettings immediately📝 Example Flow
First Time Setup
strixopenai/gpt-5sk-...pplx-...(optional)Ctrl+Sto save~/.strix/.envRunning a Scan
strix🎯 Benefits
🔄 Backward Compatibility
This change is fully backward compatible. Users who prefer the command-line interface can continue using it exactly as before:
The menu only appears when no
--targetargument is provided. Environment variables take precedence over saved configuration, making it perfect for CI/CD and automation.📁 Files Changed
strix/interface/main.py- Added interactive menu, configuration screen, and config loadingstrix/interface/config_manager.py- New module for configuration management~/.strix/.env(created automatically)Why this matters: While Strix has excellent functionality and a great CLI, requiring users to remember complex command-line arguments and manage environment variables manually creates friction. This interactive menu and built-in configuration management make Strix more accessible while maintaining all the power and flexibility of the original CLI interface. Users can now get started in seconds instead of minutes, and their settings persist across sessions.