project-logbook 1.0.0 → 1.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/README.md +5 -1
- package/dist/commands/build.js +49 -15
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/lint.js +2 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/list.js +10 -10
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/log.js +24 -1
- package/dist/commands/log.js.map +1 -1
- package/dist/commands/new-helpers.d.ts +26 -0
- package/dist/commands/new-helpers.js +103 -0
- package/dist/commands/new-helpers.js.map +1 -0
- package/dist/commands/new.d.ts +4 -1
- package/dist/commands/new.js +115 -96
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/release.js +1 -1
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/start.d.ts +1 -1
- package/dist/commands/start.js +105 -43
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.js +3 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/autolink.d.ts +15 -0
- package/dist/lib/autolink.js +39 -0
- package/dist/lib/autolink.js.map +1 -0
- package/dist/lib/build-helpers.d.ts +3 -3
- package/dist/lib/build-helpers.js +54 -60
- package/dist/lib/build-helpers.js.map +1 -1
- package/dist/lib/build-steps.d.ts +2 -2
- package/dist/lib/build-steps.js +30 -3
- package/dist/lib/build-steps.js.map +1 -1
- package/dist/lib/config.d.ts +14 -0
- package/dist/lib/config.js +10 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/custom-card-renderer.d.ts +2 -0
- package/dist/lib/custom-card-renderer.js +58 -0
- package/dist/lib/custom-card-renderer.js.map +1 -0
- package/dist/lib/custom-types-builder.d.ts +4 -0
- package/dist/lib/custom-types-builder.js +37 -0
- package/dist/lib/custom-types-builder.js.map +1 -0
- package/dist/lib/git-helpers.js +10 -1
- package/dist/lib/git-helpers.js.map +1 -1
- package/dist/lib/image-dimension-parser.d.ts +11 -0
- package/dist/lib/image-dimension-parser.js +127 -0
- package/dist/lib/image-dimension-parser.js.map +1 -0
- package/dist/lib/image-helpers.d.ts +2 -0
- package/dist/lib/image-helpers.js +2 -0
- package/dist/lib/image-helpers.js.map +1 -1
- package/dist/lib/markdown-processors.d.ts +5 -2
- package/dist/lib/markdown-processors.js +9 -7
- package/dist/lib/markdown-processors.js.map +1 -1
- package/dist/lib/post-template.d.ts +5 -0
- package/dist/lib/post-template.js +48 -0
- package/dist/lib/post-template.js.map +1 -0
- package/dist/lib/session.d.ts +2 -2
- package/dist/lib/session.js +29 -1
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/template-helpers.js +17 -1
- package/dist/lib/template-helpers.js.map +1 -1
- package/dist/lib/template-types.d.ts +16 -3
- package/dist/lib/templates.d.ts +5 -7
- package/dist/lib/templates.js +39 -53
- package/dist/lib/templates.js.map +1 -1
- package/dist/templates/CONTRIBUTING.md +43 -2
- package/dist/templates/adr.md +34 -0
- package/dist/templates/index.md +5 -4
- package/dist/templates/log.md +1 -1
- package/dist/templates/steer.txt +14 -1
- package/dist/templates/styles.css +32 -0
- package/dist/utils/prompt.d.ts +6 -0
- package/dist/utils/prompt.js +59 -0
- package/dist/utils/prompt.js.map +1 -0
- package/package.json +4 -4
- package/src/templates/CONTRIBUTING.md +43 -2
- package/src/templates/adr.md +34 -0
- package/src/templates/index.md +5 -4
- package/src/templates/log.md +1 -1
- package/src/templates/steer.txt +14 -1
- package/src/templates/styles.css +32 -0
package/dist/commands/new.js
CHANGED
|
@@ -1,85 +1,104 @@
|
|
|
1
1
|
import fs from 'fs-extra';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { createInterface } from 'node:readline';
|
|
4
|
-
import { getConfig, getLogbookDirPath } from '../lib/config.js';
|
|
4
|
+
import { getConfig, getLogbookDirPath, getResearchDirPath, getAdrDirPath } from '../lib/config.js';
|
|
5
5
|
import { getEntryPath } from '../lib/entry-paths.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { getPackageVersion } from '../lib/package-version.js';
|
|
9
|
-
import { parseTicketId, getNextId } from '../utils/id.js';
|
|
6
|
+
import { header, highlight, errorMessage, successMessage, warningMessage } from '../lib/theme.js';
|
|
7
|
+
import { getNextId } from '../utils/id.js';
|
|
10
8
|
import { sanitiseSlug } from '../utils/slug.js';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
output: process.stdout,
|
|
14
|
-
});
|
|
9
|
+
import { selectPrompt } from '../utils/prompt.js';
|
|
10
|
+
import { writeAdrFile, writeStandardEntryFiles, detectIdFromBranch, resolveInteractiveId } from './new-helpers.js';
|
|
15
11
|
const question = (prompt) => {
|
|
12
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
16
13
|
return new Promise((resolve) => {
|
|
17
14
|
rl.question(prompt, (answer) => {
|
|
15
|
+
rl.close();
|
|
18
16
|
resolve(answer.trim());
|
|
19
17
|
});
|
|
20
18
|
});
|
|
21
19
|
};
|
|
22
|
-
export async function createNewEntry(id, slug) {
|
|
20
|
+
export async function createNewEntry(id, slug, options) {
|
|
23
21
|
const config = getConfig();
|
|
24
|
-
|
|
25
|
-
if (!
|
|
26
|
-
|
|
22
|
+
let isResearch = !!options?.research, customTypeName = options?.type, isAdr = customTypeName?.toLowerCase() === 'adr';
|
|
23
|
+
if (!id && !slug && !options?.research && !options?.type) {
|
|
24
|
+
const types = [{ label: 'Default Logbook Entry', value: 'logbook', isResearch: false, isAdr: false }];
|
|
25
|
+
if (config.researchDir)
|
|
26
|
+
types.push({ label: 'Research Log', value: 'research', isResearch: true, isAdr: false });
|
|
27
|
+
if (config.adrDir)
|
|
28
|
+
types.push({ label: 'Architecture Decision Record (ADR)', value: 'adr', isResearch: false, isAdr: true });
|
|
29
|
+
if (config.customTypes) {
|
|
30
|
+
for (const [name, cc] of Object.entries(config.customTypes)) {
|
|
31
|
+
if (name.toLowerCase() !== 'adr') {
|
|
32
|
+
types.push({
|
|
33
|
+
label: `${cc.tabTitle || name} (${name})`,
|
|
34
|
+
value: name,
|
|
35
|
+
isResearch: false,
|
|
36
|
+
isAdr: false,
|
|
37
|
+
customTypeName: name,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (types.length > 1) {
|
|
43
|
+
const idx = await selectPrompt('Select the type of entry to create:', types.map((t) => t.label));
|
|
44
|
+
if (idx === -1)
|
|
45
|
+
process.exit(1);
|
|
46
|
+
const choice = types[idx];
|
|
47
|
+
isResearch = choice.isResearch;
|
|
48
|
+
isAdr = choice.isAdr;
|
|
49
|
+
customTypeName = choice.customTypeName;
|
|
50
|
+
}
|
|
27
51
|
}
|
|
28
|
-
|
|
52
|
+
const customType = customTypeName && config.customTypes?.[customTypeName];
|
|
53
|
+
if (customTypeName && !customType && !isAdr) {
|
|
54
|
+
console.error(errorMessage('Error', `Custom type "${customTypeName}" is not defined in .project-logbook config.`));
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
const targetDir = isAdr
|
|
58
|
+
? getAdrDirPath(config) || join(process.cwd(), 'docs/adr')
|
|
59
|
+
: customType
|
|
60
|
+
? join(process.cwd(), customType.dir)
|
|
61
|
+
: isResearch
|
|
62
|
+
? getResearchDirPath(config) || join(process.cwd(), 'docs/research')
|
|
63
|
+
: getLogbookDirPath(config);
|
|
64
|
+
if (!(await fs.pathExists(targetDir)))
|
|
65
|
+
await fs.mkdirp(targetDir);
|
|
66
|
+
let nextIdNum = 1, id_padded = '';
|
|
67
|
+
if (isAdr && (await fs.pathExists(targetDir))) {
|
|
68
|
+
const parsedIds = (await fs.readdir(targetDir))
|
|
69
|
+
.map((f) => {
|
|
70
|
+
const m = f.match(/^(\d+)-/);
|
|
71
|
+
return m ? parseInt(m[1], 10) : null;
|
|
72
|
+
})
|
|
73
|
+
.filter((n) => n !== null);
|
|
74
|
+
if (parsedIds.length > 0)
|
|
75
|
+
nextIdNum = Math.max(...parsedIds) + 1;
|
|
76
|
+
id_padded = String(nextIdNum).padStart(4, '0');
|
|
77
|
+
}
|
|
78
|
+
let entryId = isAdr ? id_padded : id;
|
|
29
79
|
let entrySlug = slug;
|
|
30
|
-
|
|
80
|
+
if (!entryId && !isAdr) {
|
|
81
|
+
const prefix = customType ? customType.prefix : isResearch ? 'RES' : config.jiraPrefix || 'LB';
|
|
82
|
+
entryId = detectIdFromBranch(prefix);
|
|
83
|
+
}
|
|
84
|
+
let originalTitle = '';
|
|
85
|
+
const typeDisplayName = isAdr ? 'ADR' : customType ? customTypeName : isResearch ? 'research' : 'logbook';
|
|
31
86
|
if (!entryId || !entrySlug) {
|
|
32
|
-
console.log(header(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
else if (parsed) {
|
|
48
|
-
entryId = input.toUpperCase();
|
|
49
|
-
}
|
|
50
|
-
else if (bareNumber !== null) {
|
|
51
|
-
entryId = `${config.jiraPrefix}-${bareNumber}`;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
console.warn(warningStyle('Invalid ID format. Using auto-generated ID.'));
|
|
55
|
-
entryId = nextId;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
entryId = nextId;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
const nextId = getNextId(logbookDir, 'LB');
|
|
64
|
-
const input = await question(highlight(`Enter entry ID (e.g. ${nextId}, press Enter for auto-generated): `));
|
|
65
|
-
if (input) {
|
|
66
|
-
const parsed = parseTicketId(input);
|
|
67
|
-
const bareNumber = /^\d+$/.test(input) ? parseInt(input, 10) : null;
|
|
68
|
-
if (parsed) {
|
|
69
|
-
entryId = input.toUpperCase();
|
|
70
|
-
}
|
|
71
|
-
else if (bareNumber !== null) {
|
|
72
|
-
entryId = `LB-${bareNumber}`;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
console.warn(warningStyle('Invalid ID format. Using auto-generated ID.'));
|
|
76
|
-
entryId = nextId;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
entryId = nextId;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
87
|
+
console.log(header(`\n📝 Creating a new ${typeDisplayName} entry (interactive mode)\n`));
|
|
88
|
+
if (!entryId && !isAdr) {
|
|
89
|
+
const prefix = customType ? customType.prefix : isResearch ? 'RES' : config.jiraPrefix || 'LB';
|
|
90
|
+
const nextId = getNextId(targetDir, prefix);
|
|
91
|
+
const input = await question(highlight(`Enter entry ID (e.g. ${nextId}, press Enter for auto-generated): `));
|
|
92
|
+
entryId = input
|
|
93
|
+
? resolveInteractiveId({
|
|
94
|
+
input,
|
|
95
|
+
prefix,
|
|
96
|
+
nextId,
|
|
97
|
+
isResearch,
|
|
98
|
+
hasCustomType: !!customType,
|
|
99
|
+
jiraPrefix: config.jiraPrefix,
|
|
100
|
+
})
|
|
101
|
+
: nextId;
|
|
83
102
|
}
|
|
84
103
|
if (!entrySlug) {
|
|
85
104
|
const input = await question(highlight('Enter a short title (will be converted to slug): '));
|
|
@@ -87,49 +106,49 @@ export async function createNewEntry(id, slug) {
|
|
|
87
106
|
console.error(errorMessage('Error', 'Title is required.'));
|
|
88
107
|
process.exit(1);
|
|
89
108
|
}
|
|
109
|
+
originalTitle = input;
|
|
90
110
|
entrySlug = sanitiseSlug(input);
|
|
91
111
|
}
|
|
92
|
-
|
|
112
|
+
else {
|
|
113
|
+
originalTitle = entrySlug;
|
|
114
|
+
}
|
|
93
115
|
}
|
|
94
116
|
else {
|
|
95
|
-
|
|
117
|
+
originalTitle = entrySlug;
|
|
96
118
|
}
|
|
97
|
-
// Sanitise slug
|
|
98
119
|
const sanitised = sanitiseSlug(entrySlug);
|
|
99
120
|
if (sanitised !== entrySlug) {
|
|
100
121
|
console.warn(warningMessage('Notice', `Slug normalised from '${entrySlug}' to '${sanitised}'.`));
|
|
101
122
|
entrySlug = sanitised;
|
|
102
123
|
}
|
|
103
|
-
|
|
124
|
+
if (isAdr) {
|
|
125
|
+
const adrFile = join(targetDir, `${entryId}-${entrySlug}.md`);
|
|
126
|
+
if (await fs.pathExists(adrFile)) {
|
|
127
|
+
console.error(errorMessage('Error', `ADR ${entryId}-${entrySlug}.md already exists.`));
|
|
128
|
+
process.exit(1);
|
|
129
|
+
}
|
|
130
|
+
await writeAdrFile({ targetDir, entryId: entryId, entrySlug, originalTitle, nextIdNum, id_padded });
|
|
131
|
+
console.log(successMessage('Created', `ADR in ${config.adrDir || 'docs/adr'}/${entryId}-${entrySlug}.md`));
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const entryDir = getEntryPath(targetDir, `${entryId}-${entrySlug}`);
|
|
104
135
|
if (await fs.pathExists(entryDir)) {
|
|
105
136
|
console.error(errorMessage('Error', `Entry ${entryId}-${entrySlug} already exists.`));
|
|
106
137
|
process.exit(1);
|
|
107
138
|
}
|
|
108
|
-
await
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
const p = join(templatesDir, name);
|
|
123
|
-
if (fs.existsSync(p))
|
|
124
|
-
return fs.readFileSync(p, 'utf8');
|
|
125
|
-
throw new Error(`Template ${name} not found.`);
|
|
126
|
-
};
|
|
127
|
-
const fillTemplate = (template) => {
|
|
128
|
-
return template.replace(/{{(\w+)}}/g, (_, key) => replacements[key] || `{{${key}}}`);
|
|
129
|
-
};
|
|
130
|
-
await fs.writeFile(join(entryDir, 'index.md'), fillTemplate(getTemplate('index.md')));
|
|
131
|
-
await fs.writeFile(join(entryDir, 'ticket.md'), fillTemplate(getTemplate('ticket.md')));
|
|
132
|
-
await fs.writeFile(join(entryDir, 'log.md'), fillTemplate(getTemplate('log.md')));
|
|
133
|
-
console.log(successMessage('Created', `logbook entry in ${config.logbookDir}/${entryId}-${entrySlug}/`));
|
|
139
|
+
await writeStandardEntryFiles({
|
|
140
|
+
entryDir,
|
|
141
|
+
entryId: entryId,
|
|
142
|
+
entrySlug,
|
|
143
|
+
originalTitle,
|
|
144
|
+
isResearch,
|
|
145
|
+
hasCustomType: !!customType,
|
|
146
|
+
});
|
|
147
|
+
const relativeDestDir = customType
|
|
148
|
+
? customType.dir
|
|
149
|
+
: isResearch
|
|
150
|
+
? config.researchDir || 'docs/research'
|
|
151
|
+
: config.logbookDir;
|
|
152
|
+
console.log(successMessage('Created', `${typeDisplayName} entry in ${relativeDestDir}/${entryId}-${entrySlug}/`));
|
|
134
153
|
}
|
|
135
154
|
//# sourceMappingURL=new.js.map
|
package/dist/commands/new.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/release.js
CHANGED
|
@@ -16,7 +16,7 @@ export async function release(options = {}) {
|
|
|
16
16
|
const releasedAt = new Date().toISOString();
|
|
17
17
|
// Inject dateEnd into index.md frontmatter
|
|
18
18
|
const config = getConfig();
|
|
19
|
-
const entryDir = join(cwd, config.logbookDir, active.slug);
|
|
19
|
+
const entryDir = active.path || join(cwd, config.logbookDir, active.slug);
|
|
20
20
|
const indexPath = join(entryDir, 'index.md');
|
|
21
21
|
if (await fs.pathExists(indexPath)) {
|
|
22
22
|
let raw = await fs.readFile(indexPath, 'utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,UAA2B,EAAE;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,+CAA+C,CAAC,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE5C,2CAA2C;IAC3C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"release.js","sourceRoot":"","sources":["../../src/commands/release.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/start.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function start(id
|
|
1
|
+
export declare function start(id?: string, cwd?: string): Promise<void>;
|
package/dist/commands/start.js
CHANGED
|
@@ -5,8 +5,9 @@ import { error as errorStyle, warning as warningStyle, neutral, header, successM
|
|
|
5
5
|
import matter from 'gray-matter';
|
|
6
6
|
import { getConfig, getLogbookDirPath } from '../lib/config.js';
|
|
7
7
|
import { getActiveEntry } from '../lib/session.js';
|
|
8
|
-
import { getEntryPath } from '../lib/entry-paths.js';
|
|
9
8
|
import { getLogbookEntries } from '../utils/fs.js';
|
|
9
|
+
import { selectPrompt } from '../utils/prompt.js';
|
|
10
|
+
import { parseTicketId } from '../utils/id.js';
|
|
10
11
|
import { LOCKFILE_NAME } from '../lib/lockfile.js';
|
|
11
12
|
function getGitUsername() {
|
|
12
13
|
try {
|
|
@@ -29,61 +30,122 @@ export async function start(id, cwd = process.cwd()) {
|
|
|
29
30
|
}
|
|
30
31
|
// 2. Resolve folder by ID prefix or exact match
|
|
31
32
|
const config = getConfig();
|
|
32
|
-
// If a bare or suffixed number is given (e.g. "20-fix"), auto-prepend the configured jiraPrefix
|
|
33
|
-
const resolvedId = /^\d+(?:-.*)?$/.test(id) && config.jiraPrefix ? `${config.jiraPrefix}-${id}` : id;
|
|
34
33
|
const logbookDir = getLogbookDirPath(config, cwd);
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
const logbookEntries = await getLogbookEntries(logbookDir);
|
|
35
|
+
if (config.researchDir) {
|
|
36
|
+
const researchDir = join(cwd, config.researchDir);
|
|
37
|
+
if (await fs.pathExists(researchDir)) {
|
|
38
|
+
const resEntries = await getLogbookEntries(researchDir);
|
|
39
|
+
logbookEntries.push(...resEntries);
|
|
40
|
+
}
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
slug = exactTicketMatches[0].slug;
|
|
42
|
+
if (config.customTypes) {
|
|
43
|
+
for (const typeConfig of Object.values(config.customTypes)) {
|
|
44
|
+
if (typeConfig.dir) {
|
|
45
|
+
const typeDir = join(cwd, typeConfig.dir);
|
|
46
|
+
if (await fs.pathExists(typeDir)) {
|
|
47
|
+
const customEntries = await getLogbookEntries(typeDir);
|
|
48
|
+
logbookEntries.push(...customEntries);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
52
51
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
}
|
|
53
|
+
let slug;
|
|
54
|
+
let entryDir;
|
|
55
|
+
if (!id) {
|
|
56
|
+
if (logbookEntries.length === 0) {
|
|
57
|
+
console.error(errorStyle(`Error: No entries found in logbook or research directories.`));
|
|
58
|
+
console.error(errorStyle(`Run 'logbook new' to create one first.`));
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
// Sort entries descending
|
|
62
|
+
logbookEntries.sort((a, b) => {
|
|
63
|
+
const idA = parseTicketId(a.slug);
|
|
64
|
+
const idB = parseTicketId(b.slug);
|
|
65
|
+
if (idA && idB) {
|
|
66
|
+
if (idA.prefix !== idB.prefix) {
|
|
67
|
+
return idB.prefix.localeCompare(idA.prefix);
|
|
68
|
+
}
|
|
69
|
+
return idB.number - idA.number;
|
|
58
70
|
}
|
|
71
|
+
return b.slug.localeCompare(a.slug);
|
|
72
|
+
});
|
|
73
|
+
const choices = logbookEntries.map((e) => {
|
|
74
|
+
const title = e.data?.title ? `: ${e.data.title}` : '';
|
|
75
|
+
const ticketId = e.data?.ticket || e.slug;
|
|
76
|
+
return `${ticketId}${title}`;
|
|
77
|
+
});
|
|
78
|
+
const selectedIndex = await selectPrompt('Select an entry to start:', choices);
|
|
79
|
+
if (selectedIndex === -1) {
|
|
59
80
|
process.exit(1);
|
|
60
81
|
}
|
|
82
|
+
const selectedEntry = logbookEntries[selectedIndex];
|
|
83
|
+
slug = selectedEntry.slug;
|
|
84
|
+
entryDir = selectedEntry.path;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// If a bare or suffixed number is given (e.g. "20-fix"), auto-prepend the configured jiraPrefix
|
|
88
|
+
const resolvedId = /^\d+(?:-.*)?$/.test(id) && config.jiraPrefix ? `${config.jiraPrefix}-${id}` : id;
|
|
89
|
+
// 2a. Direct folder name match bypasses all other logic
|
|
90
|
+
const exactSlugMatch = logbookEntries.find((e) => e.slug.toLowerCase() === id.toLowerCase());
|
|
91
|
+
if (exactSlugMatch) {
|
|
92
|
+
slug = exactSlugMatch.slug;
|
|
93
|
+
entryDir = exactSlugMatch.path;
|
|
94
|
+
}
|
|
61
95
|
else {
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
96
|
+
// 2b. Query all logbook entries for frontmatter and folder structure
|
|
97
|
+
// First Pass: Exact Ticket ID Match in Frontmatter
|
|
98
|
+
const exactTicketMatches = logbookEntries.filter((e) => {
|
|
99
|
+
const ticket = typeof e.data?.ticket === 'string' ? e.data.ticket.trim().toLowerCase() : '';
|
|
100
|
+
return ticket === resolvedId.toLowerCase();
|
|
66
101
|
});
|
|
67
|
-
if (
|
|
68
|
-
slug =
|
|
102
|
+
if (exactTicketMatches.length === 1) {
|
|
103
|
+
slug = exactTicketMatches[0].slug;
|
|
104
|
+
entryDir = exactTicketMatches[0].path;
|
|
105
|
+
}
|
|
106
|
+
else if (exactTicketMatches.length > 1) {
|
|
107
|
+
const choices = exactTicketMatches.map((e) => {
|
|
108
|
+
const title = e.data?.title ? `: ${e.data.title}` : '';
|
|
109
|
+
return `${e.slug}${title}`;
|
|
110
|
+
});
|
|
111
|
+
const selectedIndex = await selectPrompt(`Multiple entries found with the exact same ticket ID '${resolvedId}'. Select one:`, choices);
|
|
112
|
+
if (selectedIndex === -1) {
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
slug = exactTicketMatches[selectedIndex].slug;
|
|
116
|
+
entryDir = exactTicketMatches[selectedIndex].path;
|
|
69
117
|
}
|
|
70
|
-
else
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
118
|
+
else {
|
|
119
|
+
// Second Pass: Fallback Prefix Match on Folder Names
|
|
120
|
+
const prefixMatches = logbookEntries.filter((e) => {
|
|
121
|
+
const prefix = e.slug.split('-').slice(0, resolvedId.split('-').length).join('-');
|
|
122
|
+
return prefix.toLowerCase() === resolvedId.toLowerCase();
|
|
123
|
+
});
|
|
124
|
+
if (prefixMatches.length === 1) {
|
|
125
|
+
slug = prefixMatches[0].slug;
|
|
126
|
+
entryDir = prefixMatches[0].path;
|
|
127
|
+
}
|
|
128
|
+
else if (prefixMatches.length > 1) {
|
|
129
|
+
const choices = prefixMatches.map((e) => {
|
|
130
|
+
const title = e.data?.title ? `: ${e.data.title}` : '';
|
|
131
|
+
const ticketId = e.data?.ticket || e.slug;
|
|
132
|
+
return `${ticketId}${title}`;
|
|
133
|
+
});
|
|
134
|
+
const selectedIndex = await selectPrompt(`Multiple entries found matching prefix '${resolvedId}'. Select one:`, choices);
|
|
135
|
+
if (selectedIndex === -1) {
|
|
136
|
+
process.exit(1);
|
|
137
|
+
}
|
|
138
|
+
slug = prefixMatches[selectedIndex].slug;
|
|
139
|
+
entryDir = prefixMatches[selectedIndex].path;
|
|
76
140
|
}
|
|
77
|
-
process.exit(1);
|
|
78
141
|
}
|
|
79
142
|
}
|
|
143
|
+
if (!slug || !entryDir) {
|
|
144
|
+
console.error(errorStyle(`Error: No entry found matching ID '${resolvedId}' in logbook or research directories.`));
|
|
145
|
+
console.error(errorStyle(`Run 'logbook new <id> <slug>' to create it first.`));
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
80
148
|
}
|
|
81
|
-
if (!slug) {
|
|
82
|
-
console.error(errorStyle(`Error: No entry found matching ID '${resolvedId}' in ${config.logbookDir}/.`));
|
|
83
|
-
console.error(errorStyle(`Run 'logbook new <id> <slug>' to create it first.`));
|
|
84
|
-
process.exit(1);
|
|
85
|
-
}
|
|
86
|
-
const entryDir = getEntryPath(logbookDir, slug);
|
|
87
149
|
// Warn if branch-resolved entry is different
|
|
88
150
|
const activeFromBranch = await getActiveEntry({}, cwd);
|
|
89
151
|
if (activeFromBranch && activeFromBranch.source === 'branch' && activeFromBranch.slug !== slug) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,UAAU,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChH,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/status.js
CHANGED
|
@@ -102,6 +102,9 @@ export async function status() {
|
|
|
102
102
|
if (config.adrDir) {
|
|
103
103
|
console.log(` ${bold('ADR Directory:')} ${config.adrDir}`);
|
|
104
104
|
}
|
|
105
|
+
if (config.researchDir) {
|
|
106
|
+
console.log(` ${bold('Research Directory:')}${config.researchDir}`);
|
|
107
|
+
}
|
|
105
108
|
console.log(` ${bold('Primary Color:')} ${config.primaryColor}`);
|
|
106
109
|
if (config.jiraBaseUrl) {
|
|
107
110
|
console.log(` ${bold('Jira Base URL:')} ${config.jiraBaseUrl}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,UAAU,wCAAwC,CAAC,CAAC,CAAC;QAC7G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yCAAyC;IACzC,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,CAAC;IAEhC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;IACvC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QAED,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,UAAU,EAAE,CAAC;QACf,CAAC;aAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClH,UAAU,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,WAAW,EAAE,CAAC;IACjE,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAErD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC/G,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,iDAAiD;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7G,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,+DAA+D,CAAC,EAAE,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,KAAK,MAAM,OAAO,CAAC,UAAU,MAAM,OAAO,CAAC,SAAS,GAAG,CAAC;QAErF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,MAAM,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,9 +13,11 @@ program
|
|
|
13
13
|
program
|
|
14
14
|
.command('new [id] [slug]')
|
|
15
15
|
.description('Create a new logbook entry (with optional id and slug, or use interactive mode)')
|
|
16
|
-
.
|
|
16
|
+
.option('-r, --research', 'Create a research log entry instead of a standard logbook entry')
|
|
17
|
+
.option('-t, --type <type>', 'Create a custom configured entry type (e.g. --type analyses)')
|
|
18
|
+
.action(async (id, slug, options) => {
|
|
17
19
|
const { createNewEntry } = await import('./commands/new.js');
|
|
18
|
-
await createNewEntry(id, slug);
|
|
20
|
+
await createNewEntry(id, slug, options);
|
|
19
21
|
});
|
|
20
22
|
program
|
|
21
23
|
.command('lint')
|
|
@@ -46,7 +48,7 @@ program
|
|
|
46
48
|
await upgrade();
|
|
47
49
|
});
|
|
48
50
|
program
|
|
49
|
-
.command('start
|
|
51
|
+
.command('start [id]')
|
|
50
52
|
.description('Mark a logbook entry as active by ID, e.g. LB-5 (writes .logbook-active lockfile)')
|
|
51
53
|
.action(async (id) => {
|
|
52
54
|
const { start } = await import('./commands/start.js');
|