agentic-code 0.6.2 → 0.6.4

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.
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: ai-development-guide
3
- description: >
4
- Detects code smells, anti-patterns, and debugging issues. Guides fail-fast design and implementation completeness.
5
- Use when: fixing bugs, reviewing code quality, refactoring, or detecting code smells.
3
+ description: "Detects code smells, anti-patterns, and debugging issues. Use when: fixing bugs, reviewing code quality, or refactoring."
6
4
  ---
7
5
 
8
6
  # AI Developer Guide
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: coding-rules
3
- description: >
4
- Applies coding standards for clean, maintainable code. Covers functions, error handling, and refactoring techniques.
5
- Use when: writing functions, handling errors, refactoring, or reviewing code style.
3
+ description: "Applies coding standards for clean, maintainable code. Use when: writing functions, handling errors, refactoring, or reviewing code style."
6
4
  ---
7
5
 
8
6
  # Development Rules
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: documentation-criteria
3
- description: >
4
- Guides PRD, ADR, Design Doc, and Work Plan creation with templates and decision matrix.
5
- Use when: planning features, writing specs, creating technical documents, or deciding which docs are needed.
3
+ description: "Guides PRD, ADR, Design Doc, and Work Plan creation. Use when: planning features, writing specs, or creating technical documents."
6
4
  ---
7
5
 
8
6
  # Documentation Creation Criteria
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: implementation-approach
3
- description: >
4
- Selects implementation strategy (vertical slice, horizontal slice, or hybrid) with risk assessment.
5
- Use when: planning how to build a feature, deciding development approach, or defining verification levels.
3
+ description: "Selects implementation strategy (vertical/horizontal/hybrid) with risk assessment. Use when: planning features or deciding development approach."
6
4
  ---
7
5
 
8
6
  # Implementation Strategy Selection Framework (Meta-cognitive Approach)
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: integration-e2e-testing
3
- description: >
4
- Designs integration and E2E tests with mock boundaries and behavior verification rules.
5
- Use when: writing E2E tests, integration tests, test skeletons, or reviewing test quality.
3
+ description: "Designs integration and E2E tests with mock boundaries. Use when: writing E2E tests, integration tests, or reviewing test quality."
6
4
  ---
7
5
 
8
6
  # Integration Test & E2E Test Design/Implementation Rules
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: metacognition
3
- description: >
4
- Validates approach and checks assumptions before and after tasks. Provides self-assessment protocol.
5
- Use when: starting new work, encountering errors, completing tasks, or switching between phases.
3
+ description: "Validates approach and checks assumptions before/after tasks. Use when: starting work, encountering errors, or switching phases."
6
4
  ---
7
5
 
8
6
  # Metacognition Protocol
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: testing
3
- description: >
4
- Applies TDD process, test quality criteria, and mock usage guidelines. Covers unit, integration, and E2E tests.
5
- Use when: writing unit tests, using mocks, reviewing test quality, or ensuring test coverage.
3
+ description: "Applies TDD process, test quality criteria, and mock guidelines. Use when: writing unit tests, using mocks, or reviewing test quality."
6
4
  ---
7
5
 
8
6
  # Testing Rules
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: testing-strategy
3
- description: >
4
- Prioritizes which tests to write based on ROI calculation and critical user journeys.
5
- Use when: deciding test coverage, selecting test types, or budgeting test effort.
3
+ description: "Prioritizes tests based on ROI and critical user journeys. Use when: deciding test coverage, selecting test types, or budgeting effort."
6
4
  ---
7
5
 
8
6
  # Test Strategy: ROI-Based Selection
package/README.md CHANGED
@@ -4,7 +4,7 @@ Your AI (LLM), guided by built-in workflows. Describe what you want, and it foll
4
4
 
5
5
  [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
6
6
  [![AGENTS.md](https://img.shields.io/badge/AGENTS.md-compliant-blue.svg)](https://agents.md)
7
- [![Version](https://img.shields.io/badge/version-0.6.2-blue.svg)](package.json)
7
+ [![Version](https://img.shields.io/badge/version-0.6.4-blue.svg)](package.json)
8
8
 
9
9
  ![Demo: Building a Slack bot with Agentic Code](.github/assets/demo.gif)
10
10
 
@@ -114,15 +114,15 @@ cp -r path/to/agentic-code/.agents .
114
114
 
115
115
  ```bash
116
116
  # User scope (all projects)
117
- npx agentic-code-install-skills --codex
117
+ npx agentic-code skills --codex
118
118
  # Installs to ~/.codex/skills/agentic-code/
119
119
 
120
120
  # Project scope (current project only)
121
- npx agentic-code-install-skills --codex --project
121
+ npx agentic-code skills --codex --project
122
122
  # Installs to ./.codex/skills/agentic-code/
123
123
 
124
124
  # Custom path
125
- npx agentic-code-install-skills --path ./custom/skills
125
+ npx agentic-code skills --path ./custom/skills
126
126
  # Installs to ./custom/skills/agentic-code/
127
127
  ```
128
128
 
package/bin/cli.js CHANGED
@@ -6,6 +6,15 @@ const { execSync } = require('child_process');
6
6
 
7
7
  // Parse command line arguments
8
8
  const args = process.argv.slice(2);
9
+
10
+ // Subcommand routing
11
+ if (args[0] === 'skills') {
12
+ // Delegate to install-codex-skills
13
+ const installSkills = require('./install-codex-skills');
14
+ installSkills.run(args.slice(1));
15
+ process.exit(0);
16
+ }
17
+
9
18
  const projectName = args[0];
10
19
 
11
20
  // Show help if no project name provided
@@ -14,12 +23,15 @@ if (!projectName) {
14
23
  🤖 Agentic Code - Task-oriented context engineering framework
15
24
 
16
25
  Usage:
17
- npx github:shinpr/agentic-code <project-name>
26
+ npx agentic-code <project-name> Create a new project
27
+ npx agentic-code skills [options] Install skills to Codex CLI
18
28
 
19
29
  Examples:
20
- npx github:shinpr/agentic-code my-project
30
+ npx agentic-code my-project
31
+ npx agentic-code skills --codex
32
+ npx agentic-code skills --codex --project
21
33
 
22
- Skills include language-specific references (e.g., .agents/skills/coding-rules/references/typescript.md)
34
+ For skills options, run: npx agentic-code skills --help
23
35
  `);
24
36
  process.exit(1);
25
37
  }
@@ -4,28 +4,12 @@ const fs = require('fs');
4
4
  const path = require('path');
5
5
  const os = require('os');
6
6
 
7
- // Parse command line arguments
8
- const args = process.argv.slice(2);
9
-
10
7
  // Scope types
11
8
  const SCOPES = {
12
9
  user: 'user',
13
10
  project: 'project'
14
11
  };
15
12
 
16
- // Get target directory based on target and scope
17
- function getTargetDir(targetKey, scope) {
18
- if (targetKey === 'codex') {
19
- if (scope === SCOPES.project) {
20
- return path.join(process.cwd(), '.codex', 'skills');
21
- }
22
- // User scope: respect CODEX_HOME environment variable
23
- const codexHome = process.env.CODEX_HOME || path.join(os.homedir(), '.codex');
24
- return path.join(codexHome, 'skills');
25
- }
26
- return null;
27
- }
28
-
29
13
  // Target configurations
30
14
  const TARGETS = {
31
15
  codex: {
@@ -36,76 +20,17 @@ const TARGETS = {
36
20
  // Future targets can be added here
37
21
  };
38
22
 
39
- // Show help
40
- if (args.includes('--help') || args.includes('-h')) {
41
- console.log(`
42
- Usage: agentic-code-install-skills [options]
43
-
44
- Options:
45
- --codex Install skills to Codex CLI (default)
46
- --project Install to project scope instead of user scope
47
- --path <path> Install to custom path
48
- --help Show this help message
49
-
50
- Scopes:
51
- user (default) Install to user directory (~/.codex/skills/ or $CODEX_HOME/skills/)
52
- project Install to current project (./.codex/skills/)
53
-
54
- Examples:
55
- agentic-code-install-skills # Install to ~/.codex/skills/ (user scope)
56
- agentic-code-install-skills --codex # Same as above (explicit)
57
- agentic-code-install-skills --codex --project # Install to ./.codex/skills/ (project scope)
58
- agentic-code-install-skills --path ./my-skills # Install to ./my-skills/agentic-code
59
- `);
60
- process.exit(0);
61
- }
62
-
63
- // Parse --path option
64
- function getCustomPath() {
65
- const pathIndex = args.indexOf('--path');
66
- if (pathIndex === -1) return null;
67
-
68
- const customPath = args[pathIndex + 1];
69
- if (!customPath || customPath.startsWith('-')) {
70
- console.error('Error: --path requires a path argument');
71
- process.exit(1);
72
- }
73
- return path.resolve(customPath);
74
- }
75
-
76
- const customPath = getCustomPath();
77
-
78
- // Determine target (default: codex)
79
- let targetKey = customPath ? 'custom' : 'codex';
80
- if (args.includes('--codex')) {
81
- targetKey = customPath ? 'custom' : 'codex';
82
- }
83
-
84
- // Determine scope (default: user)
85
- const scope = args.includes('--project') ? SCOPES.project : SCOPES.user;
86
-
87
- // Get skills directory
88
- let skillsDir;
89
- let target;
90
-
91
- if (customPath) {
92
- skillsDir = customPath;
93
- target = {
94
- name: 'agentic-code',
95
- description: 'custom path',
96
- postInstall: null
97
- };
98
- } else {
99
- target = TARGETS[targetKey];
100
- if (!target) {
101
- console.error(`Error: Unknown target '${targetKey}'`);
102
- process.exit(1);
103
- }
104
- skillsDir = getTargetDir(targetKey, scope);
105
- if (!skillsDir) {
106
- console.error(`Error: Cannot determine target directory for '${targetKey}'`);
107
- process.exit(1);
23
+ // Get target directory based on target and scope
24
+ function getTargetDir(targetKey, scope) {
25
+ if (targetKey === 'codex') {
26
+ if (scope === SCOPES.project) {
27
+ return path.join(process.cwd(), '.codex', 'skills');
28
+ }
29
+ // User scope: respect CODEX_HOME environment variable
30
+ const codexHome = process.env.CODEX_HOME || path.join(os.homedir(), '.codex');
31
+ return path.join(codexHome, 'skills');
108
32
  }
33
+ return null;
109
34
  }
110
35
 
111
36
  // Get source directory (from installed package or local)
@@ -142,8 +67,82 @@ function copyDirectory(src, dest) {
142
67
  }
143
68
  }
144
69
 
145
- // Main
146
- function main() {
70
+ // Parse --path option
71
+ function getCustomPath(args) {
72
+ const pathIndex = args.indexOf('--path');
73
+ if (pathIndex === -1) return null;
74
+
75
+ const customPath = args[pathIndex + 1];
76
+ if (!customPath || customPath.startsWith('-')) {
77
+ console.error('Error: --path requires a path argument');
78
+ process.exit(1);
79
+ }
80
+ return path.resolve(customPath);
81
+ }
82
+
83
+ // Main run function
84
+ function run(cliArgs) {
85
+ const args = cliArgs || process.argv.slice(2);
86
+
87
+ // Show help
88
+ if (args.includes('--help') || args.includes('-h')) {
89
+ console.log(`
90
+ Usage: npx agentic-code skills [options]
91
+
92
+ Options:
93
+ --codex Install skills to Codex CLI (default)
94
+ --project Install to project scope instead of user scope
95
+ --path <path> Install to custom path
96
+ --help Show this help message
97
+
98
+ Scopes:
99
+ user (default) Install to user directory (~/.codex/skills/ or $CODEX_HOME/skills/)
100
+ project Install to current project (./.codex/skills/)
101
+
102
+ Examples:
103
+ npx agentic-code skills # Install to ~/.codex/skills/ (user scope)
104
+ npx agentic-code skills --codex # Same as above (explicit)
105
+ npx agentic-code skills --codex --project # Install to ./.codex/skills/ (project scope)
106
+ npx agentic-code skills --path ./my-skills # Install to ./my-skills/agentic-code
107
+ `);
108
+ process.exit(0);
109
+ }
110
+
111
+ const customPath = getCustomPath(args);
112
+
113
+ // Determine target (default: codex)
114
+ let targetKey = customPath ? 'custom' : 'codex';
115
+ if (args.includes('--codex')) {
116
+ targetKey = customPath ? 'custom' : 'codex';
117
+ }
118
+
119
+ // Determine scope (default: user)
120
+ const scope = args.includes('--project') ? SCOPES.project : SCOPES.user;
121
+
122
+ // Get skills directory
123
+ let skillsDir;
124
+ let target;
125
+
126
+ if (customPath) {
127
+ skillsDir = customPath;
128
+ target = {
129
+ name: 'agentic-code',
130
+ description: 'custom path',
131
+ postInstall: null
132
+ };
133
+ } else {
134
+ target = TARGETS[targetKey];
135
+ if (!target) {
136
+ console.error(`Error: Unknown target '${targetKey}'`);
137
+ process.exit(1);
138
+ }
139
+ skillsDir = getTargetDir(targetKey, scope);
140
+ if (!skillsDir) {
141
+ console.error(`Error: Cannot determine target directory for '${targetKey}'`);
142
+ process.exit(1);
143
+ }
144
+ }
145
+
147
146
  const sourceDir = getSourceSkillsDir();
148
147
 
149
148
  if (!sourceDir) {
@@ -187,4 +186,10 @@ function main() {
187
186
  }
188
187
  }
189
188
 
190
- main();
189
+ // Export for module usage
190
+ module.exports = { run };
191
+
192
+ // Run if called directly
193
+ if (require.main === module) {
194
+ run();
195
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-code",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "Task-oriented context engineering framework for LLM coding agents - AGENTS.md standard compliant",
5
5
  "files": [
6
6
  "bin/",
@@ -8,8 +8,7 @@
8
8
  "AGENTS.md"
9
9
  ],
10
10
  "bin": {
11
- "agentic-code": "./bin/cli.js",
12
- "agentic-code-install-skills": "./bin/install-codex-skills.js"
11
+ "agentic-code": "./bin/cli.js"
13
12
  },
14
13
  "scripts": {
15
14
  "test": "echo \"Error: no test specified\" && exit 1"