agentic-code 0.6.3 → 0.6.5

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.
@@ -101,6 +101,7 @@ Create ADR and Design Documents.
101
101
  □ Testing strategy outlined
102
102
  □ Acceptance criteria defined and verifiable
103
103
  □ References cited
104
+ □ Complexity assessment completed (if medium/high, rationale justifies necessity)
104
105
 
105
106
  ## Mandatory Process Before Document Creation [STRICT COMPLIANCE]
106
107
 
@@ -263,6 +264,8 @@ Option [X] selected. Rationale: [2-3 sentences with trade-offs]
263
264
  ```yaml
264
265
  design_type: "new_feature|extension|refactoring"
265
266
  risk_level: "low|medium|high"
267
+ complexity_level: "low|medium|high"
268
+ complexity_rationale: "[Required if medium/high: which requirements necessitate this complexity]"
266
269
  main_constraints:
267
270
  - "[constraint 1]"
268
271
  - "[constraint 2]"
@@ -168,6 +168,7 @@ When sources exist:
168
168
  - Content quality issues exist
169
169
  - Failure scenarios partially covered
170
170
  - Medium severity issues present
171
+ - Complexity level is medium/high but rationale does not justify necessity (Design Docs)
171
172
 
172
173
  **blocked**:
173
174
  - Critical sections missing
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.3",
3
+ "version": "0.6.5",
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"