openclacky 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.clacky/skills/commit/SKILL.md +272 -0
- data/.clacky/skills/gem-release/SKILL.md +253 -0
- data/.clacky/skills/test-skill/SKILL.md +15 -0
- data/CHANGELOG.md +25 -0
- data/docs/why-developer.md +371 -0
- data/lib/clacky/agent.rb +172 -41
- data/lib/clacky/cli.rb +44 -504
- data/lib/clacky/client.rb +94 -49
- data/lib/clacky/compression/base.rb +231 -0
- data/lib/clacky/compression/standard.rb +339 -0
- data/lib/clacky/config.rb +24 -17
- data/lib/clacky/default_skills/new/SKILL.md +55 -0
- data/lib/clacky/message_compressor.rb +143 -0
- data/lib/clacky/tools/file_reader.rb +15 -12
- data/lib/clacky/tools/glob.rb +1 -1
- data/lib/clacky/tools/grep.rb +1 -1
- data/lib/clacky/tools/request_user_feedback.rb +84 -0
- data/lib/clacky/ui2/components/modal_component.rb +263 -0
- data/lib/clacky/ui2/components/welcome_banner.rb +2 -0
- data/lib/clacky/ui2/ui_controller.rb +78 -2
- data/lib/clacky/ui2.rb +1 -0
- data/lib/clacky/utils/file_ignore_helper.rb +0 -11
- data/lib/clacky/utils/file_processor.rb +20 -4
- data/lib/clacky/version.rb +1 -1
- data/lib/clacky.rb +2 -0
- metadata +11 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 93be1b075712d3d861045372db397b88a33918d3f9b7e7572d19b0e0b3400da7
|
|
4
|
+
data.tar.gz: 401b05cf051d54189884860275030b1c71716ae8864231ea2da6bfd1f900f3e6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bca76237b75f2bb9de6b2f9a82238f2174a6de1fa9a9ab377675652e6ec616836e32ef74c2eeb0fadd7cbc417baf00c56277b8dc8299593e133dd014174572f2
|
|
7
|
+
data.tar.gz: 93a13538a3f50ec847f9db2452d9e99ad5e87e86571e088601fb3329544b5446e55b60bf0cdb72acc53475735a5441152250e8e7ed34bcc14f30a4f819c49098
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit
|
|
3
|
+
description: Smart Git commit helper that analyzes changes and creates semantic commits
|
|
4
|
+
disable-model-invocation: false
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Smart Commit Skill
|
|
9
|
+
|
|
10
|
+
This skill helps users create well-structured, semantic git commits by analyzing changes and suggesting appropriate commit messages.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
This skill automates the process of reviewing git changes and creating meaningful, conventional commits following the semantic commit format (feat/fix/chore/test).
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
To use this skill, simply say:
|
|
19
|
+
- "Help me commit my changes"
|
|
20
|
+
- "Create semantic commits"
|
|
21
|
+
- "Review and commit changes"
|
|
22
|
+
- Use the command: `/commit`
|
|
23
|
+
|
|
24
|
+
## Process Steps
|
|
25
|
+
|
|
26
|
+
### 1. Analyze Git Status
|
|
27
|
+
|
|
28
|
+
First, check the current git status to understand:
|
|
29
|
+
- What files have been modified, added, or deleted
|
|
30
|
+
- Which files are staged vs unstaged
|
|
31
|
+
- Overall state of the working directory
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
git status
|
|
35
|
+
git diff --stat
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 2. Review Changes in Detail
|
|
39
|
+
|
|
40
|
+
For each changed file, analyze:
|
|
41
|
+
- The nature of changes (new feature, bug fix, refactoring, tests, documentation)
|
|
42
|
+
- Scope of changes (which component/module)
|
|
43
|
+
- Impact level (minor tweak vs major change)
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
git diff <file>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 3. Generate Commit Messages
|
|
50
|
+
|
|
51
|
+
Based on the analysis, generate commit messages following the conventional commit format:
|
|
52
|
+
|
|
53
|
+
**Format**: `<type>: <description>`
|
|
54
|
+
|
|
55
|
+
**Types**:
|
|
56
|
+
- `feat`: New features or functionality
|
|
57
|
+
- `fix`: Bug fixes
|
|
58
|
+
- `chore`: Routine tasks, maintenance, dependencies
|
|
59
|
+
- `test`: Adding or modifying tests
|
|
60
|
+
- `docs`: Documentation changes
|
|
61
|
+
- `refactor`: Code refactoring without changing functionality
|
|
62
|
+
- `style`: Code style changes (formatting, whitespace)
|
|
63
|
+
- `perf`: Performance improvements
|
|
64
|
+
|
|
65
|
+
**Guidelines**:
|
|
66
|
+
- Keep messages concise (ideally under 50 characters)
|
|
67
|
+
- Use imperative mood ("add feature" not "added feature")
|
|
68
|
+
- Don't end with a period
|
|
69
|
+
- Be specific but brief
|
|
70
|
+
- One logical change per commit
|
|
71
|
+
|
|
72
|
+
**Examples**:
|
|
73
|
+
- `feat: add user authentication`
|
|
74
|
+
- `fix: resolve memory leak in parser`
|
|
75
|
+
- `chore: update dependencies`
|
|
76
|
+
- `test: add unit tests for validator`
|
|
77
|
+
- `docs: update README installation steps`
|
|
78
|
+
|
|
79
|
+
### 4. Group Changes
|
|
80
|
+
|
|
81
|
+
Organize changes into logical commits:
|
|
82
|
+
- Group related changes together
|
|
83
|
+
- Separate features, fixes, and chores
|
|
84
|
+
- Keep commits atomic and focused
|
|
85
|
+
- Suggest the order of commits
|
|
86
|
+
|
|
87
|
+
### 5. Present Suggestions
|
|
88
|
+
|
|
89
|
+
Show the user:
|
|
90
|
+
- List of proposed commits
|
|
91
|
+
- Files included in each commit
|
|
92
|
+
- Commit message for each group
|
|
93
|
+
- Brief explanation of the grouping logic
|
|
94
|
+
|
|
95
|
+
Format:
|
|
96
|
+
```
|
|
97
|
+
Commit 1: feat: add login endpoint
|
|
98
|
+
- lib/api/auth.rb
|
|
99
|
+
- spec/api/auth_spec.rb
|
|
100
|
+
|
|
101
|
+
Commit 2: fix: resolve timeout in database connection
|
|
102
|
+
- lib/database/connection.rb
|
|
103
|
+
|
|
104
|
+
Commit 3: chore: update rubocop configuration
|
|
105
|
+
- .rubocop.yml
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 6. Get User Confirmation
|
|
109
|
+
|
|
110
|
+
Ask the user:
|
|
111
|
+
- Review the proposed commits
|
|
112
|
+
- Confirm if they want to proceed
|
|
113
|
+
- Allow modifications if needed
|
|
114
|
+
- Get explicit approval before committing
|
|
115
|
+
|
|
116
|
+
### 7. Execute Commits
|
|
117
|
+
|
|
118
|
+
For each approved commit:
|
|
119
|
+
```bash
|
|
120
|
+
# Stage specific files
|
|
121
|
+
git add <file1> <file2> ...
|
|
122
|
+
|
|
123
|
+
# Create commit with message
|
|
124
|
+
git commit -m "<type>: <description>"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Provide feedback after each commit:
|
|
128
|
+
- Confirm successful commit
|
|
129
|
+
- Show commit hash
|
|
130
|
+
- Display summary
|
|
131
|
+
|
|
132
|
+
### 8. Final Summary
|
|
133
|
+
|
|
134
|
+
After all commits:
|
|
135
|
+
- Show total number of commits created
|
|
136
|
+
- List all commit messages
|
|
137
|
+
- Suggest next steps (e.g., git push)
|
|
138
|
+
|
|
139
|
+
## Commands Used
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Check status
|
|
143
|
+
git status
|
|
144
|
+
git status --short
|
|
145
|
+
|
|
146
|
+
# View changes
|
|
147
|
+
git diff
|
|
148
|
+
git diff --stat
|
|
149
|
+
git diff <file>
|
|
150
|
+
|
|
151
|
+
# Stage files
|
|
152
|
+
git add <file>
|
|
153
|
+
|
|
154
|
+
# Create commit
|
|
155
|
+
git commit -m "message"
|
|
156
|
+
|
|
157
|
+
# View commit history
|
|
158
|
+
git log --oneline -n 5
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Workflow Example
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
User: /commit
|
|
165
|
+
|
|
166
|
+
AI:
|
|
167
|
+
1. Analyzing git status...
|
|
168
|
+
Found 5 modified files
|
|
169
|
+
|
|
170
|
+
2. Reviewing changes...
|
|
171
|
+
- lib/user.rb: New user registration feature
|
|
172
|
+
- lib/auth.rb: Fix password validation bug
|
|
173
|
+
- spec/user_spec.rb: Tests for user registration
|
|
174
|
+
- spec/auth_spec.rb: Tests for auth fix
|
|
175
|
+
- Gemfile: Updated dependencies
|
|
176
|
+
|
|
177
|
+
3. Proposed commits:
|
|
178
|
+
|
|
179
|
+
Commit 1: feat: add user registration
|
|
180
|
+
- lib/user.rb
|
|
181
|
+
- spec/user_spec.rb
|
|
182
|
+
|
|
183
|
+
Commit 2: fix: correct password validation logic
|
|
184
|
+
- lib/auth.rb
|
|
185
|
+
- spec/auth_spec.rb
|
|
186
|
+
|
|
187
|
+
Commit 3: chore: update gem dependencies
|
|
188
|
+
- Gemfile
|
|
189
|
+
|
|
190
|
+
Do you want to proceed with these commits? (yes/no)
|
|
191
|
+
|
|
192
|
+
User: yes
|
|
193
|
+
|
|
194
|
+
AI:
|
|
195
|
+
✓ Commit 1 created (a1b2c3d): feat: add user registration
|
|
196
|
+
✓ Commit 2 created (e4f5g6h): fix: correct password validation logic
|
|
197
|
+
✓ Commit 3 created (i7j8k9l): chore: update gem dependencies
|
|
198
|
+
|
|
199
|
+
Summary: 3 commits created successfully!
|
|
200
|
+
Next steps: Review with 'git log' or push with 'git push'
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Best Practices
|
|
204
|
+
|
|
205
|
+
### Commit Message Rules
|
|
206
|
+
- Start with lowercase (except proper nouns)
|
|
207
|
+
- Use present tense imperative
|
|
208
|
+
- Be specific but concise
|
|
209
|
+
- Focus on "what" and "why", not "how"
|
|
210
|
+
|
|
211
|
+
### Commit Organization
|
|
212
|
+
- One logical change per commit
|
|
213
|
+
- Keep features separate from fixes
|
|
214
|
+
- Don't mix refactoring with new features
|
|
215
|
+
- Test files go with their related code changes
|
|
216
|
+
|
|
217
|
+
### When to Split Commits
|
|
218
|
+
- Multiple unrelated features
|
|
219
|
+
- Features and bug fixes mixed
|
|
220
|
+
- Code changes and config changes
|
|
221
|
+
- Different modules/components affected
|
|
222
|
+
|
|
223
|
+
### When to Combine Changes
|
|
224
|
+
- Related test and implementation
|
|
225
|
+
- Multiple files for same feature
|
|
226
|
+
- Complementary changes for same fix
|
|
227
|
+
|
|
228
|
+
## Error Handling
|
|
229
|
+
|
|
230
|
+
- **No changes detected**: Inform user and exit gracefully
|
|
231
|
+
- **Merge conflicts**: Warn user to resolve conflicts first
|
|
232
|
+
- **Detached HEAD**: Alert user about repository state
|
|
233
|
+
- **Uncommitted changes during conflict**: Suggest stashing or committing
|
|
234
|
+
- **Empty commit message**: Request user input for clarification
|
|
235
|
+
|
|
236
|
+
## Safety Features
|
|
237
|
+
|
|
238
|
+
- Always review changes before committing
|
|
239
|
+
- Require user confirmation before executing commits
|
|
240
|
+
- Show exactly which files will be in each commit
|
|
241
|
+
- Allow user to modify suggestions
|
|
242
|
+
- Never force commits without approval
|
|
243
|
+
- Preserve git history integrity
|
|
244
|
+
|
|
245
|
+
## Integration with Workflow
|
|
246
|
+
|
|
247
|
+
This skill works best:
|
|
248
|
+
- After completing a feature or fix
|
|
249
|
+
- Before pushing to remote
|
|
250
|
+
- During code review preparation
|
|
251
|
+
- When cleaning up messy commit history (use with `git reset` first)
|
|
252
|
+
|
|
253
|
+
## Notes
|
|
254
|
+
|
|
255
|
+
- This skill does NOT push commits (user controls when to push)
|
|
256
|
+
- Follows conventional commits specification
|
|
257
|
+
- Encourages atomic, well-documented commits
|
|
258
|
+
- Helps maintain clean git history
|
|
259
|
+
- Useful for both beginners and experienced developers
|
|
260
|
+
|
|
261
|
+
## Dependencies
|
|
262
|
+
|
|
263
|
+
- Git installed and configured
|
|
264
|
+
- Working directory is a git repository
|
|
265
|
+
- User has permissions to commit
|
|
266
|
+
- Changes exist to commit
|
|
267
|
+
|
|
268
|
+
## Version History
|
|
269
|
+
|
|
270
|
+
- Created: 2025-02-01
|
|
271
|
+
- Purpose: Improve commit quality and development workflow
|
|
272
|
+
- Compatible with: Any git repository
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gem-release
|
|
3
|
+
description: Automates the complete process of releasing a new version of the openclacky Ruby gem
|
|
4
|
+
disable-model-invocation: false
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Gem Release Skill
|
|
9
|
+
|
|
10
|
+
This skill automates the complete process of releasing a new version of the openclacky Ruby gem.
|
|
11
|
+
|
|
12
|
+
## Overview
|
|
13
|
+
|
|
14
|
+
This skill handles the entire gem release workflow from version bumping to publishing on RubyGems and creating GitHub releases.
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
To use this skill, simply say:
|
|
19
|
+
- "Release a new version"
|
|
20
|
+
- "Publish a new gem version"
|
|
21
|
+
- Use the command: `/gem-release`
|
|
22
|
+
|
|
23
|
+
## Process Steps
|
|
24
|
+
|
|
25
|
+
### 1. Pre-Release Checks
|
|
26
|
+
- Check for uncommitted changes in the working directory
|
|
27
|
+
- Verify all tests pass before proceeding
|
|
28
|
+
- Ensure the repository is in a clean state
|
|
29
|
+
|
|
30
|
+
### 2. Version Management
|
|
31
|
+
- Read current version from `lib/clacky/version.rb`
|
|
32
|
+
- Increment version number (typically patch version: x.y.z → x.y.z+1)
|
|
33
|
+
- Update the VERSION constant in the version file
|
|
34
|
+
|
|
35
|
+
### 3. Quality Assurance
|
|
36
|
+
- Run the full test suite with `bundle exec rspec`
|
|
37
|
+
- Ensure all 167+ tests pass
|
|
38
|
+
- Verify no regressions introduced
|
|
39
|
+
|
|
40
|
+
### 4. Build Process
|
|
41
|
+
- Build the gem using `gem build openclacky.gemspec`
|
|
42
|
+
- Generate the `.gem` file for distribution
|
|
43
|
+
- Handle any build warnings appropriately
|
|
44
|
+
|
|
45
|
+
### 5. Update Gemfile.lock and Verify CI
|
|
46
|
+
|
|
47
|
+
1. **Update Gemfile.lock**
|
|
48
|
+
```bash
|
|
49
|
+
bundle install
|
|
50
|
+
```
|
|
51
|
+
This ensures Gemfile.lock reflects the new version.
|
|
52
|
+
|
|
53
|
+
2. **Commit Gemfile.lock Changes**
|
|
54
|
+
```bash
|
|
55
|
+
git add Gemfile.lock
|
|
56
|
+
git commit -m "chore: update Gemfile.lock to v{version}"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. **Push and Verify CI**
|
|
60
|
+
```bash
|
|
61
|
+
git push origin main
|
|
62
|
+
```
|
|
63
|
+
- Wait for CI pipeline to complete successfully
|
|
64
|
+
- Verify all tests pass
|
|
65
|
+
- If CI fails, fix issues before proceeding
|
|
66
|
+
|
|
67
|
+
4. **Proceed Only After CI Success**
|
|
68
|
+
- If CI fails: stop, fix issues, and restart the release process
|
|
69
|
+
- If CI passes: continue to build and publish
|
|
70
|
+
|
|
71
|
+
### 6. Build and Publish Gem
|
|
72
|
+
|
|
73
|
+
1. **Build the Gem**
|
|
74
|
+
```bash
|
|
75
|
+
gem build openclacky.gemspec
|
|
76
|
+
```
|
|
77
|
+
Generates `openclacky-{version}.gem` file.
|
|
78
|
+
|
|
79
|
+
2. **Publish to RubyGems.org**
|
|
80
|
+
```bash
|
|
81
|
+
gem push openclacky-{version}.gem
|
|
82
|
+
```
|
|
83
|
+
Verify successful publication.
|
|
84
|
+
|
|
85
|
+
3. **Create Git Tag and Push**
|
|
86
|
+
```bash
|
|
87
|
+
git tag v{version}
|
|
88
|
+
git push origin main --tags
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
4. **Verify Publication**
|
|
92
|
+
- Check gem appears on RubyGems.org
|
|
93
|
+
- Verify version information is correct
|
|
94
|
+
|
|
95
|
+
### 6. Documentation - CHANGELOG Writing Process
|
|
96
|
+
|
|
97
|
+
**Critical Step: Review Commits Before Writing CHANGELOG**
|
|
98
|
+
|
|
99
|
+
1. **Find Previous Version Tag**
|
|
100
|
+
- Get the latest version tag (e.g., v0.6.3)
|
|
101
|
+
- Use `git describe --tags --abbrev=0` or manually identify
|
|
102
|
+
|
|
103
|
+
2. **Gather All Commits Since Last Release**
|
|
104
|
+
```bash
|
|
105
|
+
git log {previous_tag}..HEAD --oneline
|
|
106
|
+
git diff {previous_tag}..HEAD --stat
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
3. **Analyze and Categorize Commits**
|
|
110
|
+
- Review each commit message and its changes
|
|
111
|
+
- Categorize into:
|
|
112
|
+
- **Major Features**: User-visible functionality additions
|
|
113
|
+
- **Improvements**: Performance, UX, architecture enhancements
|
|
114
|
+
- **Bug Fixes**: Error corrections and issue resolutions
|
|
115
|
+
- **Changes**: Breaking changes or significant refactoring
|
|
116
|
+
- **Minor Details**: Small fixes, style changes, trivial updates
|
|
117
|
+
|
|
118
|
+
4. **Write CHANGELOG Entries**
|
|
119
|
+
|
|
120
|
+
**Format for Significant Items:**
|
|
121
|
+
```
|
|
122
|
+
## [Version] - Date
|
|
123
|
+
|
|
124
|
+
### Added
|
|
125
|
+
- Feature description (link to related commits)
|
|
126
|
+
|
|
127
|
+
### Improved
|
|
128
|
+
- Enhancement description
|
|
129
|
+
|
|
130
|
+
### Fixed
|
|
131
|
+
- Bug fix description
|
|
132
|
+
|
|
133
|
+
### Changed
|
|
134
|
+
- Breaking change description
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**Format for Minor Items (group under "More"):**
|
|
138
|
+
```
|
|
139
|
+
### More
|
|
140
|
+
- Minor fix 1
|
|
141
|
+
- Minor fix 2
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
5. **Prioritization Rules**:
|
|
145
|
+
- Place user-facing value at the top
|
|
146
|
+
- Group related commits together
|
|
147
|
+
- Skip very trivial commits (typos, minor formatting)
|
|
148
|
+
- Use imperative mood ("Add" not "Added")
|
|
149
|
+
|
|
150
|
+
6. **Example CHANGELOG Section**:
|
|
151
|
+
```markdown
|
|
152
|
+
## [0.6.4] - 2026-02-03
|
|
153
|
+
|
|
154
|
+
### Added
|
|
155
|
+
- Anthropic API support with full Claude model integration
|
|
156
|
+
- ClaudeCode environment compatibility (ANTHROPIC_API_KEY support)
|
|
157
|
+
|
|
158
|
+
### Improved
|
|
159
|
+
- API client architecture for multi-provider support
|
|
160
|
+
- Config loading with source tracking
|
|
161
|
+
|
|
162
|
+
### Fixed
|
|
163
|
+
- Handle absolute paths correctly in glob tool
|
|
164
|
+
|
|
165
|
+
### More
|
|
166
|
+
- Update dependencies
|
|
167
|
+
- Minor style adjustments
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
7. **Commit and Push Documentation Updates**
|
|
171
|
+
- Commit CHANGELOG.md changes
|
|
172
|
+
- Push to remote repository
|
|
173
|
+
|
|
174
|
+
### 7. Final Verification
|
|
175
|
+
- Confirm the gem appears on RubyGems.org
|
|
176
|
+
- Check that version information is correct
|
|
177
|
+
- Verify installation works for end users
|
|
178
|
+
|
|
179
|
+
## Commands Used
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Pre-release checks
|
|
183
|
+
git status --porcelain
|
|
184
|
+
|
|
185
|
+
# Run tests
|
|
186
|
+
bundle exec rspec
|
|
187
|
+
|
|
188
|
+
# Update Gemfile.lock
|
|
189
|
+
bundle install
|
|
190
|
+
git add Gemfile.lock
|
|
191
|
+
git commit -m "chore: update Gemfile.lock to vX.Y.Z"
|
|
192
|
+
git push origin main
|
|
193
|
+
|
|
194
|
+
# Build and publish gem
|
|
195
|
+
gem build openclacky.gemspec
|
|
196
|
+
gem push openclacky-X.Y.Z.gem
|
|
197
|
+
|
|
198
|
+
# Git operations
|
|
199
|
+
git add lib/clacky/version.rb
|
|
200
|
+
git commit -m "chore: bump version to X.Y.Z"
|
|
201
|
+
git tag vX.Y.Z
|
|
202
|
+
git push origin main
|
|
203
|
+
git push origin --tags
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## File Locations
|
|
207
|
+
|
|
208
|
+
- Version file: `lib/clacky/version.rb`
|
|
209
|
+
- Gem specification: `openclacky.gemspec`
|
|
210
|
+
- Changelog: `CHANGELOG.md`
|
|
211
|
+
- Built gem: `openclacky-{version}.gem`
|
|
212
|
+
|
|
213
|
+
## Success Criteria
|
|
214
|
+
|
|
215
|
+
- All tests pass
|
|
216
|
+
- CI pipeline completes successfully
|
|
217
|
+
- Gemfile.lock updated and committed
|
|
218
|
+
- New version successfully published to RubyGems
|
|
219
|
+
- Git repository updated with version tag
|
|
220
|
+
- CHANGELOG.md updated with release notes
|
|
221
|
+
- No build or deployment errors
|
|
222
|
+
|
|
223
|
+
## Error Handling
|
|
224
|
+
|
|
225
|
+
- If tests fail, stop the process and report issues
|
|
226
|
+
- If CI fails after Gemfile.lock update, fix issues before proceeding
|
|
227
|
+
- If gem build fails, check gemspec configuration
|
|
228
|
+
- If git push fails, verify repository permissions
|
|
229
|
+
- If gem push fails, check RubyGems credentials
|
|
230
|
+
|
|
231
|
+
## Notes
|
|
232
|
+
|
|
233
|
+
- This skill follows semantic versioning
|
|
234
|
+
- Always update CHANGELOG.md as part of the release
|
|
235
|
+
- Verify RubyGems.org shows the new version after publication
|
|
236
|
+
- The search index on RubyGems may take a few minutes to update
|
|
237
|
+
|
|
238
|
+
## Dependencies
|
|
239
|
+
|
|
240
|
+
- Ruby development environment
|
|
241
|
+
- Git repository access
|
|
242
|
+
- RubyGems account with push permissions
|
|
243
|
+
- Bundle and RSpec for testing
|
|
244
|
+
|
|
245
|
+
## Version History
|
|
246
|
+
|
|
247
|
+
- Created: 2026-01-18
|
|
248
|
+
- Used for: openclacky gem releases
|
|
249
|
+
- Compatible with: Ruby gems following standard conventions
|
|
250
|
+
|
|
251
|
+
## User Experience Summary
|
|
252
|
+
|
|
253
|
+
This skill takes the complexity out of gem releases. Instead of remembering 8+ different commands and worrying about the correct order, you just say "release a new version" and the AI handles everything - from running tests to publishing on RubyGems. It's like having an experienced release engineer on your team who never forgets a step, always runs the tests first, and makes sure your changelog is updated. The whole process that used to take 15-20 minutes and multiple terminal windows now happens smoothly in one conversation, with clear feedback at each step so you know exactly what's happening.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-skill
|
|
3
|
+
description: A test skill for demonstrating skill loading
|
|
4
|
+
disable-model-invocation: false
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Test Skill
|
|
9
|
+
|
|
10
|
+
This is a test skill to verify that skills are being loaded into the system prompt.
|
|
11
|
+
|
|
12
|
+
When you see this skill in your context, you should:
|
|
13
|
+
1. Acknowledge that you have access to this skill
|
|
14
|
+
2. Explain what this skill does
|
|
15
|
+
3. Demonstrate that you can use it
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.6.4] - 2026-02-03
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Anthropic API support with full Claude model integration
|
|
14
|
+
- ClaudeCode environment compatibility (ANTHROPIC_API_KEY support)
|
|
15
|
+
- Model configuration with Anthropic defaults (claude-3-5-sonnet-20241022)
|
|
16
|
+
- Enhanced error handling with AgentError and ToolCallError classes
|
|
17
|
+
- format_tool_results for tool result formatting in agent execution
|
|
18
|
+
- Comprehensive test suite for Anthropic API and configuration
|
|
19
|
+
- Absolute path handling in glob tool
|
|
20
|
+
|
|
21
|
+
### Improved
|
|
22
|
+
- API client architecture for multi-provider support (OpenAI + Anthropic)
|
|
23
|
+
- Config loading with source tracking (file, ClaudeCode, default)
|
|
24
|
+
- Agent execution loop with improved tool result handling
|
|
25
|
+
- Edit tool with improved pattern matching
|
|
26
|
+
- User tip display in terminal
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Refactored Error class to AgentError base class
|
|
30
|
+
- Renamed connection methods for clarity (connection → openai_connection)
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- Handle absolute paths correctly in glob tool
|
|
34
|
+
|
|
10
35
|
## [0.6.3] - 2026-02-01
|
|
11
36
|
|
|
12
37
|
### Added
|