Skip to content

Commit 5c037b2

Browse files
Core CLI Implementation with init, config, and commit Commands (#22)
2 parents b00e76a + dac039c commit 5c037b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+5269
-815
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
"@labcatr/labcommitr": minor
3+
---
4+
5+
feat: add body requirement prompt to init command
6+
7+
- New prompt in init flow to set commit body as required or optional
8+
- "Yes" option marked as recommended for better commit practices
9+
- Configuration properly respected in commit prompts
10+
- When body is required, commit prompts show "required" and remove "Skip" option
11+
- Defaults to optional for backward compatibility
12+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
"@labcatr/labcommitr": minor
3+
---
4+
5+
feat: add editor support for commit body input
6+
7+
- Users can now open their preferred editor for writing commit bodies
8+
- Supports both inline and editor input methods
9+
- Automatically detects available editors (VS Code, Vim, Nano, etc.)
10+
- Improved experience for multi-line commit bodies
11+
- Configurable editor preference in configuration files
12+

.changeset/config-loading-system.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

.changeset/config-validation-system.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"commit": false,
55
"fixed": [],
66
"linked": [],
7-
"access": "restricted",
7+
"access": "public",
88
"baseBranch": "main",
99
"updateInternalDependencies": "patch",
1010
"ignore": []

.changeset/fix-label-truncation.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
"@labcatr/labcommitr": patch
3+
---
4+
5+
fix: prevent label text truncation in prompts
6+
7+
- Increased label width from 6 to 7 characters to accommodate longer labels
8+
- Fixes issue where "subject" label was being truncated to "subjec"
9+
- Applied to both commit and init command prompts for consistency
10+
- All labels now properly display full text with centered alignment
11+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
"@labcatr/labcommitr": minor
3+
---
4+
5+
feat: enhance commit command user experience
6+
7+
- Terminal automatically clears at command start for maximum available space
8+
- Improved staged file detection with support for renamed and copied files
9+
- Color-coded Git status indicators (A, M, D, R, C) matching Git's default colors
10+
- Connector lines added to files and preview displays for better visual flow
11+
- More accurate file status reporting with copy detection using -C50 flag
12+

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
commit: "[ci] release"
5151
title: "[ci] release"
5252
env:
53-
# Needs access to push to main
54-
GITHUB_TOKEN: ${{ secrets.VOXEL_GITHUB_TOKEN }}
53+
# Uses built-in GITHUB_TOKEN (automatically available, no secret needed)
54+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5555
# Needs access to publish to npm
5656
NPM_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}

.gitignore

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,62 @@ jspm_packages/
2424
# Snowpack dependency directory (https://snowpack.dev/)
2525
web_modules/
2626

27-
# TypeScript cache
27+
# TypeScript build artifacts
2828
*.tsbuildinfo
29+
dist/
30+
build/
31+
out/
32+
33+
# Coverage reports
34+
coverage/
35+
.nyc_output/
36+
*.lcov
37+
38+
# Testing
39+
.test-temp/
40+
test-results/
41+
scripts/
42+
43+
# npm/yarn/pnpm
44+
npm-debug.log*
45+
yarn-debug.log*
46+
yarn-error.log*
47+
pnpm-debug.log*
48+
.npm
49+
.yarn
50+
51+
# OS files
52+
.DS_Store
53+
Thumbs.db
54+
55+
# IDE/Editor
56+
.vscode/
57+
.idea/
58+
*.swp
59+
*.swo
60+
*~
61+
.project
62+
.classpath
63+
.settings/
64+
65+
# Temporary files
66+
*.tmp
67+
*.temp
68+
.cache/
2969

3070

3171
### Other
3272
# Remove rust files for now
3373
rust-src/
34-
dist/
3574

36-
### Development
37-
# Development progress tracking (internal use only)
38-
DEVELOPMENT_PROGRESS.md
39-
REQUIREMENTS.md
40-
CONFIG_SCHEMA.md
41-
DEVELOPMENT_GUIDELINES.md
42-
ARCHITECTURE_DECISIONS.md
75+
### Documentation
76+
# Ignore all .md files except README.md, CHANGELOG.md, and .changeset/*.md (local reference only)
77+
*.md
78+
!README.md
79+
!CHANGELOG.md
80+
!.changeset/*.md
81+
82+
### Labcommitr Configuration
83+
# User-specific configuration file (generated by 'lab init')
84+
.labcommitr.config.yaml
85+
.labcommitr.config.yml

CHANGELOG.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# @labcatr/labcommitr
2+
3+
## 0.1.0
4+
5+
### Minor Changes
6+
7+
- 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+
- feat: add editor support for commit body input
15+
- Users can now open their preferred editor for writing commit bodies
16+
- Supports both inline and editor input methods
17+
- Automatically detects available editors (VS Code, Vim, Nano, etc.)
18+
- Improved experience for multi-line commit bodies
19+
- Configurable editor preference in configuration files
20+
21+
- 8837714: feat: add working CLI framework with basic commands
22+
- Tool now provides functional command-line interface with help system
23+
- Both `labcommitr` and `lab` command aliases are now available
24+
- Added `--version` flag to display current tool version
25+
- Added `config show` command to display and debug configuration
26+
- Interactive help system guides users through available commands
27+
- Clear error messages when invalid commands are used
28+
- Foundation ready for init and commit commands in upcoming releases
29+
30+
- 20ab2ee: feat: add intelligent configuration file discovery
31+
- Tool now automatically finds configuration files in project roots
32+
- Prioritizes git repositories and supports monorepo structures
33+
- Provides clear error messages when configuration files have issues
34+
- Improved performance with smart caching for faster subsequent runs
35+
- Works reliably across different project structures and environments
36+
37+
- e041576: feat: add configuration file validation
38+
- Configuration files are now validated for syntax and required fields
39+
- Clear error messages help users fix configuration issues quickly
40+
- Tool prevents common mistakes like missing commit types or invalid IDs
41+
- Improved reliability when loading project-specific configurations
42+
- Validates commit type IDs contain only lowercase letters as required
43+
44+
- feat: enhance commit command user experience
45+
- Terminal automatically clears at command start for maximum available space
46+
- Improved staged file detection with support for renamed and copied files
47+
- Color-coded Git status indicators (A, M, D, R, C) matching Git's default colors
48+
- Connector lines added to files and preview displays for better visual flow
49+
- More accurate file status reporting with copy detection using -C50 flag
50+
51+
- 677a4ad: feat: add interactive init command with Clef mascot
52+
- Introduced Clef, an animated cat mascot for enhanced user experience
53+
- Implemented clean, minimal CLI prompts following modern design patterns
54+
- Added four configuration presets: Conventional Commits, Gitmoji, Angular, and Minimal
55+
- Created interactive setup flow with preset selection, emoji support, and scope configuration
56+
- Integrated animated character that appears at key moments: intro, processing, and outro
57+
- Automatic YAML configuration file generation with validation
58+
- Non-intrusive design with clean labels and compact spacing
59+
- Graceful degradation for terminals without animation support
60+
61+
### Patch Changes
62+
63+
- fix: prevent label text truncation in prompts
64+
- Increased label width from 6 to 7 characters to accommodate longer labels
65+
- Fixes issue where "subject" label was being truncated to "subjec"
66+
- Applied to both commit and init command prompts for consistency
67+
- All labels now properly display full text with centered alignment

0 commit comments

Comments
 (0)