@frehilm/ordna-cli 0.1.3 → 0.2.0
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/cli.d.ts.map +1 -1
- package/dist/cli.js +14 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/assign.d.ts.map +1 -1
- package/dist/commands/assign.js +3 -2
- package/dist/commands/assign.js.map +1 -1
- package/dist/commands/commit.d.ts.map +1 -1
- package/dist/commands/commit.js +3 -2
- package/dist/commands/commit.js.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +8 -3
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/init.d.ts +15 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +67 -17
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +3 -2
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/move.d.ts.map +1 -1
- package/dist/commands/move.js +3 -2
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +3 -2
- package/dist/commands/show.js.map +1 -1
- package/dist/lib/ensure-context.d.ts +19 -0
- package/dist/lib/ensure-context.d.ts.map +1 -0
- package/dist/lib/ensure-context.js +39 -0
- package/dist/lib/ensure-context.js.map +1 -0
- package/dist/lib/prompt-mode.d.ts +12 -0
- package/dist/lib/prompt-mode.d.ts.map +1 -0
- package/dist/lib/prompt-mode.js +43 -0
- package/dist/lib/prompt-mode.js.map +1 -0
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +39 -1
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/LineInput.d.ts +26 -0
- package/dist/tui/LineInput.d.ts.map +1 -0
- package/dist/tui/LineInput.js +114 -0
- package/dist/tui/LineInput.js.map +1 -0
- package/dist/tui/SetupModal.d.ts +14 -0
- package/dist/tui/SetupModal.d.ts.map +1 -0
- package/dist/tui/SetupModal.js +67 -0
- package/dist/tui/SetupModal.js.map +1 -0
- package/dist/tui/TaskDetail.d.ts.map +1 -1
- package/dist/tui/TaskDetail.js +1 -1
- package/dist/tui/TaskDetail.js.map +1 -1
- package/dist/tui/TaskEditor.d.ts.map +1 -1
- package/dist/tui/TaskEditor.js +96 -28
- package/dist/tui/TaskEditor.js.map +1 -1
- package/dist/tui/TextPrompt.d.ts.map +1 -1
- package/dist/tui/TextPrompt.js +2 -2
- package/dist/tui/TextPrompt.js.map +1 -1
- package/dist/tui/hooks.d.ts +17 -0
- package/dist/tui/hooks.d.ts.map +1 -1
- package/dist/tui/hooks.js +53 -1
- package/dist/tui/hooks.js.map +1 -1
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +38 -3
- package/dist/tui/index.js.map +1 -1
- package/package.json +3 -3
- package/templates/AGENTS.md +25 -0
package/dist/tui/TaskEditor.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { ARCHIVED_STATUS, updateTask as updateTaskCore, } from "@frehilm/ordna-core";
|
|
3
3
|
import { Box, Text, useInput } from "ink";
|
|
4
|
-
import TextInput from "ink-text-input";
|
|
5
4
|
import React, { useEffect, useMemo, useState } from "react";
|
|
5
|
+
import { useRawBackspaceDelete } from "./hooks.js";
|
|
6
|
+
import { LineInput } from "./LineInput.js";
|
|
6
7
|
import { colorForStatus, tagColor, theme } from "./theme.js";
|
|
7
8
|
const PRIORITIES = [null, "low", "medium", "high"];
|
|
8
9
|
function toDraft(task) {
|
|
@@ -137,6 +138,12 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
137
138
|
const [error, setError] = useState(null);
|
|
138
139
|
const [cursor, setCursor] = useState(0);
|
|
139
140
|
const [sectionScrollIdx, setSectionScrollIdx] = useState(0);
|
|
141
|
+
// When set, the editor is asking the user to confirm a discard / save /
|
|
142
|
+
// cancel choice instead of accepting field edits. Driven by the
|
|
143
|
+
// dirty-Esc flow at the bottom of the main useInput handler.
|
|
144
|
+
const [confirmExit, setConfirmExit] = useState(false);
|
|
145
|
+
const baseline = useMemo(() => toDraft(task), [task]);
|
|
146
|
+
const dirty = useMemo(() => JSON.stringify(draft) !== JSON.stringify(baseline), [draft, baseline]);
|
|
140
147
|
const fields = useMemo(() => buildFields(draft), [draft]);
|
|
141
148
|
const focused = fields[focusIdx] ?? fields[0];
|
|
142
149
|
const innerWidth = Math.max(10, width - 4);
|
|
@@ -230,6 +237,48 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
230
237
|
return;
|
|
231
238
|
setCursor((c) => Math.max(0, Math.min(c, sec.content.length)));
|
|
232
239
|
}, [editing, focused, draft.sections]);
|
|
240
|
+
// Raw-byte backspace/forward-delete for the section editor. Ink's
|
|
241
|
+
// parsed key object collapses both into `key.delete`, so we need
|
|
242
|
+
// the byte stream to do the right thing. Active only while a
|
|
243
|
+
// section is being edited; LineInput owns its own copy for the
|
|
244
|
+
// title/assignee/tags/depends_on text fields.
|
|
245
|
+
const sectionEditActive = editing &&
|
|
246
|
+
focused?.kind === "section" &&
|
|
247
|
+
!confirmExit &&
|
|
248
|
+
!saving &&
|
|
249
|
+
draft.sections[focused.index] !== undefined;
|
|
250
|
+
const sectionIdx = focused?.kind === "section" ? focused.index : -1;
|
|
251
|
+
useRawBackspaceDelete(() => {
|
|
252
|
+
if (sectionIdx < 0)
|
|
253
|
+
return;
|
|
254
|
+
const section = draft.sections[sectionIdx];
|
|
255
|
+
if (!section)
|
|
256
|
+
return;
|
|
257
|
+
if (cursor === 0)
|
|
258
|
+
return;
|
|
259
|
+
const next = section.content.slice(0, cursor - 1) +
|
|
260
|
+
section.content.slice(cursor);
|
|
261
|
+
setDraft((d) => ({
|
|
262
|
+
...d,
|
|
263
|
+
sections: d.sections.map((s, i) => i === sectionIdx ? { ...s, content: next } : s),
|
|
264
|
+
}));
|
|
265
|
+
setCursor(cursor - 1);
|
|
266
|
+
}, () => {
|
|
267
|
+
if (sectionIdx < 0)
|
|
268
|
+
return;
|
|
269
|
+
const section = draft.sections[sectionIdx];
|
|
270
|
+
if (!section)
|
|
271
|
+
return;
|
|
272
|
+
if (cursor >= section.content.length)
|
|
273
|
+
return;
|
|
274
|
+
const next = section.content.slice(0, cursor) +
|
|
275
|
+
section.content.slice(cursor + 1);
|
|
276
|
+
setDraft((d) => ({
|
|
277
|
+
...d,
|
|
278
|
+
sections: d.sections.map((s, i) => i === sectionIdx ? { ...s, content: next } : s),
|
|
279
|
+
}));
|
|
280
|
+
// Cursor stays put.
|
|
281
|
+
}, sectionEditActive);
|
|
233
282
|
const save = async () => {
|
|
234
283
|
setSaving(true);
|
|
235
284
|
setError(null);
|
|
@@ -244,15 +293,38 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
244
293
|
sections: draft.sections,
|
|
245
294
|
}, ctx);
|
|
246
295
|
onSaved(updated);
|
|
296
|
+
return true;
|
|
247
297
|
}
|
|
248
298
|
catch (e) {
|
|
249
299
|
setError(e.message);
|
|
250
300
|
setSaving(false);
|
|
301
|
+
return false;
|
|
251
302
|
}
|
|
252
303
|
};
|
|
253
304
|
useInput(async (input, key) => {
|
|
254
305
|
if (saving)
|
|
255
306
|
return;
|
|
307
|
+
// Confirmation overlay intercepts everything else.
|
|
308
|
+
if (confirmExit) {
|
|
309
|
+
if (input === "s" || input === "S" || key.return) {
|
|
310
|
+
const ok = await save();
|
|
311
|
+
// On success the parent's onSaved closes the editor; on
|
|
312
|
+
// failure we drop the prompt so the user can see the
|
|
313
|
+
// error banner and decide what to do.
|
|
314
|
+
if (!ok)
|
|
315
|
+
setConfirmExit(false);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
if (input === "d" || input === "D") {
|
|
319
|
+
onClose();
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
if (input === "c" || input === "C" || key.escape) {
|
|
323
|
+
setConfirmExit(false);
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
256
328
|
if (key.ctrl && (input === "s" || input === "S")) {
|
|
257
329
|
await save();
|
|
258
330
|
return;
|
|
@@ -374,20 +446,11 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
374
446
|
writeContent(next, cursor + 1);
|
|
375
447
|
return;
|
|
376
448
|
}
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
writeContent(next, cursor - 1);
|
|
449
|
+
// Backspace / forward-delete are handled by the raw-byte
|
|
450
|
+
// hook below — Ink can't tell them apart in the parsed key
|
|
451
|
+
// object. See `useRawBackspaceDelete` in hooks.ts.
|
|
452
|
+
if (key.backspace || key.delete)
|
|
382
453
|
return;
|
|
383
|
-
}
|
|
384
|
-
if (key.delete) {
|
|
385
|
-
if (cursor >= content.length)
|
|
386
|
-
return;
|
|
387
|
-
const next = content.slice(0, cursor) + content.slice(cursor + 1);
|
|
388
|
-
writeContent(next, cursor);
|
|
389
|
-
return;
|
|
390
|
-
}
|
|
391
454
|
if (input && !key.ctrl && !key.meta) {
|
|
392
455
|
const next = content.slice(0, cursor) + input + content.slice(cursor);
|
|
393
456
|
writeContent(next, cursor + input.length);
|
|
@@ -399,7 +462,12 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
399
462
|
}
|
|
400
463
|
// Not editing: navigation + open editor
|
|
401
464
|
if (key.escape) {
|
|
402
|
-
|
|
465
|
+
if (dirty) {
|
|
466
|
+
setConfirmExit(true);
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
onClose();
|
|
470
|
+
}
|
|
403
471
|
return;
|
|
404
472
|
}
|
|
405
473
|
if (key.tab && key.shift) {
|
|
@@ -444,7 +512,7 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
444
512
|
(focused.kind === "section" && focused.index === field.index));
|
|
445
513
|
const isEditing = isFocused && editing;
|
|
446
514
|
if (isEditing) {
|
|
447
|
-
return (_jsx(
|
|
515
|
+
return (_jsx(LineInput, { value: value, onChange: onChange, onSubmit: () => setEditing(false), placeholder: placeholder }));
|
|
448
516
|
}
|
|
449
517
|
const display = value.length === 0 ? placeholder ?? "—" : value;
|
|
450
518
|
const dim = value.length === 0;
|
|
@@ -461,7 +529,7 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
461
529
|
const isFocused = focused?.kind === "tags";
|
|
462
530
|
const isEditing = isFocused && editing;
|
|
463
531
|
if (isEditing) {
|
|
464
|
-
return (_jsx(
|
|
532
|
+
return (_jsx(LineInput, { value: tokensToString(draft.tags), onChange: (v) => setDraft((d) => ({ ...d, tags: stringToTokens(v) })), onSubmit: () => setEditing(false), placeholder: "comma or space separated" }));
|
|
465
533
|
}
|
|
466
534
|
if (draft.tags.length === 0) {
|
|
467
535
|
return _jsx(Text, { color: theme.textFaint, children: "\u2014" });
|
|
@@ -472,7 +540,7 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
472
540
|
const isFocused = focused?.kind === "depends_on";
|
|
473
541
|
const isEditing = isFocused && editing;
|
|
474
542
|
if (isEditing) {
|
|
475
|
-
return (_jsx(
|
|
543
|
+
return (_jsx(LineInput, { value: tokensToString(draft.depends_on), onChange: (v) => setDraft((d) => ({ ...d, depends_on: stringToTokens(v) })), onSubmit: () => setEditing(false), placeholder: "e.g. T-001, T-002" }));
|
|
476
544
|
}
|
|
477
545
|
if (draft.depends_on.length === 0) {
|
|
478
546
|
return _jsx(Text, { color: theme.textFaint, children: "\u2014" });
|
|
@@ -490,14 +558,14 @@ export function TaskEditor({ task, ctx, onClose, onSaved, width, height, }) {
|
|
|
490
558
|
const priorityColor = draft.priority
|
|
491
559
|
? theme.priority[draft.priority]
|
|
492
560
|
: theme.textFaint;
|
|
493
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: theme.borderFocused, width: width, height: height, paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, bold: true, children: task.id }), _jsx(Text, { color: theme.textMuted, children: " edit" }), saving ? (_jsx(Text, { color: theme.textMuted, children: " · saving…" })) : null] }), error ? (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "#ef4444", children: error }) })) : null, _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [renderRow("Title", { kind: "title" }, renderTextValue({ kind: "title" }, draft.title, (v) => setDraft((d) => ({ ...d, title: v })))), renderRow("Status", { kind: "status" }, renderSelectValue({ kind: "status" }, draft.status, statusColor)), renderRow("Priority", { kind: "priority" }, renderSelectValue({ kind: "priority" }, priorityLabel(draft.priority), priorityColor)), renderRow("Assignee", { kind: "assignee" }, renderTextValue({ kind: "assignee" }, draft.assignee, (v) => setDraft((d) => ({ ...d, assignee: v })), "unassigned")), renderRow("Tags", { kind: "tags" }, renderTags()), renderRow("Depends", { kind: "depends_on" }, renderDependsOn())] }), _jsxs(Box, { flexDirection: "column", width: innerWidth, height: sectionsAreaHeight, children: [sectionLayout.aboveCount > 0 ? (_jsxs(Text, { color: theme.textMuted, italic: true, wrap: "truncate-end", children: ["\u2191 ", sectionLayout.aboveCount, " more"] })) : null, renderableSections
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
561
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: theme.borderFocused, width: width, height: height, paddingX: 2, paddingY: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, bold: true, children: task.id }), _jsx(Text, { color: theme.textMuted, children: " edit" }), saving ? (_jsx(Text, { color: theme.textMuted, children: " · saving…" })) : null, dirty && !confirmExit && !saving ? (_jsx(Text, { color: theme.accent2, children: " · unsaved" })) : null] }), error ? (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "#ef4444", children: error }) })) : null, confirmExit ? (_jsxs(Box, { flexDirection: "column", marginTop: 2, paddingX: 2, children: [_jsx(Text, { color: theme.accent2, bold: true, children: "Unsaved changes" }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.text, children: ["You've made changes to", " ", _jsx(Text, { color: theme.accent, bold: true, children: task.id }), ". What would you like to do?"] }) }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: theme.accent, bold: true, children: " S " }), _jsx(Text, { color: theme.text, children: "save and close" })] }), _jsxs(Text, { children: [_jsx(Text, { color: theme.accent, bold: true, children: " D " }), _jsx(Text, { color: theme.text, children: "discard changes and close" })] }), _jsxs(Text, { children: [_jsx(Text, { color: theme.accent, bold: true, children: " C " }), _jsx(Text, { color: theme.text, children: "keep editing" })] })] }), _jsx(Box, { marginTop: 2, children: _jsx(Text, { color: theme.textMuted, italic: true, children: "Enter saves \u00B7 Esc cancels" }) })] })) : (_jsxs(_Fragment, { children: [_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [renderRow("Title", { kind: "title" }, renderTextValue({ kind: "title" }, draft.title, (v) => setDraft((d) => ({ ...d, title: v })))), renderRow("Status", { kind: "status" }, renderSelectValue({ kind: "status" }, draft.status, statusColor)), renderRow("Priority", { kind: "priority" }, renderSelectValue({ kind: "priority" }, priorityLabel(draft.priority), priorityColor)), renderRow("Assignee", { kind: "assignee" }, renderTextValue({ kind: "assignee" }, draft.assignee, (v) => setDraft((d) => ({ ...d, assignee: v })), "unassigned")), renderRow("Tags", { kind: "tags" }, renderTags()), renderRow("Depends", { kind: "depends_on" }, renderDependsOn())] }), _jsxs(Box, { flexDirection: "column", width: innerWidth, height: sectionsAreaHeight, children: [sectionLayout.aboveCount > 0 ? (_jsxs(Text, { color: theme.textMuted, italic: true, wrap: "truncate-end", children: ["\u2191 ", sectionLayout.aboveCount, " more"] })) : null, renderableSections
|
|
562
|
+
.slice(sectionLayout.start, sectionLayout.end)
|
|
563
|
+
.map((entry) => renderSection(entry.index, entry.section)), sectionLayout.belowCount > 0 ? (_jsxs(Text, { color: theme.textMuted, italic: true, wrap: "truncate-end", children: ["\u2193 ", sectionLayout.belowCount, " more"] })) : null] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textMuted, italic: true, children: editing
|
|
564
|
+
? focused?.kind === "section"
|
|
565
|
+
? "←/→/↑/↓ move · Ctrl+←/→ word · Ctrl+A/E line · Esc back · Ctrl+S save"
|
|
566
|
+
: focused?.kind === "status" || focused?.kind === "priority"
|
|
567
|
+
? "↑/↓ change · Enter/Esc back · Ctrl+S save"
|
|
568
|
+
: "Enter confirm · Esc back · Ctrl+S save"
|
|
569
|
+
: "Tab field · Enter edit · Ctrl+S save · Esc cancel" }) })] }))] }));
|
|
502
570
|
}
|
|
503
571
|
//# sourceMappingURL=TaskEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskEditor.js","sourceRoot":"","sources":["../../src/tui/TaskEditor.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TaskEditor.js","sourceRoot":"","sources":["../../src/tui/TaskEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPrompt.d.ts","sourceRoot":"","sources":["../../src/tui/TextPrompt.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextPrompt.d.ts","sourceRoot":"","sources":["../../src/tui/TextPrompt.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,UAAU,KAAK;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EAC1B,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,QAAQ,GACR,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmC3B"}
|
package/dist/tui/TextPrompt.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text, useInput } from "ink";
|
|
3
|
-
import TextInput from "ink-text-input";
|
|
4
3
|
import React, { useState } from "react";
|
|
4
|
+
import { LineInput } from "./LineInput.js";
|
|
5
5
|
import { theme } from "./theme.js";
|
|
6
6
|
export function TextPrompt({ label, initialValue = "", onSubmit, onCancel, }) {
|
|
7
7
|
const [value, setValue] = useState(initialValue);
|
|
@@ -9,7 +9,7 @@ export function TextPrompt({ label, initialValue = "", onSubmit, onCancel, }) {
|
|
|
9
9
|
if (key.escape)
|
|
10
10
|
onCancel();
|
|
11
11
|
});
|
|
12
|
-
return (_jsxs(Box, { borderStyle: "double", borderColor: theme.borderFocused, flexDirection: "column", paddingX: 2, paddingY: 1, children: [_jsx(Text, { color: theme.text, bold: true, children: label }), _jsx(Box, { marginTop: 1, children: _jsx(
|
|
12
|
+
return (_jsxs(Box, { borderStyle: "double", borderColor: theme.borderFocused, flexDirection: "column", paddingX: 2, paddingY: 1, children: [_jsx(Text, { color: theme.text, bold: true, children: label }), _jsx(Box, { marginTop: 1, children: _jsx(LineInput, { value: value, onChange: setValue, onSubmit: (v) => {
|
|
13
13
|
if (v.trim().length === 0)
|
|
14
14
|
onCancel();
|
|
15
15
|
else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextPrompt.js","sourceRoot":"","sources":["../../src/tui/TextPrompt.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"TextPrompt.js","sourceRoot":"","sources":["../../src/tui/TextPrompt.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASnC,MAAM,UAAU,UAAU,CAAC,EAC1B,KAAK,EACL,YAAY,GAAG,EAAE,EACjB,QAAQ,EACR,QAAQ,GACD;IACP,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEjD,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACxB,IAAI,GAAG,CAAC,MAAM;YAAE,QAAQ,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,OAAO,CACN,MAAC,GAAG,IACH,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,KAAK,CAAC,aAAa,EAChC,aAAa,EAAC,QAAQ,EACtB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,aAEX,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,kBAC3B,KAAK,GACA,EACP,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YAChB,KAAC,SAAS,IACT,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACf,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;4BAAE,QAAQ,EAAE,CAAC;;4BACjC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC,GACA,GACG,EACN,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YAChB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,sDAE7B,GACF,IACD,CACN,CAAC;AACH,CAAC"}
|
package/dist/tui/hooks.d.ts
CHANGED
|
@@ -2,5 +2,22 @@ export interface TerminalSize {
|
|
|
2
2
|
rows: number;
|
|
3
3
|
columns: number;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes to Ink's raw stdin event emitter so we can disambiguate
|
|
7
|
+
* Backspace from forward-Delete. Ink itself can't: macOS Backspace
|
|
8
|
+
* sends `\x7f` and forward-Delete sends `\x1b[3~`, but both end up as
|
|
9
|
+
* `key.delete === true` in the parsed key object (see Ink's
|
|
10
|
+
* parse-keypress.js `TODO(vadimdemedes)` note about not splitting them
|
|
11
|
+
* to avoid a breaking change).
|
|
12
|
+
*
|
|
13
|
+
* The hook calls `onBackspace` for the byte sequences a real Backspace
|
|
14
|
+
* sends (`\x7f` or `\b`) and `onForwardDelete` for the forward-Delete
|
|
15
|
+
* sequences (`\x1b[3~` and its rxvt/vt220 variants). Callers should
|
|
16
|
+
* skip these keys in their `useInput` handlers so the two paths don't
|
|
17
|
+
* fight.
|
|
18
|
+
*
|
|
19
|
+
* Pass `isActive=false` to detach (e.g. when the field loses focus).
|
|
20
|
+
*/
|
|
21
|
+
export declare function useRawBackspaceDelete(onBackspace: () => void, onForwardDelete: () => void, isActive?: boolean): void;
|
|
5
22
|
export declare function useTerminalSize(): TerminalSize;
|
|
6
23
|
//# sourceMappingURL=hooks.d.ts.map
|
package/dist/tui/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/tui/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/tui/hooks.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACpC,WAAW,EAAE,MAAM,IAAI,EACvB,eAAe,EAAE,MAAM,IAAI,EAC3B,QAAQ,UAAO,GACb,IAAI,CA0CN;AAED,wBAAgB,eAAe,IAAI,YAAY,CAoB9C"}
|
package/dist/tui/hooks.js
CHANGED
|
@@ -1,4 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useStdin } from "ink";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Subscribes to Ink's raw stdin event emitter so we can disambiguate
|
|
5
|
+
* Backspace from forward-Delete. Ink itself can't: macOS Backspace
|
|
6
|
+
* sends `\x7f` and forward-Delete sends `\x1b[3~`, but both end up as
|
|
7
|
+
* `key.delete === true` in the parsed key object (see Ink's
|
|
8
|
+
* parse-keypress.js `TODO(vadimdemedes)` note about not splitting them
|
|
9
|
+
* to avoid a breaking change).
|
|
10
|
+
*
|
|
11
|
+
* The hook calls `onBackspace` for the byte sequences a real Backspace
|
|
12
|
+
* sends (`\x7f` or `\b`) and `onForwardDelete` for the forward-Delete
|
|
13
|
+
* sequences (`\x1b[3~` and its rxvt/vt220 variants). Callers should
|
|
14
|
+
* skip these keys in their `useInput` handlers so the two paths don't
|
|
15
|
+
* fight.
|
|
16
|
+
*
|
|
17
|
+
* Pass `isActive=false` to detach (e.g. when the field loses focus).
|
|
18
|
+
*/
|
|
19
|
+
export function useRawBackspaceDelete(onBackspace, onForwardDelete, isActive = true) {
|
|
20
|
+
const onBackspaceRef = useRef(onBackspace);
|
|
21
|
+
const onForwardDeleteRef = useRef(onForwardDelete);
|
|
22
|
+
onBackspaceRef.current = onBackspace;
|
|
23
|
+
onForwardDeleteRef.current = onForwardDelete;
|
|
24
|
+
const stdin = useStdin();
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (!isActive)
|
|
27
|
+
return;
|
|
28
|
+
const emitter = stdin.internal_eventEmitter;
|
|
29
|
+
if (!emitter)
|
|
30
|
+
return;
|
|
31
|
+
const handler = (data) => {
|
|
32
|
+
const seq = typeof data === "string"
|
|
33
|
+
? data
|
|
34
|
+
: Buffer.isBuffer(data)
|
|
35
|
+
? data.toString("utf8")
|
|
36
|
+
: "";
|
|
37
|
+
if (seq.length === 0)
|
|
38
|
+
return;
|
|
39
|
+
if (seq === "\x7f" || seq === "\b") {
|
|
40
|
+
onBackspaceRef.current();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (seq === "\x1b[3~" || seq === "\x1b[3$" || seq === "\x1b[3^") {
|
|
44
|
+
onForwardDeleteRef.current();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
emitter.on("input", handler);
|
|
49
|
+
return () => {
|
|
50
|
+
emitter.removeListener("input", handler);
|
|
51
|
+
};
|
|
52
|
+
}, [isActive, stdin]);
|
|
53
|
+
}
|
|
2
54
|
export function useTerminalSize() {
|
|
3
55
|
const [size, setSize] = useState({
|
|
4
56
|
rows: process.stdout.rows || 24,
|
package/dist/tui/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/tui/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/tui/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAOpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACpC,WAAuB,EACvB,eAA2B,EAC3B,QAAQ,GAAG,IAAI;IAEf,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IACrC,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;IAE7C,MAAM,KAAK,GAAG,QAAQ,EAQrB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,MAAM,OAAO,GAAG,KAAK,CAAC,qBAAqB,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,OAAO,GAAG,CAAC,IAAa,EAAQ,EAAE;YACvC,MAAM,GAAG,GACR,OAAO,IAAI,KAAK,QAAQ;gBACvB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACtB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACvB,CAAC,CAAC,EAAE,CAAC;YACR,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC7B,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACpC,cAAc,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO;YACR,CAAC;YACD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACjE,kBAAkB,CAAC,OAAO,EAAE,CAAC;gBAC7B,OAAO;YACR,CAAC;QACF,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe;IAC9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAe;QAC9C,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;QAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;KACrC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC3B,OAAO,CAAC;gBACP,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;gBAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;aACrC,CAAC,CAAC;QACJ,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACb,CAAC"}
|
package/dist/tui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOnD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACnC;AAED,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC3E"}
|
package/dist/tui/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ensureStorageConfig, NeedsModeSelection, writeStorageConfig, } from "@frehilm/ordna-core";
|
|
2
3
|
import { render } from "ink";
|
|
3
4
|
import React from "react";
|
|
4
5
|
import { App } from "./App.js";
|
|
6
|
+
import { SetupModal } from "./SetupModal.js";
|
|
5
7
|
const ENTER_ALT_SCREEN = "\x1b[?1049h\x1b[H";
|
|
6
8
|
const EXIT_ALT_SCREEN = "\x1b[?1049l";
|
|
7
9
|
export async function runBoard(options = {}) {
|
|
@@ -12,14 +14,47 @@ export async function runBoard(options = {}) {
|
|
|
12
14
|
if (useAltScreen)
|
|
13
15
|
process.stdout.write(EXIT_ALT_SCREEN);
|
|
14
16
|
};
|
|
15
|
-
const { waitUntilExit } = render(_jsx(App, { agentHook: options.agentHook }), {
|
|
16
|
-
exitOnCtrlC: true,
|
|
17
|
-
});
|
|
18
17
|
try {
|
|
18
|
+
// Ensure a config exists (auto-detect + optionally write) before
|
|
19
|
+
// mounting the main App. If detection lands on `ask`, this
|
|
20
|
+
// throws NeedsModeSelection — we render the setup modal first,
|
|
21
|
+
// write the chosen config, then continue to the board.
|
|
22
|
+
try {
|
|
23
|
+
await ensureStorageConfig(process.cwd());
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
if (!(err instanceof NeedsModeSelection))
|
|
27
|
+
throw err;
|
|
28
|
+
const picked = await showSetupModal(err.reason);
|
|
29
|
+
if (picked === null) {
|
|
30
|
+
// User cancelled — exit cleanly without rendering the board.
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
writeStorageConfig(process.cwd(), picked);
|
|
34
|
+
}
|
|
35
|
+
const { waitUntilExit } = render(_jsx(App, { agentHook: options.agentHook }), { exitOnCtrlC: true });
|
|
19
36
|
await waitUntilExit();
|
|
20
37
|
}
|
|
21
38
|
finally {
|
|
22
39
|
cleanup();
|
|
23
40
|
}
|
|
24
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Render the SetupModal in its own short-lived Ink instance, await
|
|
44
|
+
* the user's choice, return the picked mode (or `null` on Esc).
|
|
45
|
+
*/
|
|
46
|
+
function showSetupModal(reason) {
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
let resolved = false;
|
|
49
|
+
const settle = (value) => {
|
|
50
|
+
if (resolved)
|
|
51
|
+
return;
|
|
52
|
+
resolved = true;
|
|
53
|
+
instance.unmount();
|
|
54
|
+
resolve(value);
|
|
55
|
+
};
|
|
56
|
+
const instance = render(_jsx(SetupModal, { reason: reason, onPick: (mode) => settle(mode), onCancel: () => settle(null) }), { exitOnCtrlC: true });
|
|
57
|
+
instance.waitUntilExit().then(() => settle(null));
|
|
58
|
+
});
|
|
59
|
+
}
|
|
25
60
|
//# sourceMappingURL=index.js.map
|
package/dist/tui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAC7C,MAAM,eAAe,GAAG,aAAa,CAAC;AAUtC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA2B,EAAE;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1C,IAAI,YAAY;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,GAAS,EAAE;QAC1B,IAAI,YAAY;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,IAAI,CAAC;QACJ,iEAAiE;QACjE,2DAA2D;QAC3D,+DAA+D;QAC/D,uDAAuD;QACvD,IAAI,CAAC;YACJ,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,CAAC,GAAG,YAAY,kBAAkB,CAAC;gBAAE,MAAM,GAAG,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACrB,6DAA6D;gBAC7D,OAAO;YACR,CAAC;YACD,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC/B,KAAC,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,SAAS,GAAI,EACrC,EAAE,WAAW,EAAE,IAAI,EAAE,CACrB,CAAC;QACF,MAAM,aAAa,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACV,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACtB,MAAc;IAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,CAAC,KAA6C,EAAQ,EAAE;YACtE,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CACtB,KAAC,UAAU,IACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAC9B,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAC3B,EACF,EAAE,WAAW,EAAE,IAAI,EAAE,CACrB,CAAC;QACF,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frehilm/ordna-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "The `ordna` CLI and Ink-based Kanban TUI for Ordna. Re-exports the core API.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "FreHilm <1584617+FreHilm@users.noreply.github.com>",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"ink": "^5.1.1",
|
|
41
41
|
"ink-text-input": "^6.0.0",
|
|
42
42
|
"react": "^18.3.1",
|
|
43
|
-
"@frehilm/ordna-core": "^0.
|
|
44
|
-
"@frehilm/ordna-web": "^0.
|
|
43
|
+
"@frehilm/ordna-core": "^0.2.0",
|
|
44
|
+
"@frehilm/ordna-web": "^0.2.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^22.10.5",
|
package/templates/AGENTS.md
CHANGED
|
@@ -160,6 +160,31 @@ webPort: 7420 # default port for `ordna web`
|
|
|
160
160
|
- `statuses` defines the columns 1:1, in order. The first status is the
|
|
161
161
|
default for newly-created tasks unless `--status` is passed.
|
|
162
162
|
|
|
163
|
+
### Storage mode (important for agents)
|
|
164
|
+
|
|
165
|
+
The config may set `storage:` to one of three values. **Check this before
|
|
166
|
+
assuming you can read or write `tasks/*.md`:**
|
|
167
|
+
|
|
168
|
+
- **`storage: file`** (default) — everything documented above applies. Tasks
|
|
169
|
+
are markdown files in `tasksDir`; you can `cat`, `grep`, and edit them
|
|
170
|
+
directly. This is what most projects use.
|
|
171
|
+
- **`storage: hybrid`** — tasks are still files in `tasksDir`, AND a git
|
|
172
|
+
ref (`refs/ordna/state`) holds a shared next-id allocator + audit log.
|
|
173
|
+
Read/write the files normally; ID allocation goes through the ref under
|
|
174
|
+
the hood (no agent action needed). You can still `cat` and `grep`.
|
|
175
|
+
- **`storage: namespace`** — tasks live as **git blobs** at
|
|
176
|
+
`refs/ordna/tasks/<id>`. **There are no task files on disk.** `cat
|
|
177
|
+
tasks/T-001.md` will fail. Use the CLI (`ordna show T-001`, `ordna
|
|
178
|
+
list`, `ordna create`, etc.) for everything — direct file access is
|
|
179
|
+
not possible.
|
|
180
|
+
|
|
181
|
+
When in doubt, run `ordna list` and inspect the output rather than
|
|
182
|
+
walking `tasks/` directly. If the user hasn't picked a mode yet, the
|
|
183
|
+
first CLI invocation auto-detects (existing tasks → file; existing refs
|
|
184
|
+
→ the matching mode) or prompts them on the TUI / web. Agents typically
|
|
185
|
+
hit this through the CLI's non-interactive error message ("set
|
|
186
|
+
`ORDNA_STORAGE=file|hybrid|namespace`").
|
|
187
|
+
|
|
163
188
|
---
|
|
164
189
|
|
|
165
190
|
## 4. The `ordna` CLI
|