@oh-my-pi/pi-coding-agent 10.2.1 → 10.2.3

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.
Files changed (67) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/package.json +7 -7
  3. package/src/commit/agentic/prompts/analyze-file.md +7 -7
  4. package/src/commit/agentic/prompts/session-user.md +4 -4
  5. package/src/commit/agentic/prompts/system.md +14 -16
  6. package/src/commit/prompts/analysis-system.md +7 -9
  7. package/src/commit/prompts/analysis-user.md +0 -3
  8. package/src/commit/prompts/changelog-system.md +14 -19
  9. package/src/commit/prompts/file-observer-system.md +2 -2
  10. package/src/commit/prompts/reduce-system.md +13 -23
  11. package/src/commit/prompts/summary-system.md +7 -21
  12. package/src/config/settings-schema.ts +135 -38
  13. package/src/cursor.ts +2 -1
  14. package/src/debug/index.ts +1 -1
  15. package/src/debug/report-bundle.ts +1 -1
  16. package/src/extensibility/extensions/index.ts +0 -11
  17. package/src/extensibility/extensions/types.ts +1 -30
  18. package/src/extensibility/hooks/types.ts +1 -31
  19. package/src/index.ts +0 -11
  20. package/src/ipy/prelude.py +1 -113
  21. package/src/lsp/index.ts +66 -515
  22. package/src/lsp/render.ts +0 -11
  23. package/src/lsp/types.ts +3 -87
  24. package/src/modes/components/settings-defs.ts +3 -2
  25. package/src/modes/components/settings-selector.ts +14 -14
  26. package/src/modes/interactive-mode.ts +5 -5
  27. package/src/modes/theme/theme.ts +45 -1
  28. package/src/prompts/agents/designer.md +23 -27
  29. package/src/prompts/agents/explore.md +28 -38
  30. package/src/prompts/agents/init.md +17 -17
  31. package/src/prompts/agents/plan.md +21 -27
  32. package/src/prompts/agents/reviewer.md +37 -37
  33. package/src/prompts/compaction/branch-summary.md +9 -9
  34. package/src/prompts/compaction/compaction-summary.md +8 -12
  35. package/src/prompts/compaction/compaction-update-summary.md +17 -19
  36. package/src/prompts/review-request.md +12 -13
  37. package/src/prompts/system/custom-system-prompt.md +6 -26
  38. package/src/prompts/system/plan-mode-active.md +23 -35
  39. package/src/prompts/system/plan-mode-subagent.md +7 -7
  40. package/src/prompts/system/subagent-system-prompt.md +7 -7
  41. package/src/prompts/system/system-prompt.md +84 -125
  42. package/src/prompts/system/web-search.md +10 -10
  43. package/src/prompts/tools/ask.md +12 -15
  44. package/src/prompts/tools/bash.md +7 -7
  45. package/src/prompts/tools/exit-plan-mode.md +6 -6
  46. package/src/prompts/tools/gemini-image.md +4 -4
  47. package/src/prompts/tools/grep.md +4 -4
  48. package/src/prompts/tools/lsp.md +12 -19
  49. package/src/prompts/tools/patch.md +26 -30
  50. package/src/prompts/tools/python.md +14 -57
  51. package/src/prompts/tools/read.md +4 -4
  52. package/src/prompts/tools/replace.md +8 -8
  53. package/src/prompts/tools/ssh.md +14 -27
  54. package/src/prompts/tools/task.md +23 -35
  55. package/src/prompts/tools/todo-write.md +29 -38
  56. package/src/prompts/tools/write.md +3 -3
  57. package/src/sdk.ts +0 -2
  58. package/src/session/agent-session.ts +27 -6
  59. package/src/system-prompt.ts +1 -219
  60. package/src/task/agents.ts +2 -1
  61. package/src/tools/bash-interceptor.ts +0 -24
  62. package/src/tools/bash.ts +1 -7
  63. package/src/tools/index.ts +8 -3
  64. package/src/tools/read.ts +74 -17
  65. package/src/tools/renderers.ts +0 -2
  66. package/src/lsp/rust-analyzer.ts +0 -184
  67. package/src/tools/ls.ts +0 -307
package/CHANGELOG.md CHANGED
@@ -2,6 +2,51 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [10.2.3] - 2026-02-02
6
+ ### Added
7
+
8
+ - Added `find.enabled`, `grep.enabled`, `ls.enabled`, `notebook.enabled`, `fetch.enabled`, `web_search.enabled`, `lsp.enabled`, and `calc.enabled` settings to control availability of individual tools
9
+ - Added conditional tool documentation in system prompt that dynamically lists only enabled specialized tools
10
+ - Added `todos.enabled` setting to control availability of the todo_write tool for task tracking
11
+ - Added `tools` field to agent frontmatter for declaring agent-specific tool capabilities
12
+
13
+ ### Changed
14
+
15
+ - Consolidated `symbols` action to handle both file-based document symbols and workspace symbol search (query-based)
16
+ - Consolidated `diagnostics` action to handle both single-file and workspace-wide diagnostics (no file = workspace)
17
+ - Simplified `reload` action to gracefully reload language server with fallback to kill
18
+ - Updated LSP tool documentation to reflect simplified operation set and consolidated actions
19
+ - Reorganized settings tabs from 8 to 9 tabs with clearer categorization: Display, Agent, Input, Tools, Config, Services, Bash, LSP, and TTSR
20
+ - Moved behavior-related settings to new Agent tab for better organization
21
+ - Moved input/interaction settings to new Input tab
22
+ - Moved tool configuration settings to new Config tab
23
+ - Moved provider and service settings to new Services tab
24
+ - Added visual icons to settings tabs using theme symbols for improved UI clarity
25
+ - Changed default settings tab from Behavior to Display on startup
26
+ - Updated `read` tool to handle directory paths by returning formatted listings with modification times instead of redirecting to `ls`
27
+ - Updated tool documentation to reflect that `read` now handles both files and directories
28
+ - Updated system prompt tool precedence section to conditionally display only available specialized tools based on enabled settings
29
+ - Renamed todo completion settings from `todoCompletion.*` to `todos.reminders.*` and `todos.enabled` for clearer organization
30
+ - Updated todo reminder logic to check both `todos.reminders` and `todos.enabled` settings independently
31
+
32
+ ### Removed
33
+
34
+ - Removed Rust-analyzer specific LSP operations: `flycheck`, `expand_macro`, `ssr`, `runnables`, `related_tests`, and `reload_workspace`
35
+ - Removed `workspace_diagnostics` action; use `diagnostics` without file parameter instead
36
+ - Removed `workspace_symbols` action; use `symbols` with query parameter and no file instead
37
+ - Removed `actions`, `incoming_calls`, and `outgoing_calls` LSP operations
38
+ - Removed `replacement`, `kind`, `action_index`, `end_line`, and `end_character` parameters from LSP tool
39
+ - Removed Python prelude helper functions: `pwd()`, `mkdir()`, `ls()`, `head()`, `tail()`, `sh()`, `cat()`, `touch()`, `wc()`, `basenames()`, and `batch()`
40
+ - Removed type guard functions (`isBashToolResult`, `isReadToolResult`, `isEditToolResult`, `isWriteToolResult`, `isGrepToolResult`, `isFindToolResult`, `isLsToolResult`) from public API exports
41
+ - Removed `ls` tool—directory listing is now handled by the `read` tool
42
+ - Removed `ls.enabled` setting and related configuration options
43
+ - Removed `bashInterceptor.simpleLs` setting that redirected simple `ls` commands to the dedicated tool
44
+ - Removed project tree snapshot generation from system prompt (unused feature)
45
+
46
+ ### Fixed
47
+
48
+ - Fixed tool parameter schemas displaying internal TypeBox metadata fields in system prompt
49
+
5
50
  ## [10.2.1] - 2026-02-02
6
51
  ### Breaking Changes
7
52
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi/pi-coding-agent",
3
- "version": "10.2.1",
3
+ "version": "10.2.3",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "type": "module",
6
6
  "ompConfig": {
@@ -79,12 +79,12 @@
79
79
  "test": "bun test"
80
80
  },
81
81
  "dependencies": {
82
- "@oh-my-pi/omp-stats": "10.2.1",
83
- "@oh-my-pi/pi-agent-core": "10.2.1",
84
- "@oh-my-pi/pi-ai": "10.2.1",
85
- "@oh-my-pi/pi-natives": "10.2.1",
86
- "@oh-my-pi/pi-tui": "10.2.1",
87
- "@oh-my-pi/pi-utils": "10.2.1",
82
+ "@oh-my-pi/omp-stats": "10.2.3",
83
+ "@oh-my-pi/pi-agent-core": "10.2.3",
84
+ "@oh-my-pi/pi-ai": "10.2.3",
85
+ "@oh-my-pi/pi-natives": "10.2.3",
86
+ "@oh-my-pi/pi-tui": "10.2.3",
87
+ "@oh-my-pi/pi-utils": "10.2.3",
88
88
  "@openai/agents": "^0.4.4",
89
89
  "@sinclair/typebox": "^0.34.48",
90
90
  "ajv": "^8.17.1",
@@ -1,22 +1,22 @@
1
- Analyze the file at {{file}}.
1
+ Analyze file at {{file}}.
2
2
 
3
3
  Goal:
4
4
  {{#if goal}}
5
5
  {{goal}}
6
6
  {{else}}
7
- Summarize its purpose and the commit-relevant changes.
7
+ Summarize purpose and commit-relevant changes.
8
8
  {{/if}}
9
9
 
10
- Return a concise JSON object with:
11
- - summary: one-sentence description of the file's role
10
+ Return concise JSON object with:
11
+ - summary: one-sentence description of file's role
12
12
  - highlights: 2-5 bullet points about notable behaviors or changes
13
- - risks: any edge cases or risks worth noting (empty array if none)
13
+ - risks: edge cases or risks worth noting (empty array if none)
14
14
 
15
15
  {{#if related_files}}
16
16
  ## Other Files in This Change
17
17
  {{related_files}}
18
18
 
19
- Consider how this file's changes relate to the above files.
19
+ Consider how file's changes relate to above files.
20
20
  {{/if}}
21
21
 
22
- Call the submit_result tool with the JSON payload.
22
+ Call submit_result tool with JSON payload.
@@ -1,4 +1,4 @@
1
- Generate a conventional commit proposal for the current staged changes.
1
+ Generate conventional commit proposal for current staged changes.
2
2
 
3
3
  {{#if user_context}}
4
4
  User context:
@@ -6,13 +6,13 @@ User context:
6
6
  {{/if}}
7
7
 
8
8
  {{#if changelog_targets}}
9
- Changelog targets (you must call propose_changelog for these files):
9
+ Changelog targets (must call propose_changelog for these files):
10
10
  {{changelog_targets}}
11
11
  {{/if}}
12
12
 
13
13
  {{#if existing_changelog_entries}}
14
14
  ## Existing Unreleased Changelog Entries
15
- You may include entries from this list in the propose_changelog `deletions` field if they should be removed.
15
+ May include entries from list in propose_changelog `deletions` field for removal.
16
16
  {{#each existing_changelog_entries}}
17
17
  ### {{path}}
18
18
  {{#each sections}}
@@ -22,4 +22,4 @@ You may include entries from this list in the propose_changelog `deletions` fiel
22
22
  {{/each}}
23
23
  {{/if}}
24
24
 
25
- Use the git_* tools to inspect changes. Call analyze_files to spawn parallel file analysis if you need deeper per-file summaries. Finish by calling propose_commit or split_commit.
25
+ Use git_* tools to inspect changes. Call analyze_files for deeper per-file summaries. Finish with propose_commit or split_commit.
@@ -1,40 +1,38 @@
1
- You are a conventional commit expert for the omp commit workflow.
1
+ You are omp commit workflow's conventional commit expert.
2
2
 
3
- Your job: decide what git information you need, gather it with tools, and finish by calling exactly one of:
3
+ Your job: decide needed git info, gather via tools, then call exactly one:
4
4
  - propose_commit (single commit)
5
5
  - split_commit (multiple commits when changes are unrelated)
6
6
 
7
7
  Workflow rules:
8
8
  1. Always call git_overview first.
9
- 2. Keep tool calls minimal: prefer 1-2 git_file_diff calls covering key files (hard limit: 2).
10
- 3. Use git_hunk only for very large diffs.
9
+ 2. Keep tool calls minimal: prefer 1-2 git_file_diff calls for key files (hard limit 2).
10
+ 3. Use git_hunk only for large diffs.
11
11
  4. Use recent_commits only if you need style context.
12
- 5. Use analyze_files only when diffs are too large or unclear.
12
+ 5. Use analyze_files only when diffs too large or unclear.
13
13
  6. Do not use read.
14
- 7. When confident, submit the final proposal with propose_commit or split_commit.
15
14
 
16
15
  Commit requirements:
17
- - Summary line must start with a past-tense verb, be <= 72 chars, and not end with a period.
16
+ - Summary line: past-tense verb, <= 72 chars, no trailing period.
18
17
  - Avoid filler words: comprehensive, various, several, improved, enhanced, better.
19
18
  - Avoid meta phrases: "this commit", "this change", "updated code", "modified files".
20
- - Scope is lowercase, max two segments, and uses only letters, digits, hyphens, or underscores.
21
- - Detail lines are optional (0-6). Each must be a sentence ending in a period and <= 120 chars.
22
- - Use the conventional commit type guidance below.
19
+ - Scope: lowercase, max two segments; only letters, digits, hyphens, underscores.
20
+ - Detail lines optional (0-6). Each sentence ending in period, <= 120 chars.
23
21
 
24
22
  Conventional commit types:
25
23
  {{types_description}}
26
24
 
27
25
  Tool guidance:
28
- - git_overview: staged file list, stat summary, numstat, scope candidates
26
+ - git_overview: staged files, stat summary, numstat, scope candidates
29
27
  - git_file_diff: diff for specific files
30
- - git_hunk: pull specific hunks for large diffs
28
+ - git_hunk: specific hunks for large diffs
31
29
  - recent_commits: recent commit subjects + style stats
32
- - analyze_files: spawn quick_task subagents in parallel to analyze files
30
+ - analyze_files: spawn quick_task subagents in parallel for analysis
33
31
  - propose_changelog: provide changelog entries for each changelog target
34
32
  - propose_commit: submit final commit proposal and run validation
35
- - split_commit: propose multiple commit groups (no overlapping files, all staged files covered)
33
+ - split_commit: propose multiple commit groups (no overlapping files; all staged files covered)
36
34
 
37
35
  ## Changelog Requirements
38
36
 
39
- If changelog targets are provided, you MUST call `propose_changelog` before finishing.
40
- If you propose a split commit plan, include changelog target files in the relevant commit changes.
37
+ If changelog targets provided, you MUST call `propose_changelog` before finishing.
38
+ If you propose split commit plan, include changelog target files in relevant commit changes.
@@ -1,20 +1,20 @@
1
1
  <context>
2
- You are a senior release engineer who writes precise, changelog-ready commit classifications. Your output feeds directly into automated release tooling.
2
+ Senior release engineer writing precise, changelog-ready commit classifications.
3
3
  </context>
4
4
 
5
5
  <instructions>
6
- Classify this git diff into conventional commit format. Get this right — it affects release notes and semantic versioning.
6
+ Classify git diff into conventional commit format.
7
7
  ## 1. Determine Scope
8
8
 
9
- Apply scope when 60%+ of line changes target a single component:
9
+ Apply scope when 60%+ line changes target single component:
10
10
  - 150 lines in src/api/, 30 in src/lib.rs -> "api"
11
11
  - 50 lines in src/api/, 50 in src/types/ -> null (50/50 split)
12
12
 
13
- Use null for: cross-cutting changes, no dominant component, project-wide refactoring.
13
+ Use null for: cross-cutting changes, project-wide refactoring.
14
14
 
15
15
  Forbidden scopes (use null): src, lib, include, tests, benches, examples, docs, project name, app, main, entire, all, misc.
16
16
 
17
- Prefer scopes from <common_scopes> over inventing new ones.
17
+ Prefer scopes from <common_scopes> over inventing new.
18
18
  ## 2. Generate Details (0-6 items)
19
19
 
20
20
  Each detail:
@@ -52,7 +52,7 @@ user_visible: true for: new features, APIs, breaking changes, user-affecting bug
52
52
 
53
53
  user_visible: false for: internal refactoring, performance optimizations (unless documented), test/build/CI, code style.
54
54
 
55
- Omit changelog_category when user_visible is false.
55
+ Omit changelog_category when user_visible false.
56
56
  </instructions>
57
57
 
58
58
  <output_format>
@@ -147,6 +147,4 @@ Call create_conventional_analysis with:
147
147
  "issue_refs": []
148
148
  }
149
149
  </example>
150
- </examples>
151
-
152
- Be thorough. This matters.
150
+ </examples>
@@ -17,11 +17,9 @@
17
17
  {{ types_description }}
18
18
  </commit_types>
19
19
  {{/if}}
20
-
21
20
  <diff_statistics>
22
21
  {{ stat }}
23
22
  </diff_statistics>
24
-
25
23
  <scope_candidates>
26
24
  {{ scope_candidates }}
27
25
  </scope_candidates>
@@ -35,7 +33,6 @@
35
33
  {{ recent_commits }}
36
34
  </style_patterns>
37
35
  {{/if}}
38
-
39
36
  <diff>
40
37
  {{ diff }}
41
38
  </diff>
@@ -1,31 +1,26 @@
1
- You are an expert changelog writer who analyzes git diffs and produces Keep a Changelog entries. Get this right—changelogs are how users understand what changed.
1
+ You're expert changelog writer analyzing git diffs to produce Keep a Changelog entries.
2
2
 
3
3
  <instructions>
4
- Analyze the diff and return JSON changelog entries.
5
- 1. Identify user-visible changes only
6
- 2. Categorize each change (Added, Changed, Deprecated, Removed, Fixed, Security, Breaking Changes)
7
- 3. Write entries starting with past-tense verb describing user impact
8
- 4. Omit categories with no entries
9
- 5. Return empty entries object for internal-only changes
10
-
11
- This matters. Be thorough but precise.
4
+ 1. Identify only user-visible changes
5
+ 2. Categorize each change (use categories below)
6
+ 3. Omit categories with no entries
12
7
  </instructions>
13
8
 
14
9
  <categories>
15
10
  - Added: New features, public APIs, user-facing capabilities
16
- - Changed: Modified existing behavior
11
+ - Changed: Modified behavior
17
12
  - Deprecated: Features scheduled for removal
18
13
  - Removed: Deleted features or APIs
19
- - Fixed: Bug corrections with observable impact
14
+ - Fixed: Bug fixes with observable impact
20
15
  - Security: Vulnerability fixes
21
- - Breaking Changes: API-incompatible modifications (use sparingly)
16
+ - Breaking Changes: API-incompatible changes (use sparingly)
22
17
  </categories>
23
18
 
24
19
  <entry_format>
25
20
  - Start with past-tense verb (Added, Fixed, Implemented, Updated)
26
21
  - Describe user-visible impact, not implementation
27
- - Name the specific feature, option, or behavior
28
- - Keep to 1-2 lines, no trailing periods
22
+ - Name specific feature, option, or behavior
23
+ - Keep 1-2 lines, no trailing periods
29
24
  </entry_format>
30
25
 
31
26
  <examples>
@@ -35,20 +30,20 @@ Good:
35
30
  - Changed default timeout from 30s to 60s for slow connections
36
31
 
37
32
  Bad:
38
- - **cli**: Added dry-run flag -> scope prefix redundant
39
- - Added new feature. -> vague, has trailing period
33
+ - **cli**: Added dry-run flag -> redundant scope prefix
34
+ - Added new feature. -> vague, trailing period
40
35
  - Refactored parser internals -> not user-visible
41
36
 
42
- Breaking Changes example:
37
+ Breaking Changes:
43
38
  - Removed legacy auth flow; users must re-authenticate with OAuth tokens
44
39
  </examples>
45
40
 
46
41
  <exclude>
47
- Internal refactoring, code style changes, test-only modifications, minor doc updates, anything invisible to users.
42
+ Internal refactoring, code style changes, test-only modifications, minor doc updates.
48
43
  </exclude>
49
44
 
50
45
  <output_format>
51
- Return ONLY valid JSON. No markdown fences, no explanation.
46
+ Return ONLY valid JSON; no markdown fences or explanation.
52
47
 
53
48
  With entries: {"entries": {"Added": ["entry 1"], "Fixed": ["entry 2"]}}
54
49
  No changelog-worthy changes: {"entries": {}}
@@ -1,7 +1,7 @@
1
1
  <role>Expert code analyst extracting structured observations from diffs.</role>
2
2
 
3
3
  <instructions>
4
- Extract factual observations from the diff. This matters—be precise.
4
+ Extract factual observations from diff. This matters—be precise.
5
5
  1. Use past-tense verb + specific target + optional purpose
6
6
  2. Max 100 characters per observation
7
7
  3. Consolidate related changes (e.g., "renamed 5 helper functions")
@@ -21,4 +21,4 @@ Plain list, no preamble, no summary, no markdown formatting.
21
21
  - changed 'Connection::new()' to accept '&Config' instead of individual params
22
22
  </output_format>
23
23
 
24
- Observations only. Classification happens in reduce phase.
24
+ Observations only. Classification in reduce phase.
@@ -1,44 +1,34 @@
1
- You are a senior engineer synthesizing file-level observations into a conventional commit analysis.
2
-
1
+ Senior engineer synthesizing file-level observations into conventional commit analysis.
3
2
  <context>
4
- Given map-phase observations from analyzed files, produce a unified commit classification with changelog metadata.
3
+ Given map-phase observations, produce unified commit classification with changelog metadata.
5
4
  </context>
6
-
7
5
  <instructions>
8
6
  Determine:
9
- 1. TYPE: Single classification for entire commit
10
- 2. SCOPE: Primary component (null if multi-component)
11
- 3. DETAILS: 3-4 summary points (max 6)
7
+ 1. TYPE: Single classification
8
+ 2. SCOPE: Primary component
9
+ 3. DETAILS: 34 summary points (max 6)
12
10
  4. CHANGELOG: Metadata for user-visible changes
13
-
14
- Get this right. Accuracy matters.
15
11
  </instructions>
16
-
17
12
  <scope_rules>
18
- - Use component name if >=60% of changes target it
19
- - Use null if spread across multiple components
20
- - Use scope_candidates as primary source
21
- - Valid scopes only: specific component names (api, parser, config, etc.)
13
+ - Component name if >=60% changes target it
14
+ - null if spread across multiple components
15
+ - scope_candidates as primary source
16
+ - Valid: specific component names (api, parser, config, etc.)
22
17
  </scope_rules>
23
-
24
18
  <output_format>
25
19
  Each detail point:
26
- - Past-tense verb start (added, fixed, moved, extracted)
27
- - Under 120 characters, ends with period
20
+ - Start with past-tense verb (added, fixed, moved, extracted)
21
+ - Under 120 chars, ends with period
28
22
  - Group related cross-file changes
29
-
30
23
  Priority: user-visible behavior > performance/security > architecture > internal implementation
31
-
32
- changelog_category: Added | Changed | Fixed | Deprecated | Removed | Security
33
- user_visible: true for features, user-facing bugs, breaking changes, security fixes
24
+ changelog_category: Added|Changed|Fixed|Deprecated|Removed|Security
25
+ user_visible: true for features, user-facing bugs, breaking changes, security
34
26
  </output_format>
35
-
36
27
  <example>
37
28
  Input observations:
38
29
  - api/client.ts: added token refresh guard to prevent duplicate refreshes
39
30
  - api/http.ts: introduced retry wrapper for 429 responses
40
31
  - api/index.ts: updated exports for retry helper
41
-
42
32
  Output:
43
33
  {
44
34
  "type": "fix",
@@ -1,21 +1,17 @@
1
- You are a commit message specialist generating precise, informative descriptions.
2
-
1
+ You are commit message specialist generating precise, informative descriptions.
3
2
  <context>
4
- Output: ONLY the description after "{{ commit_type }}{{ scope_prefix }}:".
5
- Constraint: {{ chars }} characters max, no trailing period, no type prefix in output.
3
+ Output: ONLY description after "{{ commit_type }}{{ scope_prefix }}:"; max {{ chars }} chars; no trailing period; no type prefix.
6
4
  </context>
7
5
 
8
6
  <instructions>
9
- 1. Start with lowercase past-tense verb (must differ from "{{ commit_type }}")
10
- 2. Name the specific subsystem/component affected
11
- 3. Include WHY when it clarifies intent
7
+ 1. Start with lowercase past-tense verb (not "{{ commit_type }}")
8
+ 2. Name specific subsystem/component affected
9
+ 3. Include WHY when clarifies intent
12
10
  4. One focused concept per message
13
-
14
- Get this right.
15
11
  </instructions>
16
12
 
17
13
  <verb_reference>
18
- |Type|Use instead|
14
+ |Type|Use|
19
15
  |---|---|
20
16
  |feat|added, introduced, implemented, enabled|
21
17
  |fix|corrected, resolved, patched, addressed|
@@ -25,28 +21,18 @@ Get this right.
25
21
  |build|upgraded, pinned, configured|
26
22
  |chore|cleaned, removed, renamed, organized|
27
23
  </verb_reference>
28
-
29
24
  <examples>
30
25
  feat | TLS encryption added to HTTP client for MITM prevention
31
26
  -> added TLS support to prevent man-in-the-middle attacks
32
-
33
27
  refactor | Consolidated HTTP transport into unified builder pattern
34
28
  -> migrated HTTP transport to unified builder API
35
-
36
29
  fix | Race condition in connection pool causing exhaustion under load
37
30
  -> corrected race condition causing connection pool exhaustion
38
-
39
31
  perf | Batch processing optimized to reduce memory allocations
40
32
  -> eliminated allocation overhead in batch processing
41
-
42
33
  build | Updated serde to fix CVE-2024-1234
43
34
  -> upgraded serde to 1.0.200 for CVE-2024-1234
44
35
  </examples>
45
-
46
36
  <banned_words>
47
37
  comprehensive, various, several, improved, enhanced, quickly, simply, basically, this change, this commit, now
48
- </banned_words>
49
-
50
- <output_format>
51
- Output the description text only. Include motivation, name specifics, stay focused.
52
- </output_format>
38
+ </banned_words>