Skip to content

Commit 6f86450

Browse files
committed
updated docs and added .vsix for testing
1 parent 5d1c170 commit 6f86450

7 files changed

Lines changed: 312 additions & 42 deletions

File tree

.vscodeignore

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,46 @@
1+
# Test files (not needed in production)
2+
out/test/**
3+
src/test/**
4+
test/**
5+
*.test.js
6+
*.test.ts
7+
8+
# Development files
9+
node_modules/**
10+
.git/**
111
.vscode/**
212
.vscode-test/**
3-
src/**
4-
.gitignore
5-
.yarnrc
6-
vsc-extension-quickstart.md
7-
**/tsconfig.json
8-
**/eslint.config.mjs
9-
**/*.map
10-
**/*.ts
11-
**/.vscode-test.*
13+
scripts/**
14+
!scripts/*.md
15+
16+
# Build outputs (keep only necessary)
17+
# Exclude all out/ except specific files
18+
out/**
19+
!out/extension.js
20+
!out/extension.js.map
21+
!out/cleaner.js
22+
!out/cleaner.js.map
23+
!out/security.js
24+
!out/security.js.map
25+
!out/privacyCommands.js
26+
!out/privacyCommands.js.map
27+
!out/terminalHistoryProvider.js
28+
!out/terminalHistoryProvider.js.map
29+
30+
# Documentation (keep README and LICENSE)
31+
!README.md
32+
!LICENSE.md
33+
CHANGELOG.md
34+
RELEASE-NOTES.md
35+
ROADMAP/**
36+
docs/**
37+
38+
# Temporary files
39+
*.log
40+
*.tmp
41+
.DS_Store
42+
43+
# Binary files
44+
bin/
45+
*.vsix
46+
node_modules/

README.md

Lines changed: 172 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,194 @@
33
[![Version](https://img.shields.io/badge/version-0.4.1-blue.svg)](https://github.com/chamren86/terminal-history-outline)
44
[![VS Code](https://img.shields.io/badge/VS%20Code-1.93%2B-blue.svg)](https://code.visualstudio.com/)
55
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
6+
[![Download VSIX](https://img.shields.io/badge/download-.vsix-blue.svg)](https://github.com/chamren86/terminal-history-outline/releases/latest/download/terminal-history-outline-0.4.1.vsix)
67

78
View and manage your terminal command history directly in the VS Code Explorer outline view.
89

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-
1410
## Features
1511

1612
- 📝 **Command History** - Automatically captures every command and its output
1713
- 🟢/🔴/🟡 **Status Indicators** - Shows success, failure, or running status
1814
- 🔧 **Actions** - Rerun commands, copy output, clear history
1915
- 🔒 **Security** - Detects and redacts passwords, API keys, and tokens (v0.4.0)
16+
- 📊 **Privacy Dashboard** - View and manage your security settings
2017
- 🎨 **Clean Display** - Strips ANSI codes and shows clean output
2118
- 💾 **Persistent** - History survives VS Code restarts
2219

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+
2327
## Installation
2428

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+
```
2683

27-
Or from source:
84+
### Security Settings
2885

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+
```
30103
git clone https://github.com/chamren86/terminal-history-outline.git
31104
cd terminal-history-outline
32105
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!** 🚀

docs/CHANGELOG.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,33 @@
11
# Changelog
22

3+
All notable changes to the "terminal-history-outline" extension will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
38
## [0.4.1] - 2026-06-17
49

510
### Added
6-
- Pre-commit validation script with `npm run precommit`
7-
- Pre-push validation script with `npm run prepush`
8-
- Unit test script with `npm run test:unit`
9-
- Full test script with `npm run test:full`
11+
- Pre-commit validation script (`npm run precommit`)
12+
- Pre-push validation script (`npm run prepush`)
13+
- Unit test script (`npm run test:unit`)
14+
- Full test script (`npm run test:full`)
1015
- `act` integration for local GitHub Actions testing
11-
- Test scripts documentation in README
16+
- VSIX packaging support with `.vscodeignore`
17+
- Test documentation
1218

1319
### Changed
1420
- Migrated from mocha to vitest for better ESM support
1521
- Improved security module logic in `shouldRedactOrBlock`
1622
- Updated test scripts to use vitest
1723
- Improved Docker detection in precommit script
24+
- Cleaner VSIX packaging
1825

1926
### Fixed
2027
- Security test failures related to SSH key redaction
21-
- ShouldRedactOrBlock function logic order
28+
- shouldRedactOrBlock function logic order
2229
- Detection disabled test case
30+
- VSIX packaging security warnings
2331

2432
## [0.4.0] - 2026-06-17
2533

docs/INSTALL.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Installation Guide
2+
3+
## Method 1: VSIX File (Recommended for Beta Testing)
4+
5+
### Step 1: Download the VSIX
6+
Download the latest `.vsix` file from:
7+
- [GitHub Releases](https://github.com/chamren86/terminal-history-outline/releases)
8+
- [Direct Download Link](https://github.com/chamren86/terminal-history-outline/releases/latest/download/terminal-history-outline-0.4.1.vsix)
9+
10+
### Step 2: Install in VS Code
11+
12+
**Option A: VS Code UI**
13+
1. Open VS Code
14+
2. Go to Extensions (Ctrl+Shift+X)
15+
3. Click the `...` menu in the top-right
16+
4. Select "Install from VSIX..."
17+
5. Choose the downloaded `.vsix` file
18+
19+
**Option B: Command Line**
20+
21+
code --install-extension terminal-history-outline-0.4.1.vsix
22+
23+
**Option C: Drag and Drop**
24+
1. Open VS Code
25+
2. Drag the `.vsix` file into the Extensions panel
26+
27+
### Step 3: Verify Installation
28+
1. Go to Extensions (Ctrl+Shift+X)
29+
2. Search for "@installed"
30+
3. Look for "Terminal History Outline"
31+
32+
## Method 2: From Source (For Development)
33+
34+
git clone https://github.com/chamren86/terminal-history-outline.git
35+
cd terminal-history-outline
36+
npm install
37+
npm run compile
38+
39+
Press F5 in VS Code to launch the extension in a development window.
40+
41+
## Troubleshooting
42+
43+
### Command not captured?
44+
Ensure Shell Integration is enabled:
45+
1. Open VS Code Settings (Ctrl+,)
46+
2. Search for "shell integration enabled"
47+
3. Check `Terminal > Integrated > Shell Integration: Enabled`
48+
49+
### Extension not showing?
50+
1. Reload VS Code: `Ctrl+Shift+P``Developer: Reload Window`
51+
2. Check the Explorer panel for "Terminal History" section
52+
53+
### Feedback
54+
Please report issues at: https://github.com/chamren86/terminal-history-outline/issues

docs/RELEASE-NOTES.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
2+
## `RELEASE-NOTES.md`
3+
4+
```markdown
15
# Release Notes
26

3-
## v0.4.1 - Pre-commit & Testing Infrastructure (2026-06-17)
7+
## v0.4.1 - Testing Infrastructure & Pre-commit (2026-06-17)
48

59
### Added
610
- 🛠️ Pre-commit validation script (`npm run precommit`)
@@ -9,16 +13,19 @@
913
- 🔬 Full test suite script (`npm run test:full`)
1014
- 🐳 `act` integration for local GitHub Actions testing
1115
- 📚 Comprehensive test documentation
16+
- 📦 VSIX packaging support
1217

1318
### Changed
1419
- 🔄 Migrated from mocha to vitest (faster, better ESM support)
1520
- 🔄 Improved security module logic
1621
- 🔄 Updated test scripts and configuration
22+
- 🔄 Improved `.vscodeignore` for cleaner VSIX packaging
1723

1824
### Fixed
1925
- 🐛 Security test edge cases
2026
- 🐛 shouldRedactOrBlock function logic
2127
- 🐛 Docker detection in precommit script
28+
- 🐛 VSIX packaging security warnings
2229

2330
## v0.4.0 - Security & Privacy (2026-06-17)
2431

0 commit comments

Comments
 (0)