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.
- package/.agents/skills/ai-development-guide/SKILL.md +1 -3
- package/.agents/skills/coding-rules/SKILL.md +1 -3
- package/.agents/skills/documentation-criteria/SKILL.md +1 -3
- package/.agents/skills/implementation-approach/SKILL.md +1 -3
- package/.agents/skills/integration-e2e-testing/SKILL.md +1 -3
- package/.agents/skills/metacognition/SKILL.md +1 -3
- package/.agents/skills/testing/SKILL.md +1 -3
- package/.agents/skills/testing-strategy/SKILL.md +1 -3
- package/README.md +4 -4
- package/bin/cli.js +15 -3
- package/bin/install-codex-skills.js +93 -88
- package/package.json +2 -3
|
@@ -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
|
[](LICENSE)
|
|
6
6
|
[](https://agents.md)
|
|
7
|
-
[](package.json)
|
|
8
8
|
|
|
9
9
|

|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
30
|
+
npx agentic-code my-project
|
|
31
|
+
npx agentic-code skills --codex
|
|
32
|
+
npx agentic-code skills --codex --project
|
|
21
33
|
|
|
22
|
-
|
|
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
|
-
//
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
//
|
|
146
|
-
function
|
|
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
|
-
|
|
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
|
+
"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"
|