From 0deed28c5d795d2b21181aee6bb6b4815bc218df Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sat, 31 Jan 2026 09:32:58 +0000 Subject: [PATCH] fix: resolve CI linting issues - remove unused imports and f-strings --- app/README.md | 332 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 332 insertions(+) create mode 100644 app/README.md diff --git a/app/README.md b/app/README.md new file mode 100644 index 0000000..933f831 --- /dev/null +++ b/app/README.md @@ -0,0 +1,332 @@ +# CLI Command Memory + +A CLI tool that records developer terminal workflows with project context, enables smart autocomplete based on history, detects automation patterns, and generates reusable scripts from recurring command sequences. + +## Features + +- **Command Recording**: Record terminal workflows with automatic project context detection +- **Smart Autocomplete**: Get intelligent command suggestions based on history and patterns +- **Pattern Detection**: Automatically detect recurring command sequences +- **Script Generation**: Convert workflows into reusable bash scripts +- **Workflow Playback**: Replay recorded workflows with configurable speed +- **Searchable History**: Search commands by project, technology, or time range +- **Shell Integration**: Auto-capture commands in your shell sessions +- **Export/Import**: Share workflows with JSON/YAML export + +## Installation + +```bash +# Clone the repository +git clone +cd cli-command-memory + +# Install dependencies +pip install -r requirements.txt + +# Install in development mode +pip install -e . +``` + +## Quick Start + +```bash +# Initialize CLI Command Memory +cli-memory init + +# Start recording a command session +cli-memory record start + +# Search for previous commands +cli-memory search commands "git status" + +# Get suggestions for next command +cli-memory suggest next "git " + +# Generate a script from a workflow +cli-memory workflow generate 1 --name my-script +``` + +## Usage + +### Recording Commands + +```bash +# Start interactive recording session +cli-memory record start + +# Record a single command +cli-memory record single "git status" + +# View recent recorded commands +cli-memory record recent --limit 20 +``` + +### Searching History + +```bash +# Search commands by query +cli-memory search commands "git commit" + +# Search by project +cli-memory search commands --project my-project + +# Search by command type +cli-memory search commands --type git + +# Fuzzy search +cli-memory search commands "stts" --fuzzy + +# Search by technology stack +cli-memory search tech python + +# Show recent commands +cli-memory search recent --hours 24 + +# View command statistics +cli-memory search stats +``` + +### Smart Suggestions + +```bash +# Get suggestions for next command +cli-memory suggest next "git " + +# Get autocomplete candidates +cli-memory suggest autocomplete "git ch" + +# Train suggestion engine +cli-memory suggest train + +# View detected patterns +cli-memory suggest patterns +``` + +### Workflow Management + +```bash +# List workflows +cli-memory workflow list + +# Show workflow details +cli-memory workflow show 1 + +# Playback a workflow +cli-memory workflow play 1 --speed 2.0 + +# Preview workflow commands +cli-memory workflow preview 1 + +# Generate script from workflow +cli-memory workflow generate 1 --name my-script +``` + +### Export and Import + +```bash +# Export commands to JSON +cli-memory export commands -o commands.json + +# Export workflows +cli-memory export workflows -o workflows.yaml + +# Export all data +cli-memory export all -o backup.json + +# List generated scripts +cli-memory export scripts +``` + +## Configuration + +Configuration is managed through `config.yaml` and environment variables. + +### Environment Variables + +| Variable | Default | Description | +|----------|---------|-------------| +| `CLI_MEMORY_HOME` | `~/.cli_memory` | Base directory for storing data | +| `LOG_LEVEL` | `info` | Logging level: debug, info, warning, error | +| `MAX_WORKFLOW_COMMANDS` | `100` | Max commands to store per workflow | +| `MAX_SUGGESTIONS` | `10` | Number of suggestions to return | +| `ENABLE_AUTOCOMPLETE` | `true` | Enable autocomplete integration | + +### Configuration File + +Create a `config.yaml` file in your project directory or `~/.cli_memory/`: + +```yaml +database: + path: "~/.cli_memory/database.db" + wal_mode: true + +recording: + max_commands_per_workflow: 100 + min_commands_for_workflow: 3 + +suggestions: + max_suggestions: 10 + min_confidence: 0.3 +``` + +## Shell Integration + +For automatic command recording, set up shell integration: + +```bash +# Set up bash integration +cli-memory shell setup + +# Restart your shell or source your profile +source ~/.bashrc +``` + +## Commands Reference + +### Main Commands + +| Command | Description | +|---------|-------------| +| `cli-memory init` | Initialize CLI Command Memory | +| `cli-memory status` | Show current status and statistics | +| `cli-memory detect` | Detect project context | + +### Record Group + +| Command | Description | +|---------|-------------| +| `record start` | Start interactive recording session | +| `record single` | Record a single command | +| `record recent` | Show recent recorded commands | + +### Search Group + +| Command | Description | +|---------|-------------| +| `search commands` | Search recorded commands | +| `search workflows` | Search workflows | +| `search tech` | Search by technology stack | +| `search recent` | Show recent commands | +| `search stats` | Show command statistics | + +### Suggest Group + +| Command | Description | +|---------|-------------| +| `suggest next` | Get command suggestions | +| `suggest autocomplete` | Get autocomplete candidates | +| `suggest train` | Train suggestion engine | +| `suggest patterns` | Show detected patterns | + +### Workflow Group + +| Command | Description | +|---------|-------------| +| `workflow list` | List all workflows | +| `workflow show` | Show workflow details | +| `workflow play` | Playback a workflow | +| `workflow preview` | Preview workflow commands | +| `workflow generate` | Generate script from workflow | + +### Export Group + +| Command | Description | +|---------|-------------| +| `export commands` | Export commands to file | +| `export workflows` | Export workflows to file | +| `export all` | Export all data | +| `export scripts` | List generated scripts | + +## Examples + +### Recording a Git Workflow + +```bash +# Start recording +cli-memory record start --project my-repo --tag git + +# Execute commands +git checkout -b feature/new-feature +git add . +git commit -m "Add new feature" +git push origin feature/new-feature + +# Exit recording (type 'exit') +exit + +# Save as workflow when prompted +``` + +### Creating a Deployment Script + +```bash +# Search for deployment commands +cli-memory search commands "docker build" + +# Generate script from workflow +cli-memory workflow generate 5 --name deploy-prod --output deploy.sh +``` + +### Finding Common Patterns + +```bash +# Train suggestion engine +cli-memory suggest train + +# View detected patterns +cli-memory suggest patterns + +# Generate automation script +cli-memory workflow generate 3 --name automation-script +``` + +## Architecture + +``` +cli_command_memory/ +├── cli_memory/ +│ ├── __init__.py # Package initialization +│ ├── cli.py # Main Click CLI interface +│ ├── config.py # Configuration management +│ ├── database.py # SQLite database layer +│ ├── models.py # Data models +│ ├── recorder.py # Command recording +│ ├── project.py # Project detection +│ ├── context.py # Context extraction +│ ├── search.py # Search engine +│ ├── history.py # History management +│ ├── suggestions.py # Suggestion engine +│ ├── patterns.py # Pattern detection +│ ├── generator.py # Script generation +│ ├── playback.py # Workflow playback +│ └── commands/ # CLI commands +├── shell/ # Shell integration +│ ├── bash_completion.sh +│ └── setup.sh +└── tests/ # Unit tests +``` + +## Testing + +```bash +# Run all tests +pytest tests/ -v + +# Run with coverage +pytest tests/ --cov=cli_memory --cov-report=term-missing + +# Run specific test file +pytest tests/test_models.py -v +``` + +## Contributing + +1. Fork the repository +2. Create a feature branch +3. Make your changes +4. Run tests: `pytest tests/` +5. Submit a pull request + +## License + +MIT License - see LICENSE file for details.