@doist/outline-cli 1.0.0 → 1.0.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/CHANGELOG.md +14 -9
- package/dist/commands/auth.d.ts +1 -1
- package/dist/commands/auth.js +45 -48
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/collection.d.ts +1 -1
- package/dist/commands/collection.js +41 -55
- package/dist/commands/collection.js.map +1 -1
- package/dist/commands/document.d.ts +1 -1
- package/dist/commands/document.js +68 -86
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/search.d.ts +1 -1
- package/dist/commands/search.js +15 -15
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/skill.d.ts +1 -1
- package/dist/commands/skill.js +26 -28
- package/dist/commands/skill.js.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/api.js +21 -21
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/auth.d.ts +1 -1
- package/dist/lib/auth.js +13 -13
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/markdown.js +2 -2
- package/dist/lib/markdown.js.map +1 -1
- package/dist/lib/oauth-server.js +37 -37
- package/dist/lib/oauth-server.js.map +1 -1
- package/dist/lib/oauth.js +10 -10
- package/dist/lib/oauth.js.map +1 -1
- package/dist/lib/output.d.ts +1 -1
- package/dist/lib/output.js +3 -3
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/pkce.js +3 -7
- package/dist/lib/pkce.js.map +1 -1
- package/dist/lib/refs.js +10 -12
- package/dist/lib/refs.js.map +1 -1
- package/dist/lib/skills/content.d.ts +1 -1
- package/dist/lib/skills/content.js +2 -2
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/skills/create-installer.d.ts +1 -1
- package/dist/lib/skills/create-installer.js +9 -9
- package/dist/lib/skills/create-installer.js.map +1 -1
- package/dist/lib/skills/index.d.ts +2 -2
- package/dist/lib/skills/index.js +20 -20
- package/dist/lib/skills/index.js.map +1 -1
- package/dist/lib/skills/update-installed.js +1 -1
- package/dist/lib/skills/update-installed.js.map +1 -1
- package/dist/lib/spinner.d.ts +1 -1
- package/dist/lib/spinner.js +5 -7
- package/dist/lib/spinner.js.map +1 -1
- package/dist/postinstall.js +14 -1
- package/dist/postinstall.js.map +1 -1
- package/package.json +7 -3
- package/scripts/postinstall.js +5 -5
package/dist/lib/refs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/lib/refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"refs.js","sourceRoot":"","sources":["../../src/lib/refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const SKILL_NAME = "outline";
|
|
1
|
+
export declare const SKILL_NAME = "outline-cli";
|
|
2
2
|
export declare const SKILL_DESCRIPTION = "Search and manage Outline wiki documents and collections via the ol CLI";
|
|
3
3
|
export declare const SKILL_CONTENT = "# Outline CLI (ol)\n\nUse this skill when the user wants to interact with their Outline wiki/knowledge base.\n\n## Quick Reference\n\n- `ol search \"query\"` - Search documents\n- `ol doc list` - List documents\n- `ol doc get <id>` - Read a document\n- `ol doc open <id>` - Open document in browser\n- `ol doc create --title \"Title\" --collection <id>` - Create document\n- `ol col list` - List collections\n\n## Output Formats\n\nAll list commands support:\n- `--json` - JSON output (essential fields)\n- `--ndjson` - Newline-delimited JSON (streaming)\n- `--full` - Include all fields in JSON\n\n## Document References\n\nDocuments can be referenced by:\n- URL ID (the slug suffix after the last hyphen)\n- Full Outline URL (auto-extracted)\n- Document ID\n\n## Commands\n\n### Search\n```bash\nol search \"query\"\nol search \"query\" --limit 10\nol search \"query\" --collection <id>\nol search \"query\" --status published\nol search \"query\" --json\n```\n\n### Documents\n```bash\nol doc list --collection <id> --limit 25\nol doc list --sort title --direction ASC\nol doc get <id> # Rendered markdown\nol doc get <id> --raw # Raw markdown\nol doc get <id> --json\nol doc open <id> # Open in browser\nol doc create --title \"Title\" --collection <id> --text \"# Content\"\nol doc create --title \"Title\" --collection <id> --file ./doc.md\nol doc update <id> --title \"New Title\"\nol doc update <id> --file ./updated.md\nol doc move <id> --collection <target-id>\nol doc archive <id>\nol doc unarchive <id>\nol doc delete <id> --confirm\n```\n\n### Collections\n```bash\nol col list\nol col get <id>\nol col create --name \"Name\" --description \"Desc\" --color \"#hex\"\nol col create --name \"Private\" --private\nol col update <id> --name \"New Name\"\nol col delete <id> --confirm\n```\n\n### Authentication\n```bash\nol auth login # Configure API token and base URL\nol auth status # Show current auth state\nol auth logout # Clear saved credentials\n```\n\n## Examples\n\n### Find and read a document\n```bash\nol search \"onboarding\" --json | jq '.[0].document.urlId'\nol doc get <urlId>\n```\n\n### Create a document from a file\n```bash\nol doc create --title \"Meeting Notes\" --collection <id> --file ./notes.md --publish\n```\n\n### List all collections and their documents\n```bash\nol col list --json\nol doc list --collection <id> --sort title --direction ASC\n```\n\n### Bulk export with ndjson\n```bash\nol doc list --ndjson --full | jq -r '.title'\n```\n";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const SKILL_NAME =
|
|
2
|
-
export const SKILL_DESCRIPTION =
|
|
1
|
+
export const SKILL_NAME = 'outline-cli';
|
|
2
|
+
export const SKILL_DESCRIPTION = 'Search and manage Outline wiki documents and collections via the ol CLI';
|
|
3
3
|
export const SKILL_CONTENT = `# Outline CLI (ol)
|
|
4
4
|
|
|
5
5
|
Use this skill when the user wants to interact with their Outline wiki/knowledge base.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"content.js","sourceRoot":"","sources":["../../../src/lib/skills/content.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAC1B,yEAAyE,CAAA;AAE7E,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgG5B,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { access, mkdir, readdir, rmdir, unlink, writeFile
|
|
2
|
-
import { homedir } from
|
|
3
|
-
import { dirname, join } from
|
|
4
|
-
import { SKILL_CONTENT, SKILL_DESCRIPTION, SKILL_NAME } from
|
|
1
|
+
import { access, mkdir, readdir, rmdir, unlink, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { SKILL_CONTENT, SKILL_DESCRIPTION, SKILL_NAME } from './content.js';
|
|
5
5
|
function generateSkillFile() {
|
|
6
6
|
const frontmatter = `---
|
|
7
7
|
name: ${SKILL_NAME}
|
|
8
|
-
description: ${SKILL_DESCRIPTION}
|
|
8
|
+
description: ${JSON.stringify(SKILL_DESCRIPTION)}
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
`;
|
|
@@ -14,7 +14,7 @@ description: ${SKILL_DESCRIPTION}
|
|
|
14
14
|
export function createInstaller(config) {
|
|
15
15
|
function getInstallPath(local) {
|
|
16
16
|
const base = local ? process.cwd() : homedir();
|
|
17
|
-
return join(base, config.dirName,
|
|
17
|
+
return join(base, config.dirName, 'skills', SKILL_NAME, 'SKILL.md');
|
|
18
18
|
}
|
|
19
19
|
return {
|
|
20
20
|
name: config.name,
|
|
@@ -33,7 +33,7 @@ export function createInstaller(config) {
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
async install(local, force) {
|
|
36
|
-
if (!local && config.dirName !==
|
|
36
|
+
if (!local && config.dirName !== '.agents') {
|
|
37
37
|
const agentDir = join(homedir(), config.dirName);
|
|
38
38
|
try {
|
|
39
39
|
await access(agentDir);
|
|
@@ -48,11 +48,11 @@ export function createInstaller(config) {
|
|
|
48
48
|
throw new Error(`Skill file already exists at ${filepath}. Use --force to overwrite.`);
|
|
49
49
|
}
|
|
50
50
|
await mkdir(dirname(filepath), { recursive: true });
|
|
51
|
-
await writeFile(filepath, this.generateContent(),
|
|
51
|
+
await writeFile(filepath, this.generateContent(), 'utf-8');
|
|
52
52
|
},
|
|
53
53
|
async update(local) {
|
|
54
54
|
const filepath = getInstallPath(local);
|
|
55
|
-
await writeFile(filepath, this.generateContent(),
|
|
55
|
+
await writeFile(filepath, this.generateContent(), 'utf-8');
|
|
56
56
|
},
|
|
57
57
|
async uninstall(local) {
|
|
58
58
|
const filepath = getInstallPath(local);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-installer.js","sourceRoot":"","sources":["../../../src/lib/skills/create-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { SkillInstaller } from
|
|
1
|
+
import type { SkillInstaller } from './types.js';
|
|
2
2
|
export declare const skillInstallers: Record<string, SkillInstaller>;
|
|
3
3
|
export declare function getInstaller(agent: string): SkillInstaller | undefined;
|
|
4
4
|
export declare function listAgents(): string[];
|
|
5
|
-
export type { SkillInstaller } from
|
|
5
|
+
export type { SkillInstaller } from './types.js';
|
package/dist/lib/skills/index.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { createInstaller } from
|
|
1
|
+
import { createInstaller } from './create-installer.js';
|
|
2
2
|
export const skillInstallers = {
|
|
3
|
-
|
|
4
|
-
name:
|
|
5
|
-
description:
|
|
6
|
-
dirName:
|
|
3
|
+
'claude-code': createInstaller({
|
|
4
|
+
name: 'claude-code',
|
|
5
|
+
description: 'Claude Code skill for Outline CLI',
|
|
6
|
+
dirName: '.claude',
|
|
7
7
|
}),
|
|
8
8
|
codex: createInstaller({
|
|
9
|
-
name:
|
|
10
|
-
description:
|
|
11
|
-
dirName:
|
|
9
|
+
name: 'codex',
|
|
10
|
+
description: 'Codex skill for Outline CLI',
|
|
11
|
+
dirName: '.codex',
|
|
12
12
|
}),
|
|
13
13
|
cursor: createInstaller({
|
|
14
|
-
name:
|
|
15
|
-
description:
|
|
16
|
-
dirName:
|
|
14
|
+
name: 'cursor',
|
|
15
|
+
description: 'Cursor skill for Outline CLI',
|
|
16
|
+
dirName: '.cursor',
|
|
17
17
|
}),
|
|
18
18
|
gemini: createInstaller({
|
|
19
|
-
name:
|
|
20
|
-
description:
|
|
21
|
-
dirName:
|
|
19
|
+
name: 'gemini',
|
|
20
|
+
description: 'Gemini CLI skill for Outline CLI',
|
|
21
|
+
dirName: '.gemini',
|
|
22
22
|
}),
|
|
23
23
|
pi: createInstaller({
|
|
24
|
-
name:
|
|
25
|
-
description:
|
|
26
|
-
dirName:
|
|
24
|
+
name: 'pi',
|
|
25
|
+
description: 'Pi skill for Outline CLI',
|
|
26
|
+
dirName: '.pi',
|
|
27
27
|
}),
|
|
28
28
|
universal: createInstaller({
|
|
29
|
-
name:
|
|
30
|
-
description:
|
|
31
|
-
dirName:
|
|
29
|
+
name: 'universal',
|
|
30
|
+
description: 'Universal agent skill for Outline CLI',
|
|
31
|
+
dirName: '.agents',
|
|
32
32
|
}),
|
|
33
33
|
};
|
|
34
34
|
export function getInstaller(agent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGvD,MAAM,CAAC,MAAM,eAAe,GAAmC;IAC3D,aAAa,EAAE,eAAe,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,KAAK,EAAE,eAAe,CAAC;QACnB,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,6BAA6B;QAC1C,OAAO,EAAE,QAAQ;KACpB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,MAAM,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,SAAS;KACrB,CAAC;IACF,EAAE,EAAE,eAAe,CAAC;QAChB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,KAAK;KACjB,CAAC;IACF,SAAS,EAAE,eAAe,CAAC;QACvB,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,SAAS;KACrB,CAAC;CACL,CAAA;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,UAAU;IACtB,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-installed.js","sourceRoot":"","sources":["../../../src/lib/skills/update-installed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"update-installed.js","sourceRoot":"","sources":["../../../src/lib/skills/update-installed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAQ5C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,KAAc;IACzD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YACtD,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACvC,CAAC"}
|
package/dist/lib/spinner.d.ts
CHANGED
package/dist/lib/spinner.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import chalk from
|
|
2
|
-
import yoctoSpinner from
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import yoctoSpinner from 'yocto-spinner';
|
|
3
3
|
function shouldDisableSpinner() {
|
|
4
|
-
if (process.env.OL_SPINNER ===
|
|
4
|
+
if (process.env.OL_SPINNER === 'false')
|
|
5
5
|
return true;
|
|
6
6
|
if (process.env.CI)
|
|
7
7
|
return true;
|
|
8
8
|
const args = process.argv;
|
|
9
|
-
if (args.includes(
|
|
10
|
-
args.includes("--ndjson") ||
|
|
11
|
-
args.includes("--no-spinner")) {
|
|
9
|
+
if (args.includes('--json') || args.includes('--ndjson') || args.includes('--no-spinner')) {
|
|
12
10
|
return true;
|
|
13
11
|
}
|
|
14
12
|
return false;
|
|
@@ -19,7 +17,7 @@ export class LoadingSpinner {
|
|
|
19
17
|
if (!process.stdout.isTTY || options.noSpinner || shouldDisableSpinner()) {
|
|
20
18
|
return this;
|
|
21
19
|
}
|
|
22
|
-
const colorFn = chalk[options.color ||
|
|
20
|
+
const colorFn = chalk[options.color || 'blue'];
|
|
23
21
|
this.spinnerInstance = yoctoSpinner({ text: colorFn(options.text) });
|
|
24
22
|
this.spinnerInstance.start();
|
|
25
23
|
return this;
|
package/dist/lib/spinner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/lib/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../src/lib/spinner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,YAAY,MAAM,eAAe,CAAA;AAQxC,SAAS,oBAAoB;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IACnD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IAE/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACxF,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,cAAc;IACf,eAAe,GAA2C,IAAI,CAAA;IAEtE,KAAK,CAAC,OAAuB;QACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,IAAI,oBAAoB,EAAE,EAAE,CAAC;YACvE,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,CAAA;QAC9C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC5B,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,CAAC,IAAa;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACzE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAa;QACd,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YACrE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAA;YAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC/B,CAAC;IACL,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAuB,EACvB,cAAgC;IAEhC,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAEnD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;QACrC,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,MAAM,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
|
package/dist/postinstall.js
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { rm } from 'node:fs/promises';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { updateAllInstalledSkills } from './lib/skills/update-installed.js';
|
|
5
|
+
const AGENT_DIRS = ['.claude', '.codex', '.cursor', '.gemini', '.pi', '.agents'];
|
|
6
|
+
async function removeOldSkillDirs() {
|
|
7
|
+
const home = homedir();
|
|
8
|
+
await Promise.all(AGENT_DIRS.map((dir) => rm(join(home, dir, 'skills', 'outline'), { recursive: true, force: true })));
|
|
9
|
+
}
|
|
10
|
+
// TODO: Remove after a few releases once all users have upgraded.
|
|
11
|
+
// The skill was previously installed under "outline" but was renamed to "outline-cli"
|
|
12
|
+
// to match the convention used by the other Doist CLIs. This cleans up the old
|
|
13
|
+
// directories so users don't end up with duplicate skills.
|
|
14
|
+
removeOldSkillDirs().catch(() => { });
|
|
2
15
|
updateAllInstalledSkills(false).catch(() => { });
|
|
3
16
|
//# sourceMappingURL=postinstall.js.map
|
package/dist/postinstall.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAE3E,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAEhF,KAAK,UAAU,kBAAkB;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,MAAM,OAAO,CAAC,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACnB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAC7E,CACJ,CAAA;AACL,CAAC;AAED,kEAAkE;AAClE,sFAAsF;AACtF,+EAA+E;AAC/E,2DAA2D;AAC3D,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AAEpC,wBAAwB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@doist/outline-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "CLI for the Outline wiki/knowledge base API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -27,7 +27,10 @@
|
|
|
27
27
|
"build": "tsc",
|
|
28
28
|
"dev": "tsc --watch",
|
|
29
29
|
"type-check": "tsc --noEmit",
|
|
30
|
-
"
|
|
30
|
+
"lint:check": "oxlint src",
|
|
31
|
+
"lint:write": "oxlint src --fix",
|
|
32
|
+
"format": "oxfmt",
|
|
33
|
+
"format:check": "oxfmt --check",
|
|
31
34
|
"test": "vitest run",
|
|
32
35
|
"test:watch": "vitest",
|
|
33
36
|
"postinstall": "node scripts/postinstall.js"
|
|
@@ -47,7 +50,6 @@
|
|
|
47
50
|
"yocto-spinner": "1.0.0"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|
|
50
|
-
"@biomejs/biome": "2.3.12",
|
|
51
53
|
"@semantic-release/changelog": "6.0.3",
|
|
52
54
|
"@semantic-release/exec": "7.1.0",
|
|
53
55
|
"@semantic-release/git": "10.0.1",
|
|
@@ -56,6 +58,8 @@
|
|
|
56
58
|
"@semantic-release/release-notes-generator": "14.1.0",
|
|
57
59
|
"@types/node": "25.0.10",
|
|
58
60
|
"lefthook": "2.0.15",
|
|
61
|
+
"oxfmt": "0.42.0",
|
|
62
|
+
"oxlint": "1.57.0",
|
|
59
63
|
"semantic-release": "25.0.3",
|
|
60
64
|
"typescript": "5.9.3",
|
|
61
65
|
"vitest": "4.0.18"
|
package/scripts/postinstall.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* Silently succeeds when dist/ hasn't been built yet (e.g., during local development).
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
})
|
|
8
|
+
import('../dist/postinstall.js').catch((err) => {
|
|
9
|
+
if (err.code !== 'ERR_MODULE_NOT_FOUND') {
|
|
10
|
+
console.error(err)
|
|
11
|
+
}
|
|
12
|
+
})
|