Skip to content

Commit 4db2010

Browse files
error(junie): failed to generate message (#157)
junie failed to generate a conventional commit message.
1 parent 3f18b69 commit 4db2010

35 files changed

+2153
-55
lines changed

.envrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@
55
# SPDX-License-Identifier: MIT
66

77
asdf install
8+
PATH="./.share/bin:$PATH"
9+
export PATH

.github/workflows/update-java.yml

Lines changed: 7 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-FileCopyrightText: Copyright © 2024 - 2025 Caleb Cushing
1+
# SPDX-FileCopyrightText: Copyright © 2024-2026 Caleb Cushing
22
#
33
# SPDX-License-Identifier: CC0-1.0
44

@@ -8,61 +8,14 @@ on:
88
- cron: "0 3 * * *"
99
push:
1010
branches:
11-
- ci/auto-update-java
12-
- ci/auto-update
13-
11+
- "ci/auto-update**"
1412
jobs:
1513
update-java:
16-
runs-on: ubuntu-latest
17-
timeout-minutes: 10
14+
uses: xenoterracide/github/.github/workflows/update-java.yml@develop
15+
secrets:
16+
gradle_encryption_key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
17+
merge_pat: ${{ secrets.GH_MERGE_PAT }}
1818
permissions:
1919
contents: read
2020
packages: read
21-
env:
22-
ORG_GRADLE_PROJECT_ghUsername: ${{ secrets.GITHUB_ACTOR }}
23-
ORG_GRADLE_PROJECT_ghPassword: ${{ secrets.GITHUB_TOKEN }}
24-
steps:
25-
- uses: actions/checkout@v6.0.2
26-
with:
27-
ref: ${{ github.ref }}
28-
filter: "blob:none"
29-
fetch-depth: 0
30-
- uses: actions/setup-java@v5.2.0
31-
with:
32-
distribution: temurin
33-
java-version: 21
34-
- uses: gradle/actions/setup-gradle@v5.0.1
35-
with:
36-
gradle-version: current
37-
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
38-
- run: gradle wrapper --write-locks
39-
- run: make ci-update-java
40-
- run: |
41-
echo "stdout<<EOF" >> $GITHUB_OUTPUT
42-
git status --porcelain=1 | tee --append $GITHUB_OUTPUT
43-
echo "EOF" >> $GITHUB_OUTPUT
44-
name: git status
45-
id: git_status
46-
- uses: actions/setup-python@v6.2.0
47-
with:
48-
python-version: "3"
49-
if: ${{ contains(steps.git_status.outputs.stdout, 'gradle/wrapper/') }}
50-
- run: pip install -r requirements.txt
51-
if: ${{ contains(steps.git_status.outputs.stdout, 'gradle/wrapper/') }}
52-
- run: |
53-
reuse annotate --license 'Apache-2.0' --copyright 'Gradle, Inc' \
54-
--copyright-prefix spdx-string-symbol --merge-copyrights --force-dot-license gradle/wrapper/gradle-wrapper.jar
55-
reuse annotate --license 'CC0-1.0' --copyright 'Caleb Cushing' \
56-
--copyright-prefix spdx-string-symbol --merge-copyrights --force-dot-license gradle/wrapper/gradle-wrapper.properties
57-
name: reuse
58-
if: ${{ contains(steps.git_status.outputs.stdout, 'gradle-wrapper.jar') }}
59-
- uses: peter-evans/create-pull-request@v8.1.0
60-
id: create_pr
61-
with:
62-
title: "chore(deps): java"
63-
branch: deps/update-java
64-
token: ${{ secrets.GH_MERGE_PAT }}
65-
- run: gh pr merge --auto --squash ${{ steps.create_pr.outputs.pull-request-number }}
66-
if: ${{ steps.create_pr.outputs.pull-request-number != '' }}
67-
env:
68-
GH_TOKEN: ${{ secrets.GH_MERGE_PAT }}
21+
pull-requests: write

.share/.ai/mcp/mcp.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

.share/.ai/mcp/mcp.json.license

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
2+
3+
SPDX-License-Identifier: CC0-1.0
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
# SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
3+
#
4+
# SPDX-License-Identifier: CC-BY-NC-4.0
5+
6+
name: commit-or-pr-message
7+
description: Generates a concise and descriptive commit or PR message based on the code changes.
8+
license: CC-BY-NC-4.0
9+
metadata:
10+
author: Caleb Cushing
11+
allowed-tools: bash(git:_) bash(make:_)
12+
---
13+
14+
## Instructions
15+
16+
- Use for PR's or commit message's
17+
- this is a git conventional commit format
18+
- review `git-conventional-commits.yaml` values in `convention.commitTypes` for `<type>`'s available
19+
- the git subject line becomes the PR title
20+
- You MUST follow the exact template
21+
22+
## Rules
23+
24+
- Output plain text only. No markdown fences.
25+
- First line MUST be a valid Conventional Commit subject.
26+
- Keep the FIRST line <= 72 characters.
27+
- Use a specific scope when possible.
28+
- Body:
29+
- a short summary of the PR
30+
- a few bullet points explaining the main changes
31+
- Each bullet must describe one complete logical change,
32+
including purpose or impact
33+
- Do not split a single idea across multiple bullets
34+
- Explain WHAT and WHY
35+
- Wrap lines to <= 72 chars
36+
37+
## Template
38+
39+
<type>(<scope>): <summary>
40+
41+
<body>

.share/.ai/skills/github/SKILL.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
# SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
3+
#
4+
# SPDX-License-Identifier: CC-BY-NC-4.0
5+
6+
name: github
7+
description: Use github cli
8+
license: CC-BY-NC-4.0
9+
metadata:
10+
author: Caleb Cushing
11+
allowed-tools: gh
12+
---
13+
14+
- use the GitHub command line tool `gh`
15+
- disable pagination `GH_PAGER=cat`

.share/.ai/skills/java/SKILL.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
# SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
3+
#
4+
# SPDX-License-Identifier: CC-BY-NC-4.0
5+
6+
name: java
7+
description: Write Java
8+
license: CC-BY-NC-4.0
9+
metadata:
10+
author: Caleb Cushing
11+
allowed-tools: ./gradlew
12+
---
13+
14+
- prefer `var`, and RHS generics, unless a class cast would be required.
15+
- prefer `import` over fully qualified class names inlined
16+
- do not use `*` imports
17+
- avoid `private` except with fields. prefer the default "package protected" unless must be `public` or is useful for subclasses.
18+
- prefer `final` for fields unless they need to be mutable
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
# SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
3+
#
4+
# SPDX-License-Identifier: CC-BY-NC-4.0
5+
6+
name: shell-script
7+
description: Write a shell script
8+
license: CC-BY-NC-4.0
9+
metadata:
10+
author: Caleb Cushing
11+
allowed-tools: sh zsh dash bash sed awk grep find xargs cut tr sort uniq head tail wc curl wget
12+
---
13+
14+
- always verify with `shellcheck` for best practices, and fix any issues
15+
- only write a posix compliant shell script unless otherwise specified or in a shell-specific file such `.zshrc` or files with extensions like `.bash` or `.zsh`
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<!--
2+
SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
3+
4+
SPDX-License-Identifier: CC0-1.0
5+
-->
6+
7+
# Skill Creator
8+
9+
Guide for creating effective skills that extend Claude's capabilities.
10+
11+
## About Skills
12+
13+
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools. Think of them as "onboarding guides" for specific domains.
14+
15+
### What Skills Provide
16+
17+
1. **Specialized workflows** - Multi-step procedures for specific domains
18+
2. **Tool integrations** - Instructions for working with specific file formats or APIs
19+
3. **Domain expertise** - Company-specific knowledge, schemas, business logic
20+
4. **Bundled resources** - Scripts, references, and assets for complex tasks
21+
22+
## Core Principles
23+
24+
### Concise is Key
25+
26+
The context window is a public good. Only add context Claude doesn't already have.
27+
28+
**Default assumption: Claude is already very smart.** Challenge each piece of information: "Does Claude really need this explanation?"
29+
30+
Prefer concise examples over verbose explanations.
31+
32+
### Anatomy of a Skill
33+
34+
```
35+
skill-name/
36+
├── SKILL.md (required)
37+
│ ├── YAML frontmatter (name, description)
38+
│ └── Markdown instructions
39+
└── Bundled Resources (optional)
40+
├── scripts/ - Executable code
41+
├── references/ - Documentation
42+
└── assets/ - Templates, images
43+
```
44+
45+
## SKILL.md Components
46+
47+
### Frontmatter (YAML)
48+
49+
```yaml
50+
---
51+
name: skill-name
52+
description: What the skill does. Use when [activation trigger].
53+
---
54+
```
55+
56+
The description is the primary triggering mechanism. Include both what the skill does AND when to use it.
57+
58+
### Body (Markdown)
59+
60+
Instructions and guidance. Only loaded AFTER the skill triggers.
61+
62+
## Bundled Resources
63+
64+
### Scripts (`scripts/`)
65+
66+
Executable code for tasks requiring deterministic reliability.
67+
68+
### References (`references/`)
69+
70+
Documentation loaded as needed into context.
71+
72+
### Assets (`assets/`)
73+
74+
Files used in output (templates, images, fonts).
75+
76+
## Progressive Disclosure
77+
78+
Skills use three-level loading:
79+
80+
1. **Metadata** - Always in context (~100 words)
81+
2. **SKILL.md body** - When skill triggers (<5k words)
82+
3. **Bundled resources** - As needed
83+
84+
Keep SKILL.md under 500 lines. Split content when approaching this limit.
85+
86+
## Skill Creation Process
87+
88+
1. **Understand** - Gather concrete usage examples
89+
2. **Plan** - Identify reusable scripts, references, assets
90+
3. **Initialize** - Create skill directory structure
91+
4. **Edit** - Implement resources and write SKILL.md
92+
5. **Package** - Bundle for distribution
93+
6. **Iterate** - Improve based on real usage
94+
95+
## What NOT to Include
96+
97+
- README.md
98+
- INSTALLATION_GUIDE.md
99+
- CHANGELOG.md
100+
- User-facing documentation
101+
102+
Skills are for AI agents, not humans. Only include what Claude needs to do the job.

.share/.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing
2+
#
3+
# SPDX-License-Identifier: CC0-1.0
4+
5+
root = true
6+
7+
[*]
8+
charset = utf-8
9+
end_of_line = lf
10+
indent_size = 2
11+
indent_style = space
12+
insert_final_newline = true

0 commit comments

Comments
 (0)