Skip to content

Commit 08e5152

Browse files
docs: update documentation for version 0.3.0
• Add version 0.3.0 release notes to CHANGELOG • Consolidate all changeset content into changelog entries • Improve README formatting with better markdown spacing • Enhance TESTING.md documentation with clearer formatting • Document all new features and improvements from changesets
1 parent 26fc243 commit 08e5152

File tree

3 files changed

+142
-1
lines changed

3 files changed

+142
-1
lines changed

CHANGELOG.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,79 @@
11
# @labcatr/labcommitr
22

3+
## 0.3.0
4+
5+
### Minor Changes
6+
7+
- 5b707eb: feat: add body requirement prompt to init command
8+
- New prompt in init flow to set commit body as required or optional
9+
- "Yes" option marked as recommended for better commit practices
10+
- Configuration properly respected in commit prompts
11+
- When body is required, commit prompts show "required" and remove "Skip" option
12+
- Defaults to optional for backward compatibility
13+
14+
- c435d38: feat: add init command alias and improve help text
15+
- Add `i` alias for `init` command for faster access
16+
- Update help examples to use `lab` instead of `labcommitr` consistently
17+
- Add concise examples showing both full commands and aliases
18+
- Add note clarifying both `lab` and `labcommitr` can be used
19+
- Update README to document `init|i` alias
20+
- Remove duplicate pagination text from preview and revert commands
21+
- Improve help text clarity and consistency across all commands
22+
23+
- 5b707eb: feat: add editor support for commit body input
24+
- Users can now open their preferred editor for writing commit bodies
25+
- Supports both inline and editor input methods
26+
- Automatically detects available editors (VS Code, Vim, Nano, etc.)
27+
- Improved experience for multi-line commit bodies
28+
- Configurable editor preference in configuration files
29+
30+
- 12b99b4: feat: add keyboard shortcuts for faster prompt navigation
31+
- Add keyboard shortcuts module with auto-assignment algorithm
32+
- Enable shortcuts by default in generated configurations
33+
- Generate default shortcut mappings for commit types in init workflow
34+
- Implement input interception for single-character shortcut selection
35+
- Add shortcuts support to type, preview, and body input prompts
36+
- Include shortcuts configuration in advanced section with validation
37+
- Support custom shortcut mappings with auto-assignment fallback
38+
- Display shortcut hints in prompt labels when enabled
39+
40+
- 8a8d29c: feat: add toggle functionality for body and files in preview
41+
- Add toggle state for body and files visibility in commit detail view
42+
- Implement `b` key to toggle body visibility on/off
43+
- Implement `f` key to toggle files visibility on/off
44+
- Reset toggles when viewing new commit or returning to list
45+
- Update prompt text to indicate toggle behavior
46+
- Fixes issue where pressing `b`/`f` caused repeated rendering
47+
- Improves UX by allowing users to hide/show sections as needed
48+
49+
- 5b707eb: feat: enhance commit command user experience
50+
- Terminal automatically clears at command start for maximum available space
51+
- Improved staged file detection with support for renamed and copied files
52+
- Color-coded Git status indicators (A, M, D, R, C) matching Git's default colors
53+
- Connector lines added to files and preview displays for better visual flow
54+
- More accurate file status reporting with copy detection using -C50 flag
55+
56+
### Patch Changes
57+
58+
- 43df95c: fix: move config existence check before Clef intro animation
59+
- Perform early validation before any UI/animation in init command
60+
- Check for existing config immediately after project root detection
61+
- Only show Clef intro animation if initialization will proceed
62+
- Provides better UX by failing fast with clear error message
63+
- Prevents unnecessary animation when config already exists
64+
65+
- 5b707eb: fix: prevent label text truncation in prompts
66+
- Increased label width from 6 to 7 characters to accommodate longer labels
67+
- Fixes issue where "subject" label was being truncated to "subjec"
68+
- Applied to both commit and init command prompts for consistency
69+
- All labels now properly display full text with centered alignment
70+
71+
- 4597502: fix: exclude subject line from commit body extraction
72+
- Split commit message by first blank line to separate subject and body
73+
- Only return content after blank line as body in preview command
74+
- Prevents subject line from appearing in body section
75+
- Fixes incorrect display where commit subject was shown as part of body
76+
377
## 0.1.0
478

579
### Minor Changes

README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,13 @@ After installation, use either `labcommitr` or `lab` to run commands.
3131
## Quick Start
3232

3333
1. **Initialize configuration** in your project:
34+
3435
```bash
3536
lab init
3637
```
3738

3839
2. **Create your first commit**:
40+
3941
```bash
4042
lab commit
4143
```
@@ -52,19 +54,22 @@ After installation, use either `labcommitr` or `lab` to run commands.
5254
Create a standardized commit following your project's configuration.
5355

5456
**Usage:**
57+
5558
```bash
5659
lab commit [options]
5760
lab c [options] # Short alias
5861
```
5962

6063
**Options:**
64+
6165
- `-t, --type <type>` - Commit type (e.g., `feat`, `fix`, `docs`)
6266
- `-s, --scope <scope>` - Commit scope (e.g., `api`, `auth`, `ui`)
6367
- `-m, --message <message>` - Commit subject/message
6468
- `-b, --body <body>` - Commit body/description
6569
- `--no-verify` - Bypass Git hooks
6670

6771
**Examples:**
72+
6873
```bash
6974
# Interactive commit (prompts for missing fields)
7075
lab commit
@@ -80,6 +85,7 @@ lab commit -t fix -m "fix bug" --no-verify
8085
```
8186

8287
**Notes:**
88+
8389
- Messages and body with spaces must be quoted
8490
- If all required fields are provided via flags, the commit is created immediately
8591
- If any required fields are missing, an interactive prompt guides you through completion
@@ -92,16 +98,19 @@ lab commit -t fix -m "fix bug" --no-verify
9298
Initialize Labcommitr configuration in your project. This creates a `.labcommitr.config.yaml` file with your chosen preset and preferences.
9399

94100
**Usage:**
101+
95102
```bash
96103
lab init [options]
97104
lab i [options] # Short alias
98105
```
99106

100107
**Options:**
108+
101109
- `-f, --force` - Overwrite existing configuration file
102110
- `--preset <type>` - Use a specific preset without prompts (options: `conventional`, `gitmoji`, `angular`, `minimal`)
103111

104112
**Examples:**
113+
105114
```bash
106115
# Interactive setup (recommended)
107116
lab init
@@ -114,13 +123,15 @@ lab init --preset conventional
114123
```
115124

116125
**What it does:**
126+
117127
- Guides you through selecting a commit convention preset
118128
- Configures emoji support based on terminal capabilities
119129
- Sets up auto-staging preferences
120130
- Generates `.labcommitr.config.yaml` with default shortcuts enabled
121131
- Validates the generated configuration
122132

123133
**Presets available:**
134+
124135
- **Conventional Commits** - Popular across open-source and personal projects
125136
- **Angular Convention** - Strict format used by Angular and enterprise teams (includes `perf`, `build`, `ci` types)
126137
- **Gitmoji** - Emoji-based commits for visual clarity
@@ -133,6 +144,7 @@ lab init --preset conventional
133144
Manage and inspect Labcommitr configuration.
134145

135146
**Usage:**
147+
136148
```bash
137149
lab config <subcommand>
138150
```
@@ -144,14 +156,17 @@ lab config <subcommand>
144156
Display the currently loaded configuration with source information.
145157

146158
**Usage:**
159+
147160
```bash
148161
lab config show [options]
149162
```
150163

151164
**Options:**
165+
152166
- `-p, --path <path>` - Start configuration search from a specific directory
153167

154168
**Examples:**
169+
155170
```bash
156171
# Show current configuration
157172
lab config show
@@ -161,6 +176,7 @@ lab config show --path /path/to/project
161176
```
162177

163178
**What it shows:**
179+
164180
- Configuration source (file path or "defaults")
165181
- Emoji mode status
166182
- Full configuration in JSON format
@@ -173,15 +189,18 @@ lab config show --path /path/to/project
173189
Browse and inspect commit history interactively without modifying your repository.
174190

175191
**Usage:**
192+
176193
```bash
177194
lab preview [options]
178195
```
179196

180197
**Options:**
198+
181199
- `-l, --limit <number>` - Maximum commits to fetch (default: 50, max: 100)
182200
- `-b, --branch <branch>` - Branch to preview (default: current branch)
183201

184202
**Examples:**
203+
185204
```bash
186205
# Browse commits on current branch
187206
lab preview
@@ -194,6 +213,7 @@ lab preview --limit 25
194213
```
195214

196215
**Interactive Features:**
216+
197217
- **Commit List View:**
198218
- Navigate through commits with pagination (10 per page)
199219
- Press `0-9` to view details of a specific commit
@@ -211,6 +231,7 @@ lab preview --limit 25
211231
- Press `?` for help
212232

213233
**Notes:**
234+
214235
- Read-only operation - does not modify your repository
215236
- Fetches commits in batches of 50 (up to 100 total)
216237
- Works on current branch by default
@@ -223,18 +244,21 @@ lab preview --limit 25
223244
Revert a commit using the project's commit workflow. Select a commit interactively and create a revert commit following your project's commit message format.
224245

225246
**Usage:**
247+
226248
```bash
227249
lab revert [options]
228250
```
229251

230252
**Options:**
253+
231254
- `-l, --limit <number>` - Maximum commits to fetch (default: 50, max: 100)
232255
- `-b, --branch <branch>` - Branch to revert from (default: current branch)
233256
- `--no-edit` - Skip commit message editing (use Git's default revert message)
234257
- `--continue` - Continue revert after conflict resolution
235258
- `--abort` - Abort revert in progress
236259

237260
**Examples:**
261+
238262
```bash
239263
# Interactive revert (uses commit workflow)
240264
lab revert
@@ -253,6 +277,7 @@ lab revert --abort
253277
```
254278

255279
**Interactive Features:**
280+
256281
- **Commit Selection:**
257282
- Browse commits with pagination (10 per page)
258283
- Press `0-9` to select a commit to revert
@@ -268,6 +293,7 @@ lab revert --abort
268293
- Handles conflicts with `--continue` and `--abort` options
269294

270295
**Notes:**
296+
271297
- Requires `.labcommitr.config.yaml` (unless using `--no-edit`)
272298
- Creates a new commit that undoes the selected commit
273299
- For merge commits, you'll be prompted to select which parent to revert to
@@ -288,6 +314,7 @@ Labcommitr uses a `.labcommitr.config.yaml` file in your project root. The confi
288314
See [`docs/CONFIG_SCHEMA.md`](docs/CONFIG_SCHEMA.md) for complete configuration documentation.
289315

290316
**Configuration discovery:**
317+
291318
- Searches from current directory up to project root
292319
- Uses sensible defaults if no configuration found
293320
- Global configuration support is planned for future releases (see [Planned Features](#planned-features))
@@ -322,19 +349,22 @@ pnpm run dev:cli test clean
322349
```
323350

324351
**Alternative:** You can also use `node dist/index-dev.js` instead of `pnpm run dev:cli`:
352+
325353
```bash
326354
node dist/index-dev.js test setup
327355
node dist/index-dev.js test shell
328356
```
329357

330358
**Available Scenarios:**
359+
331360
- `existing-project` - Test adding Labcommitr to existing project
332361
- `with-changes` - Test commit command with various file states (default)
333362
- `with-history` - Test preview and revert with rich history
334363
- `with-merge` - Test revert with merge commits
335364
- `with-conflicts` - Test conflict resolution workflows
336365

337366
**Examples:**
367+
338368
```bash
339369
# Set up specific scenario
340370
pnpm run dev:cli test setup --scenario with-history
@@ -391,11 +421,13 @@ Support for user-level global configuration files to enable consistent commit co
391421
- Override global settings on a per-project basis when needed
392422

393423
**Use cases:**
424+
394425
- Developers working across multiple repositories who want consistent commit message formats
395426
- Teams that want to standardize commit conventions organization-wide
396427
- Personal projects where you want the same commit types everywhere
397428

398429
The global configuration will be stored in OS-specific locations:
430+
399431
- **macOS/Linux**: `~/.labcommitr.config.yaml` or XDG config directory
400432
- **Windows**: `%USERPROFILE%\.labcommitr.config.yaml` or AppData directory
401433

0 commit comments

Comments
 (0)