ctxflow 1.0.9 → 1.1.1
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/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/plan.md.hbs +20 -4
- package/dist/templates/requirements.md.hbs +31 -10
- package/package.json +1 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command, CommanderError } from 'commander';
|
|
2
|
+
import { createRequire } from 'module';
|
|
2
3
|
import { showBanner } from './ui/banner.js';
|
|
3
4
|
import { showMenu, showHelp } from './ui/menu.js';
|
|
4
5
|
import { initCommand } from './commands/init.js';
|
|
@@ -6,11 +7,13 @@ import { newCommand } from './commands/new.js';
|
|
|
6
7
|
import { listCommand } from './commands/list.js';
|
|
7
8
|
import { statusCommand } from './commands/status.js';
|
|
8
9
|
import { logger } from './utils/logger.js';
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
const { version } = require('../package.json');
|
|
9
12
|
const program = new Command();
|
|
10
13
|
program
|
|
11
14
|
.name('ctxflow')
|
|
12
15
|
.description('Context scaffolding for AI agent-driven development')
|
|
13
|
-
.version(
|
|
16
|
+
.version(version)
|
|
14
17
|
.exitOverride()
|
|
15
18
|
.configureOutput({ outputError: () => { } }); // suppress commander's raw error lines
|
|
16
19
|
program
|
|
@@ -48,6 +51,7 @@ program.on('command:*', () => {
|
|
|
48
51
|
process.exit(1);
|
|
49
52
|
});
|
|
50
53
|
if (process.argv.length <= 2) {
|
|
54
|
+
showBanner();
|
|
51
55
|
showMenu().catch((err) => {
|
|
52
56
|
logger.error(err instanceof Error ? err.message : String(err));
|
|
53
57
|
process.exit(1);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAQ,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAS,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAQ,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,OAAO,CAAC;KAChB,YAAY,EAAE;KACd,eAAe,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,uCAAuC;AAEtF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,UAAU,EAAE,CAAC;IACb,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,6EAA6E,CAAC;KAC1F,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAChC,UAAU,EAAE,CAAC;IACb,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,UAAU,EAAE,CAAC;IACb,MAAM,WAAW,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAChC,UAAU,EAAE,CAAC;IACb,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,wCAAwC;AACxC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC;IACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAChC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtD,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;YAClC,0DAA0D;YAC1D,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,sCAAsC;YACtC,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,13 +5,26 @@
|
|
|
5
5
|
|
|
6
6
|
## Tasks
|
|
7
7
|
|
|
8
|
-
<!--
|
|
8
|
+
<!--
|
|
9
|
+
Use [] for pending, [x] for completed.
|
|
10
|
+
e.g.
|
|
11
|
+
- [] Create DB schema / migration
|
|
12
|
+
- [] Add API endpoint POST /users
|
|
13
|
+
- [] Write unit tests
|
|
14
|
+
- [x] Define requirements
|
|
15
|
+
-->
|
|
9
16
|
|
|
10
|
-
- [
|
|
17
|
+
- []
|
|
11
18
|
|
|
12
19
|
## File structure
|
|
13
20
|
|
|
14
|
-
<!--
|
|
21
|
+
<!--
|
|
22
|
+
Files to create or modify for this feature.
|
|
23
|
+
e.g.
|
|
24
|
+
src/routes/users.ts
|
|
25
|
+
src/models/user.ts
|
|
26
|
+
tests/users.test.ts
|
|
27
|
+
-->
|
|
15
28
|
|
|
16
29
|
```
|
|
17
30
|
{{feature}}/
|
|
@@ -21,4 +34,7 @@
|
|
|
21
34
|
|
|
22
35
|
## Notes
|
|
23
36
|
|
|
24
|
-
<!--
|
|
37
|
+
<!--
|
|
38
|
+
Open questions, blockers, or context for the AI agent.
|
|
39
|
+
e.g. Check if rate limiting already exists before adding it here.
|
|
40
|
+
-->
|
|
@@ -5,31 +5,52 @@
|
|
|
5
5
|
|
|
6
6
|
## Context
|
|
7
7
|
|
|
8
|
-
<!--
|
|
8
|
+
<!--
|
|
9
|
+
Why is this feature needed? What user problem does it solve?
|
|
10
|
+
e.g. Users can't reset their password, causing high support volume.
|
|
11
|
+
-->
|
|
9
12
|
|
|
10
13
|
## Stack
|
|
11
14
|
|
|
12
|
-
<!--
|
|
15
|
+
<!--
|
|
16
|
+
Which parts of the stack does this feature touch?
|
|
17
|
+
e.g.
|
|
18
|
+
- REST API (Express)
|
|
19
|
+
- PostgreSQL — users table
|
|
20
|
+
-->
|
|
13
21
|
|
|
14
|
-
-
|
|
15
22
|
-
|
|
16
23
|
|
|
17
24
|
## Constraints
|
|
18
25
|
|
|
19
|
-
<!--
|
|
26
|
+
<!--
|
|
27
|
+
Technical, time, or business constraints that affect implementation.
|
|
28
|
+
e.g.
|
|
29
|
+
- Must not break existing /auth endpoints
|
|
30
|
+
- No new external dependencies
|
|
31
|
+
-->
|
|
20
32
|
|
|
21
|
-
-
|
|
22
33
|
-
|
|
23
34
|
|
|
24
35
|
## Out of scope
|
|
25
36
|
|
|
26
|
-
<!--
|
|
37
|
+
<!--
|
|
38
|
+
What is explicitly NOT part of this feature (to avoid scope creep).
|
|
39
|
+
e.g.
|
|
40
|
+
- OAuth / social login
|
|
41
|
+
- Password reset flow
|
|
42
|
+
-->
|
|
27
43
|
|
|
28
|
-
-
|
|
29
44
|
-
|
|
30
45
|
|
|
31
46
|
## Acceptance criteria
|
|
32
47
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
<!--
|
|
49
|
+
Each criterion the AI must verify before marking the feature done.
|
|
50
|
+
e.g.
|
|
51
|
+
- [] User can log in with email and password
|
|
52
|
+
- [] Invalid credentials show a 401 error
|
|
53
|
+
- [] Session token expires after 30 minutes
|
|
54
|
+
-->
|
|
55
|
+
|
|
56
|
+
- []
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ctxflow",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Context scaffolding for AI agent-driven development",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"chalk": "^5.3.0",
|
|
36
36
|
"commander": "^12.1.0",
|
|
37
|
-
"ctxflow": "^1.0.8",
|
|
38
37
|
"figlet": "^1.7.0",
|
|
39
38
|
"fs-extra": "^11.2.0",
|
|
40
39
|
"gradient-string": "^3.0.0",
|