|
1 | | -# Spren - AI-Powered Shell Assistant |
| 1 | +# 🤖 Spren |
2 | 2 |
|
3 | | -Spren is an intelligent command-line assistant that helps you work with shell commands across different platforms. |
| 3 | +A smart shell assistant that converts natural language into shell commands. |
| 4 | + |
| 5 | +<p align="center"> |
| 6 | + <a href="#features">Features</a> • |
| 7 | + <a href="#installation">Installation</a> • |
| 8 | + <a href="#configuration">Configuration</a> • |
| 9 | + <a href="#usage">Usage</a> • |
| 10 | + <a href="#license">License</a> |
| 11 | +</p> |
| 12 | + |
| 13 | +## About |
| 14 | + |
| 15 | +Spren is an intelligent command-line assistant that translates natural language into shell commands. Whether you're a CLI novice or expert, Spren helps you work more efficiently by understanding your intent and suggesting the right commands. |
4 | 16 |
|
5 | 17 | ## Features |
6 | 18 |
|
7 | | -- Natural language to shell command conversion |
8 | | -- Support for Bash, PowerShell, and CMD |
9 | | -- Intelligent error analysis and suggestions |
10 | | -- Safe command execution with confirmation |
11 | | -- Cross-platform support |
| 19 | +- 🤖 Natural language to shell command conversion |
| 20 | +- 🔄 Cross-platform support (Windows, Linux, macOS) |
| 21 | +- 🛡️ Safe execution with command previews and confirmations |
| 22 | +- 🧠 Intelligent error analysis and suggestions |
| 23 | +- ⚡ Support for multiple shells (Bash, PowerShell, CMD) |
12 | 24 |
|
13 | 25 | ## Installation |
14 | 26 |
|
15 | | -### Linux/macOS |
16 | | -```bash |
17 | | -# Extract the archive |
18 | | -tar -xzf spren-linux-x86_64.tar.gz |
| 27 | +### Linux and macOS |
19 | 28 |
|
20 | | -# Run the installation script |
21 | | -./install.sh |
22 | | -``` |
| 29 | +1. Download the latest release for your platform: |
| 30 | + ```bash |
| 31 | + # Linux |
| 32 | + curl -LO https://github.com/smadgulkar/spren/releases/latest/download/spren-linux-amd64.tar.gz |
| 33 | + |
| 34 | + # macOS |
| 35 | + curl -LO https://github.com/smadgulkar/spren/releases/latest/download/spren-macos-amd64.tar.gz |
| 36 | + ``` |
| 37 | + |
| 38 | +2. Extract and make executable: |
| 39 | + ```bash |
| 40 | + tar xzf spren-*-amd64.tar.gz |
| 41 | + chmod +x spren |
| 42 | + ``` |
| 43 | + |
| 44 | +3. (Optional) Move to a directory in your PATH: |
| 45 | + ```bash |
| 46 | + sudo mv spren /usr/local/bin/ |
| 47 | + ``` |
23 | 48 |
|
24 | 49 | ### Windows |
25 | | -1. Extract the ZIP file |
26 | | -2. Run install.bat as administrator |
27 | | -3. Add the installation directory to your PATH |
| 50 | + |
| 51 | +1. Download `spren-windows-amd64.zip` from the [latest release](https://github.com/smadgulkar/spren/releases/latest) |
| 52 | +2. Extract the ZIP file |
| 53 | +3. Run `spren.exe` from any terminal |
28 | 54 |
|
29 | 55 | ## Configuration |
30 | 56 |
|
31 | | -The configuration file is located at: |
32 | | -- Linux/macOS: `~/.config/spren/config.toml` |
33 | | -- Windows: `%USERPROFILE%\.config\spren\config.toml` |
| 57 | +1. Run Spren once to create the default config: |
| 58 | + ```bash |
| 59 | + spren |
| 60 | + ``` |
34 | 61 |
|
35 | | -You'll need to add your API keys to the configuration file: |
36 | | -```toml |
37 | | -[ai] |
38 | | -anthropic_api_key = "your-key-here" |
39 | | -# or |
40 | | -openai_api_key = "your-key-here" |
41 | | -``` |
| 62 | +2. Edit your config file: |
| 63 | + ```bash |
| 64 | + # Linux/macOS |
| 65 | + vim ~/.config/spren/config.toml |
| 66 | + |
| 67 | + # Windows (PowerShell) |
| 68 | + notepad $env:USERPROFILE\.config\spren\config.toml |
| 69 | + ``` |
| 70 | + |
| 71 | +3. Add your LLM API key: |
| 72 | + ```toml |
| 73 | + [ai] |
| 74 | + provider = "anthropic" # or "openai" |
| 75 | + anthropic_api_key = "your-api-key-here" |
| 76 | + # or |
| 77 | + openai_api_key = "your-api-key-here" |
| 78 | + ``` |
42 | 79 |
|
43 | 80 | ## Usage |
44 | 81 |
|
45 | | -Simply type your command in natural language: |
| 82 | +Simply describe what you want to do: |
| 83 | + |
46 | 84 | ```bash |
47 | | -spren> show me all pdf files in the current directory |
| 85 | +$ spren find all pdf files modified in the last week |
| 86 | + |
| 87 | +📝 Command: find . -name "*.pdf" -mtime -7 |
| 88 | + |
| 89 | +Would you like to execute this command? [y/N]: |
48 | 90 | ``` |
49 | 91 |
|
50 | | -Spren will suggest the appropriate command and ask for confirmation before execution. |
| 92 | +Spren will: |
| 93 | +1. Understand your intent |
| 94 | +2. Generate the appropriate command |
| 95 | +3. Show you a preview |
| 96 | +4. Ask for confirmation before execution |
| 97 | + |
| 98 | +## Examples |
| 99 | + |
| 100 | +Find large files: |
| 101 | +```bash |
| 102 | +spren> show me files larger than 1GB |
| 103 | +``` |
| 104 | + |
| 105 | +Search through code: |
| 106 | +```bash |
| 107 | +spren> find all rust files containing the word "config" |
| 108 | +``` |
| 109 | + |
| 110 | +Complex operations: |
| 111 | +```bash |
| 112 | +spren> compress all jpg files in current directory and its subdirectories |
| 113 | +``` |
| 114 | + |
| 115 | +## Contributing |
| 116 | + |
| 117 | +Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details. |
51 | 118 |
|
52 | 119 | ## License |
53 | 120 |
|
54 | | -MIT License - See LICENSE file for details |
| 121 | +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. |
| 122 | + |
| 123 | +## Acknowledgments |
| 124 | + |
| 125 | +Spren is powered by: |
| 126 | +- [Anthropic's Claude](https://www.anthropic.com/) |
| 127 | +- [OpenAI](https://openai.com/) |
0 commit comments