|
3 | 3 | [](https://github.com/chamren86/terminal-history-outline) |
4 | 4 | [](https://code.visualstudio.com/) |
5 | 5 | [](LICENSE) |
| 6 | +[](https://github.com/chamren86/terminal-history-outline/releases/latest/download/terminal-history-outline-0.4.1.vsix) |
6 | 7 |
|
7 | 8 | View and manage your terminal command history directly in the VS Code Explorer outline view. |
8 | 9 |
|
9 | | -<div align="center"> |
10 | | - <img src="docs/basicPreview.gif" alt="Terminal History Outline Demo" width="400"/> |
11 | | - <p><em>Terminal History Outline in action</em></p> |
12 | | -</div> |
13 | | - |
14 | 10 | ## Features |
15 | 11 |
|
16 | 12 | - 📝 **Command History** - Automatically captures every command and its output |
17 | 13 | - 🟢/🔴/🟡 **Status Indicators** - Shows success, failure, or running status |
18 | 14 | - 🔧 **Actions** - Rerun commands, copy output, clear history |
19 | 15 | - 🔒 **Security** - Detects and redacts passwords, API keys, and tokens (v0.4.0) |
| 16 | +- 📊 **Privacy Dashboard** - View and manage your security settings |
20 | 17 | - 🎨 **Clean Display** - Strips ANSI codes and shows clean output |
21 | 18 | - 💾 **Persistent** - History survives VS Code restarts |
22 | 19 |
|
| 20 | +## Demo |
| 21 | + |
| 22 | +<div align="center"> |
| 23 | + <img src="docs/basicPreview.gif" alt="Terminal History Outline Demo" width="700"/> |
| 24 | + <p><em>Terminal History Outline in action</em></p> |
| 25 | +</div> |
| 26 | + |
23 | 27 | ## Installation |
24 | 28 |
|
25 | | -From VS Code: Search for "Terminal History Outline" in the Extensions view (Ctrl+Shift+X). |
| 29 | +### From VSIX (Manual Download) |
| 30 | + |
| 31 | +1. Download the latest `.vsix` file: |
| 32 | + - From [GitHub Releases](https://github.com/chamren86/terminal-history-outline/releases) |
| 33 | + - Or via direct link: [Download Latest VSIX](https://github.com/chamren86/terminal-history-outline/releases/latest/download/terminal-history-outline-0.4.1.vsix) |
| 34 | + |
| 35 | +2. Install the extension: |
| 36 | + - **VS Code UI**: Extensions → `...` → Install from VSIX → Select the file |
| 37 | + - **Command Line**: `code --install-extension terminal-history-outline-0.4.1.vsix` |
| 38 | + |
| 39 | +### From VS Code Marketplace (Coming Soon) |
| 40 | +The extension will be available on the Marketplace after beta testing. |
| 41 | + |
| 42 | +### From Source (For Development) |
| 43 | + |
| 44 | +``` |
| 45 | +git clone https://github.com/chamren86/terminal-history-outline.git |
| 46 | +cd terminal-history-outline |
| 47 | +npm install |
| 48 | +npm run compile |
| 49 | +``` |
| 50 | + |
| 51 | +Press F5 to launch the extension in a development window. |
| 52 | + |
| 53 | +## Usage |
| 54 | + |
| 55 | +1. Open a terminal (`` Ctrl+` ``) |
| 56 | +2. Run any command - it appears in the Terminal History view (Explorer sidebar) |
| 57 | +3. Click a command to see its output |
| 58 | +4. Right-click for actions: Rerun, Copy Output |
| 59 | + |
| 60 | +### Commands |
| 61 | + |
| 62 | +| Command | Description | |
| 63 | +|---------|-------------| |
| 64 | +| `Clear Terminal History` | Clear all saved commands | |
| 65 | +| `Rerun Command` | Re-run the selected command | |
| 66 | +| `Copy Output` | Copy command output to clipboard | |
| 67 | +| `Privacy Dashboard` | View and manage security settings | |
| 68 | + |
| 69 | +## Configuration |
| 70 | + |
| 71 | +VS Code settings (`Ctrl+,`): |
| 72 | + |
| 73 | +``` |
| 74 | +{ |
| 75 | + "terminalHistory.maxHistorySize": 100, |
| 76 | + "terminalHistory.security.detectionEnabled": true, |
| 77 | + "terminalHistory.security.redactionLevel": "warn", |
| 78 | + "terminalHistory.security.warnOnDetection": true, |
| 79 | + "terminalHistory.security.customPatterns": [], |
| 80 | + "terminalHistory.security.excludedCommands": [] |
| 81 | +} |
| 82 | +``` |
26 | 83 |
|
27 | | -Or from source: |
| 84 | +### Security Settings |
28 | 85 |
|
29 | | -```bash |
| 86 | +| Setting | Values | Description | |
| 87 | +|---------|--------|-------------| |
| 88 | +| `detectionEnabled` | true/false | Enable/disable sensitive data detection | |
| 89 | +| `redactionLevel` | off/warn/redact/block | How to handle sensitive data | |
| 90 | +| `warnOnDetection` | true/false | Show warning when sensitive data is detected | |
| 91 | +| `customPatterns` | string[] | Custom regex patterns for detection | |
| 92 | +| `excludedCommands` | string[] | Commands to never save (regex supported) | |
| 93 | + |
| 94 | +## Development |
| 95 | + |
| 96 | +### Prerequisites |
| 97 | +- Node.js 18+ |
| 98 | +- npm |
| 99 | + |
| 100 | +### Setup |
| 101 | + |
| 102 | +``` |
30 | 103 | git clone https://github.com/chamren86/terminal-history-outline.git |
31 | 104 | cd terminal-history-outline |
32 | 105 | npm install |
33 | | -npm run compile |
| 106 | +npm run compile |
| 107 | +``` |
| 108 | + |
| 109 | +### Testing |
| 110 | + |
| 111 | +| Command | Description | When to Use | |
| 112 | +|---------|-------------|-------------| |
| 113 | +| `npm test` | Run all unit tests | During development | |
| 114 | +| `npm run test:unit` | Quick tests (fast) | Rapid development | |
| 115 | +| `npm run test:full` | Full suite with clean install | Before commit | |
| 116 | +| `npm run test:act` | Run GitHub Actions locally | Test CI/CD locally | |
| 117 | +| `npm run precommit` | Check uncommitted changes | Before committing | |
| 118 | +| `npm run prepush` | Full validation | Before pushing | |
| 119 | + |
| 120 | +### Install `act` for GitHub Actions Testing (Optional) |
| 121 | +To test GitHub Actions locally: |
| 122 | +- **Ubuntu/Debian**: `curl -s https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash` |
| 123 | +- **macOS**: `brew install act` |
| 124 | +- **Windows**: `choco install act` |
| 125 | +- **More info**: https://github.com/nektos/act |
| 126 | + |
| 127 | +### Project Structure |
| 128 | + |
| 129 | +``` |
| 130 | +src/ |
| 131 | +├── cleaner.ts # ANSI cleaning |
| 132 | +├── extension.ts # Extension activation |
| 133 | +├── security.ts # Security module |
| 134 | +├── privacyCommands.ts # Privacy dashboard commands |
| 135 | +├── terminalHistoryProvider.ts # Tree provider |
| 136 | +└── test/ # Unit tests |
| 137 | + ├── unit/ |
| 138 | + │ ├── ansiCleanerTest.ts # ANSI cleaning tests |
| 139 | + │ └── securityTest.ts # Security tests |
| 140 | + └── fixtures/ |
| 141 | + └── sampleOutputs.ts # Test data |
| 142 | +``` |
| 143 | + |
| 144 | +## Requirements |
| 145 | + |
| 146 | +- VS Code 1.93+ |
| 147 | +- Shell Integration enabled (default: on) |
| 148 | + |
| 149 | +### Enabling Shell Integration |
| 150 | +If commands aren't being captured, ensure Shell Integration is enabled: |
| 151 | +1. Open VS Code Settings (Ctrl+,) |
| 152 | +2. Search for "shell integration enabled" |
| 153 | +3. Check `Terminal > Integrated > Shell Integration: Enabled` |
| 154 | + |
| 155 | +## Roadmap |
| 156 | + |
| 157 | +**v0.4.1** (Current) - Testing Infrastructure & Pre-commit ✅ |
| 158 | +**v0.5.0** - Improved Output Cleaning |
| 159 | +**v0.6.0** - Search & Filter |
| 160 | +**v1.0.0** - Production Release |
| 161 | + |
| 162 | +[Full Roadmap](docs/FEATURES.md) |
| 163 | + |
| 164 | +## Release Notes |
| 165 | + |
| 166 | +### v0.4.1 - Testing Infrastructure & Pre-commit (2026-06-17) |
| 167 | +- 🛠️ Pre-commit and pre-push validation scripts |
| 168 | +- ⚡ Migrated from mocha to vitest |
| 169 | +- 🐳 `act` integration for local GitHub Actions testing |
| 170 | +- ✅ 49 passing tests |
| 171 | +- 📦 VSIX package ready for distribution |
| 172 | + |
| 173 | +### v0.4.0 - Security & Privacy |
| 174 | +- 🔒 Sensitive data detection (passwords, API keys, tokens) |
| 175 | +- 🔒 Auto-redaction with `[REDACTED]` |
| 176 | +- 📊 Privacy dashboard |
| 177 | +- ✅ 49 passing tests |
| 178 | + |
| 179 | +### v0.3.0 - Testing Infrastructure |
| 180 | +- ✅ Mocha test framework with 49 tests |
| 181 | +- ✅ Cleaner module with no VS Code dependencies |
| 182 | + |
| 183 | +### v0.2.0 - Stable Release |
| 184 | +- 🟢 Colored status indicators |
| 185 | +- 📝 Command output capture |
| 186 | +- 🔄 Rerun and copy actions |
| 187 | + |
| 188 | +[Full Release Notes](docs/RELEASE-NOTES.md) |
| 189 | + |
| 190 | +## License |
| 191 | + |
| 192 | +MIT © [chamren86](https://github.com/chamren86) |
| 193 | + |
| 194 | +--- |
| 195 | + |
| 196 | +**Enjoy tracking your terminal history!** 🚀 |
0 commit comments