@ienso/skills-community 1.0.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.
- package/git-commit-jira/SKILL.md +115 -0
- package/package.json +8 -0
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: git-commit-jira
|
|
3
|
+
description: >
|
|
4
|
+
Stage and commit changes using the iENSO Git commit message convention. Use
|
|
5
|
+
this skill whenever the iENSO team asks to commit changes, create a commit,
|
|
6
|
+
write a commit message, or says "commit this". The skill reads the live Git
|
|
7
|
+
guidelines from the reference repo, asks for the Jira issue ID and a message
|
|
8
|
+
summary, then stages and commits following the exact format defined in the
|
|
9
|
+
guidelines. Trigger for any of: "commit", "commit changes", "create a commit",
|
|
10
|
+
"commit this", "write a commit message".
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Git Commit
|
|
14
|
+
|
|
15
|
+
Create a Git commit that follows the iENSO Git commit message convention, as
|
|
16
|
+
defined in the live guidelines in the reference repo.
|
|
17
|
+
|
|
18
|
+
The **authoritative source for the commit message format** is:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
https://github.com/iENSO/ienso-cloud-demo-microservices
|
|
22
|
+
└── 02-development-guidelines/git-guidelines.md
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Step 1 — Fetch the Live Commit Message Format
|
|
28
|
+
|
|
29
|
+
Clone the reference repo into a temporary directory and read the guidelines file.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
CLONE_DIR=$(mktemp -d)
|
|
33
|
+
git clone git@github.com:iENSO/ienso-cloud-demo-microservices.git "$CLONE_DIR"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Read `$CLONE_DIR/02-development-guidelines/git-guidelines.md` in full and
|
|
37
|
+
extract the commit message format and rules from it. This is the single source
|
|
38
|
+
of truth — do not rely on any format that may have been valid in a prior
|
|
39
|
+
conversation.
|
|
40
|
+
|
|
41
|
+
Clean up immediately after reading:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
rm -rf "$CLONE_DIR"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Step 2 — Inspect the Working Tree
|
|
50
|
+
|
|
51
|
+
Run the following to understand what is staged and unstaged:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
git status
|
|
55
|
+
git diff --staged
|
|
56
|
+
git diff
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Summarise the changes internally so you can suggest a meaningful commit message
|
|
60
|
+
in the next step.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Step 3 — Collect Inputs
|
|
65
|
+
|
|
66
|
+
Ask questions **one at a time** — send each `AskUserQuestion` call separately
|
|
67
|
+
and wait for the answer before asking the next. Never batch multiple questions
|
|
68
|
+
into a single call.
|
|
69
|
+
|
|
70
|
+
**Question 1 — Jira issue ID:**
|
|
71
|
+
If the current branch name starts with a Jira key (matching the pattern
|
|
72
|
+
`[A-Z]+-[0-9]+`), extract it and offer it as the default option, asking the
|
|
73
|
+
user to confirm rather than re-enter it. Otherwise ask for the ID (e.g.,
|
|
74
|
+
`CLOUD-1234`) with an "Other" field for typing.
|
|
75
|
+
|
|
76
|
+
**Question 2 — Commit message summary:**
|
|
77
|
+
Suggest a concise summary derived from the staged diff. Present it as the
|
|
78
|
+
default option so the user can accept it with one click, or type their own via
|
|
79
|
+
"Other".
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Step 4 — Stage Files
|
|
84
|
+
|
|
85
|
+
If there are unstaged changes, ask the user whether to stage all modified and
|
|
86
|
+
deleted tracked files (`git add -u`) or let them specify individual paths. Do
|
|
87
|
+
not stage untracked files automatically — ask first.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Step 5 — Form and Apply the Commit Message
|
|
92
|
+
|
|
93
|
+
Using the format read from the guidelines in Step 1, construct the full commit
|
|
94
|
+
message and run:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
git commit -m "$(cat <<'EOF'
|
|
98
|
+
{formatted commit message exactly as the guidelines specify}
|
|
99
|
+
EOF
|
|
100
|
+
)"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Substitute the Jira issue ID and summary collected in Step 3 into the format.
|
|
104
|
+
Do not add any extra lines, signatures, or co-author trailers beyond what the
|
|
105
|
+
guidelines prescribe.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Step 6 — Confirm
|
|
110
|
+
|
|
111
|
+
After the commit succeeds, print the commit hash and the first line of the
|
|
112
|
+
commit message so the user can verify.
|
|
113
|
+
|
|
114
|
+
If the commit fails (e.g., pre-commit hook rejection), report the exact error
|
|
115
|
+
output and stop — do not retry automatically.
|