procedure-cli 1.2.0 → 1.3.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/README.md CHANGED
@@ -111,7 +111,47 @@ Three independent yes/no prompts — each explained before asking:
111
111
  - **Claude Powerline** — live status bar (git branch, context %, cost, active tools); runs via `npx` per session
112
112
  - **Git repository** — `git init` + initial commit with the generated files
113
113
  - **npm release scripts** — creates `~/bin/<project>-release` and adds `release:patch/minor/major` to `package.json`
114
- - **Code review skills** — installs `/b3awesome-code-review` and `/b3awesome-code-fix` slash commands for Claude Code, Codex CLI, and OpenCode; creates `CODE-REVIEW.md` and `CODE-FIXED.md` append-only log templates; places an archive script in `scripts/` for compacting resolved entries
114
+ - **Code review skills** — installs `/b3awesome-code-review`, `/b3awesome-code-fix`, and `/add-procedure-cli-rule` slash commands for Claude Code, Codex CLI, and OpenCode; creates `CODE-REVIEW.md` and `CODE-FIXED.md` append-only log templates; places an archive script in `scripts/` for compacting resolved entries
115
+
116
+ ## Utility Scripts
117
+
118
+ ### `procedure-cli-skills-copy.sh`
119
+
120
+ Standalone script to copy all AI agent skills to an existing project generated by Procedure CLI (useful if the project was created before the skill was available, or if Setup was skipped).
121
+
122
+ **What it does:**
123
+ - Copies `/add-procedure-cli-rule` skill to Claude Code, Codex CLI, and OpenCode
124
+ - Creates required directories if missing
125
+ - Skips existing files (safe — never overwrites)
126
+ - Provides clear feedback for each agent
127
+
128
+ **Setup:**
129
+ ```bash
130
+ # Copy script to home directory
131
+ cp /path/to/procedure-cli/procedure-cli-skills-copy.sh ~
132
+
133
+ # Add alias to ~/.zshrc (or ~/.bashrc)
134
+ echo "alias pcsc='bash ~/procedure-cli-skills-copy.sh'" >> ~/.zshrc
135
+ source ~/.zshrc
136
+ ```
137
+
138
+ **Usage:**
139
+ ```bash
140
+ cd /path/to/your-project
141
+ pcsc
142
+
143
+ # Or explicitly specify destination
144
+ ~/procedure-cli-skills-copy.sh /path/to/your-project
145
+ ```
146
+
147
+ **Output:**
148
+ ```
149
+ 📦 Copying add-procedure-cli-rule skill to .
150
+ ✅ Claude Code: .claude/skills/add-procedure-cli-rule/SKILL.md
151
+ ✅ Codex CLI: .codex/skills/add-procedure-cli-rule/SKILL.md
152
+ ✅ OpenCode: .opencode/commands/add-procedure-cli-rule.md
153
+ ✨ Done!
154
+ ```
115
155
 
116
156
  ## UI Components
117
157
 
@@ -8,6 +8,8 @@ import { ensureDir, resolveTemplatePath } from './fs.js';
8
8
  export function setupSkills(targetDir) {
9
9
  const reviewSkillSrc = resolveTemplatePath('skills/b3awesome-code-review/SKILL.md');
10
10
  const fixSkillSrc = resolveTemplatePath('skills/b3awesome-code-fix/SKILL.md');
11
+ const addRuleSkillSrc = resolveTemplatePath('skills/add-procedure-cli-rule/SKILL.md');
12
+ const addRuleOpencodeSrc = resolveTemplatePath('skills/add-procedure-cli-rule/opencode.md');
11
13
  const archiveScriptSrc = resolveTemplatePath('skills/scripts/archive-reviews.sh');
12
14
  const reviewTemplateSrc = resolveTemplatePath('skills/assets/CODE-REVIEW.template.md');
13
15
  const fixTemplateSrc = resolveTemplatePath('skills/assets/CODE-FIXED.template.md');
@@ -15,10 +17,13 @@ export function setupSkills(targetDir) {
15
17
  const skillDests = [
16
18
  { src: reviewSkillSrc, dest: resolve(targetDir, '.claude/skills/b3awesome-code-review/SKILL.md') },
17
19
  { src: fixSkillSrc, dest: resolve(targetDir, '.claude/skills/b3awesome-code-fix/SKILL.md') },
20
+ { src: addRuleSkillSrc, dest: resolve(targetDir, '.claude/skills/add-procedure-cli-rule/SKILL.md') },
18
21
  { src: reviewSkillSrc, dest: resolve(targetDir, '.codex/skills/b3awesome-code-review/SKILL.md') },
19
22
  { src: fixSkillSrc, dest: resolve(targetDir, '.codex/skills/b3awesome-code-fix/SKILL.md') },
23
+ { src: addRuleSkillSrc, dest: resolve(targetDir, '.codex/skills/add-procedure-cli-rule/SKILL.md') },
20
24
  { src: reviewSkillSrc, dest: resolve(targetDir, '.opencode/commands/b3awesome-code-review.md') },
21
25
  { src: fixSkillSrc, dest: resolve(targetDir, '.opencode/commands/b3awesome-code-fix.md') },
26
+ { src: addRuleOpencodeSrc, dest: resolve(targetDir, '.opencode/commands/add-procedure-cli-rule.md') },
22
27
  ];
23
28
  for (const { src, dest } of skillDests) {
24
29
  if (!existsSync(dest)) {
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,cAAc,GAAG,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;IAC9E,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IAClF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;IAEnF,wFAAwF;IACxF,MAAM,UAAU,GAAG;QACjB,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,+CAA+C,CAAC,EAAE;QAClG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC,EAAE;QAC5F,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,8CAA8C,CAAC,EAAE;QACjG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,2CAA2C,CAAC,EAAE;QAC3F,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,6CAA6C,CAAC,EAAE;QAChG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,0CAA0C,CAAC,EAAE;KAC3F,CAAC;IAEF,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACzC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,IAAY;IAC1C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,MAAM,cAAc,GAAG,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,mBAAmB,CAAC,wCAAwC,CAAC,CAAC;IACtF,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;IAClF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;IAEnF,wFAAwF;IACxF,MAAM,UAAU,GAAG;QACjB,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,+CAA+C,CAAC,EAAE;QAClG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC,EAAE;QAC5F,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,gDAAgD,CAAC,EAAE;QACpG,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,8CAA8C,CAAC,EAAE;QACjG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,2CAA2C,CAAC,EAAE;QAC3F,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,+CAA+C,CAAC,EAAE;QACnG,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,6CAA6C,CAAC,EAAE;QAChG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,0CAA0C,CAAC,EAAE;QAC1F,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,8CAA8C,CAAC,EAAE;KACtG,CAAC;IAEF,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACzC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,IAAY;IAC1C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "procedure-cli",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "CLI-based AI Agent powered by AI SDK 6, Z.ai, and OpenAI",
5
5
  "type": "module",
6
6
  "files": [
@@ -153,7 +153,7 @@ Two tracking files live at the project root. Both are append-only logs — never
153
153
 
154
154
  ### Setup Assets
155
155
  - Setup step can seed `CODE-REVIEW.md`, `CODE-FIXED.md`, and `scripts/archive-reviews.sh`.
156
- - Setup step can also install reusable skills: `/b3awesome-code-review` and `/b3awesome-code-fix`.
156
+ - Setup step can also install reusable skills: `/b3awesome-code-review`, `/b3awesome-code-fix`, and `/add-procedure-cli-rule`.
157
157
  - If these files are missing in a generated project, re-run setup or copy from `templates/skills/`.
158
158
 
159
159
  ### Procedure
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: add-procedure-cli-rule
3
+ description: >
4
+ Add a new rule, policy, or guideline section to both CLAUDE.md and AGENTS.md at once.
5
+ Use when the user wants to propagate a new rule/policy to both doc files simultaneously.
6
+ Triggers on: "add this rule", "add to CLAUDE.md and AGENTS.md",
7
+ "/add-procedure-cli-rule", or any request to add a section/rule/policy to both doc files.
8
+ ---
9
+
10
+ ## Target Files
11
+
12
+ Always edit both files — no exceptions:
13
+
14
+ 1. `CLAUDE.md` — Claude Code instructions
15
+ 2. `AGENTS.md` — tool-agnostic agent instructions
16
+
17
+ ## Insertion Point
18
+
19
+ Insert the new section immediately before `## Code Style` in each file.
20
+
21
+ ## Steps
22
+
23
+ 1. Extract the section content from the user's prompt (markdown block or plain text).
24
+ 2. Edit both files — insert before `## Code Style`.
25
+ 3. Commit with message: `feat: add <section-name> to CLAUDE.md and AGENTS.md`
26
+ 4. Push to remote.
27
+
28
+ ## Format Rules
29
+
30
+ - The inserted block must be a proper `##` markdown section.
31
+ - Preserve exactly one blank line before and after the block.
@@ -0,0 +1,29 @@
1
+ # Add a rule/policy section to both CLAUDE.md and AGENTS.md
2
+
3
+ Add a new rule, policy, or guideline section to both doc files at once.
4
+
5
+ ## Target Files
6
+
7
+ Always edit both files — no exceptions:
8
+
9
+ 1. `CLAUDE.md` — Claude Code instructions
10
+ 2. `AGENTS.md` — tool-agnostic agent instructions
11
+
12
+ ## Insertion Point
13
+
14
+ Insert the new section immediately before `## Code Style` in each file.
15
+
16
+ ## Steps
17
+
18
+ 1. Extract the section content from the user's prompt (markdown block or plain text).
19
+ 2. READ CLAUDE.md
20
+ 3. READ AGENTS.md
21
+ 4. Edit both files — insert before `## Code Style`.
22
+ 5. RUN git add CLAUDE.md AGENTS.md
23
+ 6. RUN git commit -m "feat: add <section-name> to CLAUDE.md and AGENTS.md"
24
+ 7. RUN git push
25
+
26
+ ## Format Rules
27
+
28
+ - The inserted block must be a proper `##` markdown section.
29
+ - Preserve exactly one blank line before and after the block.