kadence 0.1.1 → 0.1.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.2] — 2026-09-03
4
+
5
+ ### Documentation
6
+
7
+ - The README opened with `npx kadence init` and said nothing more, so the
8
+ obvious next step — `kadence board` — failed with "command not found". `npx`
9
+ fetches a package for one command and leaves nothing installed. Global
10
+ install is now the first instruction, with the npx path shown as the
11
+ alternative it is.
12
+
3
13
  ## [0.1.1] — 2026-09-03
4
14
 
5
15
  ### Fixed
package/README.md CHANGED
@@ -7,9 +7,11 @@ account, no network. Works offline, and works for AI agents because the data is
7
7
  just files they can read.
8
8
 
9
9
  ```bash
10
- npx kadence init
11
- npx kadence task add "Fix login" -d "Broken since 2.3" --type bug --estimate 3
12
- npx kadence ui # interactive board, or `kadence board` for a plain list
10
+ npm install -g kadence
11
+
12
+ kadence init
13
+ kadence task add "Fix login" -d "Broken since 2.3" --type bug --estimate 3
14
+ kadence ui # interactive board, or `kadence board` for a plain list
13
15
  ```
14
16
 
15
17
  > **v0.1.0.** The architecture is measured and covered by 383 tests. The product
@@ -51,13 +53,23 @@ costs your team.
51
53
 
52
54
  Requires Node 20 or newer, and a git repository.
53
55
 
56
+ Install it once, so the command stays available:
57
+
58
+ ```bash
59
+ npm install -g kadence
60
+ kadence init
61
+ ```
62
+
63
+ Or run it without installing — but note that `npx` fetches the package for that
64
+ one command and leaves nothing behind, so every later call needs `npx` too:
65
+
54
66
  ```bash
55
67
  npx kadence init
68
+ npx kadence board
56
69
  ```
57
70
 
58
- No global install needed. `init` creates `.kadence/`, adds the derived cache to
59
- `.gitignore`, and writes a short guide for AI agents. It does **not** commit
60
- anything — that call is yours.
71
+ `init` creates `.kadence/`, adds the derived cache to `.gitignore`, and writes a
72
+ short guide for AI agents. It does **not** commit anything — that call is yours.
61
73
 
62
74
  ## Commands
63
75
 
package/dist/cli.js CHANGED
@@ -129,7 +129,7 @@ Available: create, add, edit, start, close, status, list, burndown
129
129
  kadence sprint --help`),e)}});h.command("template [action] [name]","Task templates: save | list | delete").option("-d, --description <text>","Default description").option("--type <type>","Default type").option("--priority <level>","Default priority").option("-a, --assignee <who>","Default assignee").option("--label <name>","Default label; repeat for several").option("--estimate <points>","Default estimate").option("--json","Machine-readable output for agents").example(" kadence template save bug --type bug --priority high --label triage").example(" kadence template list").action((n,t,s)=>{let e=s.json===!0,a=process.cwd();switch(n){case"save":{t===void 0&&c(f(`A template name is required:
130
130
  kadence template save bug --type bug`),e);let i=s.label===void 0?void 0:Array.isArray(s.label)?s.label:[s.label];c(Te(a,process.env,t,{...s.description!==void 0?{description:s.description}:{},...s.type!==void 0?{type:s.type}:{},...s.priority!==void 0?{priority:s.priority}:{},...s.assignee!==void 0?{assignee:s.assignee}:{},...i!==void 0?{labels:i}:{},...s.estimate!==void 0?{estimate:Number(s.estimate)}:{}}),e);break}case"list":case void 0:c(Ke(a,process.env),e);break;case"delete":t===void 0&&c(f(`Which template?
131
131
  kadence template delete bug`),e),c(Ne(a,process.env,t),e);break;default:c(f(`Unknown action "${n}".
132
- Available: save, list, delete`),e)}});h.command("ui","Interactive kanban board").alias("board:ui").example(" kadence ui").action(async()=>{let{runUi:n}=await import("./chunks/ui-WFLRVGUH.js"),t=await n(process.cwd(),process.env);t.ok||c(t,!1)});h.help();h.version("0.1.1");var v=process.argv;if(v[2]==="task"&&v[3]==="log"&&v[4]!==void 0&&v[5]!==void 0){let n=T(process.cwd(),process.env,v[4],v[5]),t=v.includes("--json");c(n,t)}var _e=process.argv.findIndex((n,t)=>n.startsWith("-")&&/^-\d+(\.\d+)?$/.test(n)&&process.argv[t-1]==="--estimate");_e!==-1&&(process.stderr.write(`Estimate must be a positive number, got "${process.argv[_e]}".
132
+ Available: save, list, delete`),e)}});h.command("ui","Interactive kanban board").alias("board:ui").example(" kadence ui").action(async()=>{let{runUi:n}=await import("./chunks/ui-WFLRVGUH.js"),t=await n(process.cwd(),process.env);t.ok||c(t,!1)});h.help();h.version("0.1.2");var v=process.argv;if(v[2]==="task"&&v[3]==="log"&&v[4]!==void 0&&v[5]!==void 0){let n=T(process.cwd(),process.env,v[4],v[5]),t=v.includes("--json");c(n,t)}var _e=process.argv.findIndex((n,t)=>n.startsWith("-")&&/^-\d+(\.\d+)?$/.test(n)&&process.argv[t-1]==="--estimate");_e!==-1&&(process.stderr.write(`Estimate must be a positive number, got "${process.argv[_e]}".
133
133
  kadence task add "Fix login" --estimate 3
134
134
  `),process.exit(2));try{h.parse()}catch(n){process.stderr.write(`${n.message}
135
135
  `),process.exit(2)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kadence",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Tasks, sprints and velocity as plain files inside your git repository",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,7 +26,8 @@
26
26
  "dependencies": {
27
27
  "@types/blessed": "^0.1.27",
28
28
  "blessed": "^0.1.81",
29
- "cac": "^7.0.0"
29
+ "cac": "^7.0.0",
30
+ "kadence": "^0.1.1"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/node": "^22.0.0",