@undeemed/get-shit-done-codex 1.6.8 → 1.6.10
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/bin/install.js +49 -50
- package/package.json +1 -1
package/bin/install.js
CHANGED
|
@@ -7,7 +7,7 @@ const readline = require('readline');
|
|
|
7
7
|
|
|
8
8
|
// Colors
|
|
9
9
|
const cyan = '\x1b[36m';
|
|
10
|
-
const
|
|
10
|
+
const #00ff00 = '\x1b[32m';
|
|
11
11
|
const yellow = '\x1b[33m';
|
|
12
12
|
const dim = '\x1b[2m';
|
|
13
13
|
const reset = '\x1b[0m';
|
|
@@ -16,17 +16,16 @@ const reset = '\x1b[0m';
|
|
|
16
16
|
const pkg = require('../package.json');
|
|
17
17
|
|
|
18
18
|
const banner = `
|
|
19
|
-
${
|
|
20
|
-
██╔════╝
|
|
21
|
-
██║ ███╗███████╗██║
|
|
22
|
-
██║ ██║╚════██║██║
|
|
23
|
-
|
|
24
|
-
╚═════╝
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
A meta-prompting, context engineering and spec-driven
|
|
28
|
-
system for OpenAI Codex CLI
|
|
29
|
-
adapted for Codex CLI by undeemed.
|
|
19
|
+
${#00ff00} ██████╗ ███████╗██████╗
|
|
20
|
+
██╔════╝ ██╔════╝██╔══██╗
|
|
21
|
+
██║ ███╗███████╗██║ ██║
|
|
22
|
+
██║ ██║╚════██║██║ ██║
|
|
23
|
+
╚██████╔╝███████║██████╔╝
|
|
24
|
+
╚═════╝ ╚══════╝╚═════╝${ reset }
|
|
25
|
+
|
|
26
|
+
Get Shit Done ${ dim }v${ pkg.version }${ reset }
|
|
27
|
+
A meta - prompting, context engineering and spec - driven
|
|
28
|
+
development system for OpenAI Codex CLI originally by TÂCHES.
|
|
30
29
|
`;
|
|
31
30
|
|
|
32
31
|
// Parse args
|
|
@@ -39,26 +38,26 @@ console.log(banner);
|
|
|
39
38
|
|
|
40
39
|
// Show help if requested
|
|
41
40
|
if (hasHelp) {
|
|
42
|
-
console.log(` ${yellow}Usage:${reset} npx get-shit-done-codex
|
|
43
|
-
|
|
44
|
-
${yellow}Options:${reset}
|
|
45
|
-
${cyan}-g, --global${reset} Install globally
|
|
46
|
-
${cyan}-l, --local${reset} Install locally
|
|
47
|
-
${cyan}-h, --help${reset} Show this help message
|
|
48
|
-
|
|
49
|
-
${yellow}Examples:${reset}
|
|
50
|
-
${dim}# Install globally to ~/.codex directory${reset}
|
|
51
|
-
npx
|
|
52
|
-
|
|
53
|
-
${dim}# Install to current project only${reset}
|
|
54
|
-
npx
|
|
55
|
-
|
|
56
|
-
${yellow}Notes:${reset}
|
|
57
|
-
For codex-cli, this installer:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- Global install goes to ~/.codex/
|
|
61
|
-
|
|
41
|
+
console.log(` ${ yellow } Usage:${ reset } npx get - shit - done - codex[options]
|
|
42
|
+
|
|
43
|
+
${ yellow } Options:${ reset }
|
|
44
|
+
${ cyan } -g, --global${ reset } Install globally(to ~/.codex/)
|
|
45
|
+
${ cyan } -l, --local${ reset } Install locally(to current directory)
|
|
46
|
+
${ cyan } -h, --help${ reset } Show this help message
|
|
47
|
+
|
|
48
|
+
${ yellow } Examples:${ reset }
|
|
49
|
+
${ dim }# Install globally to ~/.codex directory${reset}
|
|
50
|
+
npx get - shit - done - codex--global
|
|
51
|
+
|
|
52
|
+
${ dim }# Install to current project only${ reset }
|
|
53
|
+
npx get - shit - done - codex--local
|
|
54
|
+
|
|
55
|
+
${ yellow } Notes:${ reset }
|
|
56
|
+
For codex - cli, this installer:
|
|
57
|
+
- Creates / updates AGENTS.md in the target directory
|
|
58
|
+
- Copies the get - shit - done skill and commands
|
|
59
|
+
- Global install goes to ~/.codex/(inherited by all projects)
|
|
60
|
+
- Local install puts files in current directory
|
|
62
61
|
`);
|
|
63
62
|
process.exit(0);
|
|
64
63
|
}
|
|
@@ -123,7 +122,7 @@ function install(isGlobal) {
|
|
|
123
122
|
? '~/.codex/'
|
|
124
123
|
: './';
|
|
125
124
|
|
|
126
|
-
console.log(` Installing to ${cyan}${locationLabel}${reset}\n`);
|
|
125
|
+
console.log(` Installing to ${ cyan }${ locationLabel }${ reset } \n`);
|
|
127
126
|
|
|
128
127
|
// Create target directory if needed
|
|
129
128
|
fs.mkdirSync(codexDir, { recursive: true });
|
|
@@ -134,7 +133,7 @@ function install(isGlobal) {
|
|
|
134
133
|
let agentsContent = fs.readFileSync(agentsSrc, 'utf8');
|
|
135
134
|
agentsContent = applyReplacements(agentsContent, pathPrefix);
|
|
136
135
|
fs.writeFileSync(agentsDest, agentsContent);
|
|
137
|
-
console.log(` ${green}✓${reset} Installed AGENTS.md`);
|
|
136
|
+
console.log(` ${ green }✓${ reset } Installed AGENTS.md`);
|
|
138
137
|
|
|
139
138
|
// Create prompts directory (Codex CLI uses prompts/ for custom slash commands)
|
|
140
139
|
const promptsDir = path.join(codexDir, 'prompts');
|
|
@@ -155,27 +154,27 @@ function install(isGlobal) {
|
|
|
155
154
|
fs.writeFileSync(destPath, content);
|
|
156
155
|
}
|
|
157
156
|
}
|
|
158
|
-
console.log(` ${green}✓${reset} Installed prompts/gsd-*.md
|
|
157
|
+
console.log(` ${ green }✓${ reset } Installed prompts / gsd -*.md(${ entries.filter(e => e.endsWith('.md')).length } commands)`);
|
|
159
158
|
|
|
160
159
|
// Copy get-shit-done skill with path replacement
|
|
161
160
|
const skillSrc = path.join(src, 'get-shit-done');
|
|
162
161
|
const skillDest = path.join(codexDir, 'get-shit-done');
|
|
163
162
|
copyWithPathReplacement(skillSrc, skillDest, pathPrefix);
|
|
164
|
-
console.log(` ${green}✓${reset} Installed get-shit-done`);
|
|
163
|
+
console.log(` ${ green }✓${ reset } Installed get - shit - done`);
|
|
165
164
|
|
|
166
165
|
console.log(`
|
|
167
|
-
${green}Done!${reset}
|
|
166
|
+
${ green } Done!${ reset }
|
|
168
167
|
|
|
169
|
-
${yellow}For Codex CLI:${reset}
|
|
170
|
-
|
|
171
|
-
- Slash commands are in ${cyan}${codexDir}/prompts/${reset}
|
|
168
|
+
${ yellow }For Codex CLI:${ reset }
|
|
169
|
+
- AGENTS.md is at ${ cyan }${ codexDir }/AGENTS.md${reset}
|
|
170
|
+
- Slash commands are in ${ cyan }${ codexDir } /prompts/${ reset }
|
|
172
171
|
|
|
173
|
-
${yellow}Getting Started:${reset}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
172
|
+
${ yellow }Getting Started:${ reset }
|
|
173
|
+
1. Run ${ cyan }codex${ reset } to start the Codex CLI
|
|
174
|
+
2. Type ${ cyan }/${reset} to see available commands
|
|
175
|
+
3. Start with ${ cyan }/prompts:gsd-new-project${reset} to initialize a project
|
|
177
176
|
|
|
178
|
-
${dim}Commands use /prompts:gsd-name format
|
|
177
|
+
${ dim }Commands use / prompts: gsd - name format(e.g., /prompts:gsd-help)${ reset }
|
|
179
178
|
`);
|
|
180
179
|
}
|
|
181
180
|
|
|
@@ -188,13 +187,13 @@ function promptLocation() {
|
|
|
188
187
|
output: process.stdout
|
|
189
188
|
});
|
|
190
189
|
|
|
191
|
-
console.log(` ${yellow}Where would you like to install
|
|
190
|
+
console.log(` ${ yellow }Where would you like to install ? ${ reset }
|
|
192
191
|
|
|
193
|
-
${cyan}1${reset}) Global ${dim}(~/.codex)${reset} - available in all projects
|
|
194
|
-
${cyan}2${reset}) Local ${dim}(.)${reset} - this project only
|
|
192
|
+
${ cyan } 1${ reset }) Global ${ dim } (~/.codex)${ reset } - available in all projects
|
|
193
|
+
${ cyan } 2${ reset }) Local ${ dim } (.)${ reset } - this project only
|
|
195
194
|
`);
|
|
196
195
|
|
|
197
|
-
rl.question(` Choice ${dim}[1]${reset}: `, (answer) => {
|
|
196
|
+
rl.question(` Choice ${ dim } [1]${ reset }: `, (answer) => {
|
|
198
197
|
rl.close();
|
|
199
198
|
const choice = answer.trim() || '1';
|
|
200
199
|
const isGlobal = choice !== '2';
|
|
@@ -204,7 +203,7 @@ function promptLocation() {
|
|
|
204
203
|
|
|
205
204
|
// Main
|
|
206
205
|
if (hasGlobal && hasLocal) {
|
|
207
|
-
console.error(` ${yellow}Cannot specify both
|
|
206
|
+
console.error(` ${ yellow }Cannot specify both--global and--local${ reset } `);
|
|
208
207
|
process.exit(1);
|
|
209
208
|
} else if (hasGlobal) {
|
|
210
209
|
install(true);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@undeemed/get-shit-done-codex",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.10",
|
|
4
4
|
"description": "A meta-prompting, context engineering and spec-driven development system for OpenAI Codex CLI. Fork of get-shit-done by TÂCHES, adapted for Codex CLI by undeemed.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"get-shit-done-codex": "bin/install.js"
|