Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .changeset/add-keyboard-shortcuts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
"@labcatr/labcommitr": minor
---

feat: add keyboard shortcuts for faster prompt navigation

- Add keyboard shortcuts module with auto-assignment algorithm
- Enable shortcuts by default in generated configurations
- Generate default shortcut mappings for commit types in init workflow
- Implement input interception for single-character shortcut selection
- Add shortcuts support to type, preview, and body input prompts
- Include shortcuts configuration in advanced section with validation
- Support custom shortcut mappings with auto-assignment fallback
- Display shortcut hints in prompt labels when enabled

6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ coverage/
*.lcov

# Testing
.test-temp/
# Sandbox directory for testing Labcommitr commands (scripts in scripts/ are tracked)
.sandbox/
test-results/
scripts/

# npm/yarn/pnpm
npm-debug.log*
Expand All @@ -61,13 +61,15 @@ Thumbs.db
.project
.classpath
.settings/
.cursor/

# Temporary files
*.tmp
*.temp
.cache/



### Other
# Remove rust files for now
rust-src/
Expand Down
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,25 @@ A solution for building standardized git commits!
`labcommitr init`, `-i`: Create a file called `.labcommitrc` in the root directory of the current git repo.

`labcommitr go <type> [...message]`: Quickly submit a commit of the specified type with a message. If a message is not specified, a generic one will be generated for you (it is not good practice, however its BLAZINGLY FAST).

## Development & Testing

### Testing Sandbox

For safe testing of Labcommitr commands without affecting your real repository, use the testing sandbox:

```bash
# Create sandbox with config (if available)
pnpm run test:sandbox

# Create sandbox without config (start from scratch)
pnpm run test:sandbox:bare

# Quick reset for iterative testing
pnpm run test:sandbox:reset

# Clean up
pnpm run test:sandbox:clean
```

See [`scripts/README.md`](scripts/README.md) for complete testing documentation.
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@
"format:ci": "pnpm run format:code",
"format:code": "prettier -w \"**/*\" --ignore-unknown --cache",
"version": "changeset version && pnpm install --no-frozen-lockfile && pnpm run format",
"test:commit:sandbox": "bash scripts/test-commit-sandbox.sh",
"test:commit:reset": "bash scripts/reset-sandbox.sh"
"test:sandbox": "bash scripts/labcommitr-sandbox.sh",
"test:sandbox:bare": "bash scripts/labcommitr-sandbox.sh --no-config",
"test:sandbox:reset": "bash scripts/labcommitr-sandbox.sh --reset",
"test:sandbox:clean": "bash scripts/labcommitr-sandbox.sh --clean"
},
"type": "module",
"bin": {
Expand Down
Loading