@nickmeriano/task 0.3.0 → 0.4.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 +37 -0
- package/dist/cli.js +101 -1
- package/dist/cli.js.map +1 -1
- package/dist/publish.d.ts +66 -0
- package/dist/publish.d.ts.map +1 -0
- package/dist/publish.js +148 -0
- package/dist/publish.js.map +1 -0
- package/package.json +3 -2
- package/skill/SKILL.md +5 -0
- package/src/cli.ts +119 -2
- package/src/publish.ts +192 -0
- package/ui/dist/assets/{index-M_JwP0ja.js → index-DWJarI5C.js} +59 -59
- package/ui/dist/index.html +1 -1
package/README.md
CHANGED
|
@@ -36,8 +36,43 @@ task start 1 # → in_progress
|
|
|
36
36
|
task done 1 # → done
|
|
37
37
|
task comment 1 "shipped in #42" --author claude
|
|
38
38
|
task serve # opens the kanban + table UI, live
|
|
39
|
+
task publish # same board, at a URL you can open on a phone
|
|
39
40
|
```
|
|
40
41
|
|
|
42
|
+
## From anywhere
|
|
43
|
+
|
|
44
|
+
`task serve` is localhost, which is the right answer right up until you're not
|
|
45
|
+
at that machine. `task publish` gives the same board a URL:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
task publish # private — only people who can see the repo on GitHub
|
|
49
|
+
task publish --public # anyone with the link
|
|
50
|
+
task unpublish # take the URL down again
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
It opens a browser once to install a GitHub App on that repository, and prints
|
|
54
|
+
`task.nickmeriano.com/<owner>/<repo>`. After that it's just a URL — commit and
|
|
55
|
+
push, and the board updates, including when an agent in a cloud session is the
|
|
56
|
+
one committing.
|
|
57
|
+
|
|
58
|
+
- **Read-only, by construction.** The App asks GitHub for `Contents: Read-only`,
|
|
59
|
+
so the hosted board *cannot* write to your repo even if it wanted to. Editing
|
|
60
|
+
still happens where it always did: the CLI, an agent, or `task serve`.
|
|
61
|
+
- **Private by default — including for public repos.** Your code being open
|
|
62
|
+
source doesn't mean you meant to publish a live feed of what you're working on
|
|
63
|
+
next. `--public` is opt-in, and re-running with the other flag flips it.
|
|
64
|
+
- **Nothing is copied.** Tasks are read from `.task/` on your default branch,
|
|
65
|
+
per request. The URL is a window onto your repo, not a second database — and
|
|
66
|
+
`task publish` writes nothing to `.task/`, so there is no state to commit and
|
|
67
|
+
no token in your repo.
|
|
68
|
+
- **No new account.** You sign in with GitHub, and who can see the board is
|
|
69
|
+
whoever can see the repository — there are no seats, invites or member
|
|
70
|
+
settings, because there's no permission model separate from GitHub's.
|
|
71
|
+
- **Reversible.** `task unpublish` removes the board and the URL 404s
|
|
72
|
+
immediately; your tasks are untouched, because they were only ever read from
|
|
73
|
+
`.task/`. Changing your mind about *visibility* doesn't need that at all —
|
|
74
|
+
`task publish --private` is enough.
|
|
75
|
+
|
|
41
76
|
- Ids are `PREFIX-12` or just `12`; the prefix comes from `task init --prefix`.
|
|
42
77
|
- Statuses: `backlog` `todo` `in_progress` `done` `canceled`.
|
|
43
78
|
- A task carries tags, at most one milestone, and a `--needs-human` flag for
|
|
@@ -50,6 +85,8 @@ task serve # opens the kanban + table UI, live
|
|
|
50
85
|
- `task serve` opens your browser on the board (`--no-open` doesn't) and takes
|
|
51
86
|
the next free port when 4400 is busy, so a server you left running elsewhere
|
|
52
87
|
can't stop you — `--strict-port` fails on a taken port instead.
|
|
88
|
+
- `task publish` works out the repo from your git remotes; pass
|
|
89
|
+
`--repo owner/name` if the guess is wrong (a fork with two remotes, say).
|
|
53
90
|
- `task serve` is the one command that also looks *down*: run it at a monorepo
|
|
54
91
|
root and it serves every nested board from one server, with a board switcher
|
|
55
92
|
in the header. Run it inside a package and you get just that board. Every
|
package/dist/cli.js
CHANGED
|
@@ -12,6 +12,7 @@ import { readFileSync } from "node:fs";
|
|
|
12
12
|
import { basename, join } from "node:path";
|
|
13
13
|
import process from "node:process";
|
|
14
14
|
import { resolveAuthor } from "./author.js";
|
|
15
|
+
import { detectRepo, parseSlug, publish, resolveHost } from "./publish.js";
|
|
15
16
|
import { createTaskServer } from "./server.js";
|
|
16
17
|
import { CONFIG_FILE, TASK_DIR, TaskStore, findBoards, findRoot, initProject } from "./store.js";
|
|
17
18
|
import { STATUSES, isStatus } from "./types.js";
|
|
@@ -49,6 +50,9 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
49
50
|
"open",
|
|
50
51
|
"no-open",
|
|
51
52
|
"strict-port",
|
|
53
|
+
"public",
|
|
54
|
+
"private",
|
|
55
|
+
"no-wait",
|
|
52
56
|
]);
|
|
53
57
|
function parseArgs(argv) {
|
|
54
58
|
const positional = [];
|
|
@@ -395,6 +399,85 @@ function cmdServe(args) {
|
|
|
395
399
|
openBrowser(url);
|
|
396
400
|
});
|
|
397
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* `task publish` — the board, at a URL.
|
|
404
|
+
*
|
|
405
|
+
* Visibility is the only real decision here, and the default is the cautious
|
|
406
|
+
* one: **every board starts private, including a public repository's**. A repo
|
|
407
|
+
* being open source says its code is readable; it says nothing about whether
|
|
408
|
+
* its owner wants a live feed of what they're working on next. Going public is
|
|
409
|
+
* `--public`, said out loud, and it can be changed either way at any time by
|
|
410
|
+
* running this again.
|
|
411
|
+
*/
|
|
412
|
+
async function cmdPublish(args) {
|
|
413
|
+
if (args.flags.public && args.flags.private) {
|
|
414
|
+
fail("--public and --private contradict each other — pass one");
|
|
415
|
+
}
|
|
416
|
+
// `undefined`, not a default: an omitted flag means "leave it alone" so that
|
|
417
|
+
// re-publishing to reconnect a repo can't silently change who can see it.
|
|
418
|
+
const visibility = args.flags.public ? "public" : args.flags.private ? "private" : null;
|
|
419
|
+
const repo = resolveRepoArg(args);
|
|
420
|
+
console.log(`Publishing ${repo.owner}/${repo.repo}${visibility ? ` (${visibility})` : ""}`);
|
|
421
|
+
const result = await runPublishFlow(args, repo, "publish", visibility);
|
|
422
|
+
if (!result)
|
|
423
|
+
return;
|
|
424
|
+
console.log("");
|
|
425
|
+
console.log(`✓ Published${result.approvedBy ? ` by ${result.approvedBy}` : ""}`);
|
|
426
|
+
console.log(` ${result.boardUrl}`);
|
|
427
|
+
console.log(result.visibility === "public"
|
|
428
|
+
? " Public — anyone with the link can view this board."
|
|
429
|
+
: " Private — only people who can see the repo on GitHub can view it.");
|
|
430
|
+
console.log("");
|
|
431
|
+
console.log("The board reads .task/ from your default branch, so commit and push to update it.");
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* `task unpublish` — take the URL away.
|
|
435
|
+
*
|
|
436
|
+
* Small on purpose, and worth saying so at the prompt: this removes a board,
|
|
437
|
+
* not a backlog. The tasks were never anywhere but `.task/` in your repo, so
|
|
438
|
+
* there is nothing here that can lose them — which is also why this doesn't ask
|
|
439
|
+
* for a `--yes`. The browser step already puts a confirmation in front of a
|
|
440
|
+
* human, and `task publish` puts it straight back.
|
|
441
|
+
*/
|
|
442
|
+
async function cmdUnpublish(args) {
|
|
443
|
+
const repo = resolveRepoArg(args);
|
|
444
|
+
console.log(`Unpublishing ${repo.owner}/${repo.repo}`);
|
|
445
|
+
const result = await runPublishFlow(args, repo, "unpublish", null);
|
|
446
|
+
if (!result)
|
|
447
|
+
return;
|
|
448
|
+
console.log("");
|
|
449
|
+
console.log(`✓ Unpublished${result.approvedBy ? ` by ${result.approvedBy}` : ""}`);
|
|
450
|
+
console.log(` ${result.boardUrl} now returns a 404.`);
|
|
451
|
+
console.log("");
|
|
452
|
+
console.log("Your tasks are untouched — .task/ is where they always were.");
|
|
453
|
+
console.log("The task app stays installed on the repo; remove it in GitHub settings");
|
|
454
|
+
console.log("to revoke its read access too. `task publish` puts the board back.");
|
|
455
|
+
}
|
|
456
|
+
/** The repo both commands operate on: `--repo owner/name`, else the remote. */
|
|
457
|
+
function resolveRepoArg(args) {
|
|
458
|
+
const slug = str(args.flags, "repo");
|
|
459
|
+
const repo = slug ? parseSlug(slug) : detectRepo(process.cwd());
|
|
460
|
+
if (!repo) {
|
|
461
|
+
fail(slug
|
|
462
|
+
? `--repo must look like owner/name, got "${slug}"`
|
|
463
|
+
: "couldn't work out the GitHub repo from your git remotes — pass --repo owner/name");
|
|
464
|
+
}
|
|
465
|
+
return repo;
|
|
466
|
+
}
|
|
467
|
+
function runPublishFlow(args, repo, action, visibility) {
|
|
468
|
+
return publish({
|
|
469
|
+
host: resolveHost(str(args.flags, "host")),
|
|
470
|
+
repo,
|
|
471
|
+
action,
|
|
472
|
+
visibility,
|
|
473
|
+
noWait: Boolean(args.flags["no-wait"]),
|
|
474
|
+
open: (url) => {
|
|
475
|
+
if (!args.flags["no-open"] && !process.env.CI)
|
|
476
|
+
openBrowser(url);
|
|
477
|
+
},
|
|
478
|
+
log: (line) => console.log(line),
|
|
479
|
+
});
|
|
480
|
+
}
|
|
398
481
|
// ── Help + dispatch ──────────────────────────────────────────────────────────
|
|
399
482
|
const HELP = `task — a task manager that lives in your repo
|
|
400
483
|
|
|
@@ -425,6 +508,16 @@ Usage
|
|
|
425
508
|
fails instead). Serves every board at or below
|
|
426
509
|
here — in a monorepo the header becomes a
|
|
427
510
|
board switcher
|
|
511
|
+
task publish [--public | --private] [--repo <owner/name>]
|
|
512
|
+
give this repo's board a URL at
|
|
513
|
+
task.nickmeriano.com, read-only, updated from
|
|
514
|
+
your default branch. Private by default —
|
|
515
|
+
*including for public repos* — so only people
|
|
516
|
+
who can see the repo can see the board. Run it
|
|
517
|
+
again with --public or --private to change that
|
|
518
|
+
task unpublish [--repo <owner/name>]
|
|
519
|
+
take that URL down. Removes the board, not the
|
|
520
|
+
tasks — those are in .task/ either way
|
|
428
521
|
|
|
429
522
|
Values
|
|
430
523
|
<id> TASK-12, or just 12
|
|
@@ -439,6 +532,7 @@ anonymous, so there is nothing to set up. \`task whoami\` shows which one won.
|
|
|
439
532
|
Every read/write command accepts --json for machine-readable output — that's
|
|
440
533
|
the interface AI agents should use.
|
|
441
534
|
`;
|
|
535
|
+
/** Sync but for `publish`, which waits on a browser — hence the union. */
|
|
442
536
|
function main() {
|
|
443
537
|
const [command, ...rest] = process.argv.slice(2);
|
|
444
538
|
const args = parseArgs(rest);
|
|
@@ -475,12 +569,18 @@ function main() {
|
|
|
475
569
|
return cmdDelete(args);
|
|
476
570
|
case "serve":
|
|
477
571
|
return cmdServe(args);
|
|
572
|
+
case "publish":
|
|
573
|
+
return cmdPublish(args);
|
|
574
|
+
case "unpublish":
|
|
575
|
+
return cmdUnpublish(args);
|
|
478
576
|
default:
|
|
479
577
|
fail(`unknown command "${command}" — run \`task help\``);
|
|
480
578
|
}
|
|
481
579
|
}
|
|
482
580
|
try {
|
|
483
|
-
|
|
581
|
+
// `publish` is the only async command; everything else has already finished
|
|
582
|
+
// by the time this returns, and its errors are caught below.
|
|
583
|
+
void Promise.resolve(main()).catch((error) => fail(error instanceof Error ? error.message : String(error)));
|
|
484
584
|
}
|
|
485
585
|
catch (error) {
|
|
486
586
|
fail(error instanceof Error ? error.message : String(error));
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `task publish` / `task unpublish` — give this repo's board a URL, or take it
|
|
3
|
+
* away.
|
|
4
|
+
*
|
|
5
|
+
* The CLI cannot install a GitHub App or sign anyone in; both are browser
|
|
6
|
+
* flows. So it does the one thing it is well placed to do — work out *which*
|
|
7
|
+
* repository you mean — opens a ticket for it, sends you to a browser, and
|
|
8
|
+
* waits. The credential it holds is a single short-lived ticket id that is good
|
|
9
|
+
* for nothing but asking "is this done yet".
|
|
10
|
+
*
|
|
11
|
+
* Both directions are the same handshake with a different verb, deliberately:
|
|
12
|
+
* taking a board down needs exactly the permission putting one up does, and one
|
|
13
|
+
* code path is one place for that check to be right.
|
|
14
|
+
*
|
|
15
|
+
* Nothing is written to `.task/` either way. The link between a repo and its
|
|
16
|
+
* board lives on the host, keyed by the GitHub remote, so there is no state to
|
|
17
|
+
* commit, no token in the repo, and re-running this from a fresh clone is the
|
|
18
|
+
* same operation as re-running it here.
|
|
19
|
+
*/
|
|
20
|
+
/** Overridable so the flow can be exercised against a local `vite dev`. */
|
|
21
|
+
export declare const DEFAULT_HOST = "https://task.nickmeriano.com";
|
|
22
|
+
export type Visibility = "private" | "public";
|
|
23
|
+
export type Action = "publish" | "unpublish";
|
|
24
|
+
export interface RepoRef {
|
|
25
|
+
owner: string;
|
|
26
|
+
repo: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The GitHub repo this working copy pushes to.
|
|
30
|
+
*
|
|
31
|
+
* `origin` first, then the only remote if there's exactly one — a clone with
|
|
32
|
+
* `upstream` and a fork remote should not silently publish the wrong one, so
|
|
33
|
+
* ambiguity is an error the user resolves with `--repo`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function detectRepo(cwd: string): RepoRef | null;
|
|
36
|
+
/**
|
|
37
|
+
* Every shape git writes a GitHub remote in: https, ssh, `git@`-scp, with or
|
|
38
|
+
* without `.git`, and with or without credentials embedded in the host.
|
|
39
|
+
*/
|
|
40
|
+
export declare function parseRemote(url: string): RepoRef | null;
|
|
41
|
+
/** `owner/repo`, for `--repo`. */
|
|
42
|
+
export declare function parseSlug(slug: string): RepoRef | null;
|
|
43
|
+
export interface PublishOptions {
|
|
44
|
+
host: string;
|
|
45
|
+
repo: RepoRef;
|
|
46
|
+
action: Action;
|
|
47
|
+
/** Ignored for `unpublish`, which has no visibility to state. */
|
|
48
|
+
visibility: Visibility | null;
|
|
49
|
+
/** Print the URL and exit instead of waiting for the browser. */
|
|
50
|
+
noWait: boolean;
|
|
51
|
+
open: (url: string) => void;
|
|
52
|
+
log: (line: string) => void;
|
|
53
|
+
}
|
|
54
|
+
export interface PublishResult {
|
|
55
|
+
boardUrl: string;
|
|
56
|
+
approvedBy: string | null;
|
|
57
|
+
visibility: Visibility | null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Runs the whole handshake. Resolves when the browser half completes; rejects
|
|
61
|
+
* with a message meant to be printed as-is.
|
|
62
|
+
*/
|
|
63
|
+
export declare function publish(options: PublishOptions): Promise<PublishResult | null>;
|
|
64
|
+
/** `TASK_HOST` exists so the flow can be pointed at a local dev server. */
|
|
65
|
+
export declare function resolveHost(flag: string | undefined): string;
|
|
66
|
+
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,2EAA2E;AAC3E,eAAO,MAAM,YAAY,iCAAiC,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;AAE7C,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,WAAW,CAAA;AAE5C,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAItD;AAqBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CASvD;AAED,kCAAkC;AAClC,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAItD;AA6BD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,iEAAiE;IACjE,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC3B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;CAC9B;AAKD;;;GAGG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA4CpF;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAG5D"}
|
package/dist/publish.js
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `task publish` / `task unpublish` — give this repo's board a URL, or take it
|
|
3
|
+
* away.
|
|
4
|
+
*
|
|
5
|
+
* The CLI cannot install a GitHub App or sign anyone in; both are browser
|
|
6
|
+
* flows. So it does the one thing it is well placed to do — work out *which*
|
|
7
|
+
* repository you mean — opens a ticket for it, sends you to a browser, and
|
|
8
|
+
* waits. The credential it holds is a single short-lived ticket id that is good
|
|
9
|
+
* for nothing but asking "is this done yet".
|
|
10
|
+
*
|
|
11
|
+
* Both directions are the same handshake with a different verb, deliberately:
|
|
12
|
+
* taking a board down needs exactly the permission putting one up does, and one
|
|
13
|
+
* code path is one place for that check to be right.
|
|
14
|
+
*
|
|
15
|
+
* Nothing is written to `.task/` either way. The link between a repo and its
|
|
16
|
+
* board lives on the host, keyed by the GitHub remote, so there is no state to
|
|
17
|
+
* commit, no token in the repo, and re-running this from a fresh clone is the
|
|
18
|
+
* same operation as re-running it here.
|
|
19
|
+
*/
|
|
20
|
+
import { execFileSync } from "node:child_process";
|
|
21
|
+
import process from "node:process";
|
|
22
|
+
/** Overridable so the flow can be exercised against a local `vite dev`. */
|
|
23
|
+
export const DEFAULT_HOST = "https://task.nickmeriano.com";
|
|
24
|
+
/**
|
|
25
|
+
* The GitHub repo this working copy pushes to.
|
|
26
|
+
*
|
|
27
|
+
* `origin` first, then the only remote if there's exactly one — a clone with
|
|
28
|
+
* `upstream` and a fork remote should not silently publish the wrong one, so
|
|
29
|
+
* ambiguity is an error the user resolves with `--repo`.
|
|
30
|
+
*/
|
|
31
|
+
export function detectRepo(cwd) {
|
|
32
|
+
const remotes = gitRemotes(cwd);
|
|
33
|
+
const url = remotes.get("origin") ?? (remotes.size === 1 ? [...remotes.values()][0] : null);
|
|
34
|
+
return url ? parseRemote(url) : null;
|
|
35
|
+
}
|
|
36
|
+
function gitRemotes(cwd) {
|
|
37
|
+
const out = new Map();
|
|
38
|
+
let raw;
|
|
39
|
+
try {
|
|
40
|
+
raw = execFileSync("git", ["remote", "-v"], {
|
|
41
|
+
cwd,
|
|
42
|
+
encoding: "utf8",
|
|
43
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return out;
|
|
48
|
+
}
|
|
49
|
+
for (const line of raw.split("\n")) {
|
|
50
|
+
const match = /^(\S+)\s+(\S+)\s+\(fetch\)$/.exec(line.trim());
|
|
51
|
+
if (match)
|
|
52
|
+
out.set(match[1], match[2]);
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Every shape git writes a GitHub remote in: https, ssh, `git@`-scp, with or
|
|
58
|
+
* without `.git`, and with or without credentials embedded in the host.
|
|
59
|
+
*/
|
|
60
|
+
export function parseRemote(url) {
|
|
61
|
+
const cleaned = url.trim().replace(/\.git$/, "");
|
|
62
|
+
const match = /^(?:https?:\/\/|ssh:\/\/)?(?:[^@/]+@)?github\.com[:/]([^/]+)\/([^/]+?)\/?$/.exec(cleaned);
|
|
63
|
+
if (!match)
|
|
64
|
+
return null;
|
|
65
|
+
const [, owner, repo] = match;
|
|
66
|
+
if (!/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})$/.test(owner))
|
|
67
|
+
return null;
|
|
68
|
+
if (!/^[A-Za-z0-9._-]{1,100}$/.test(repo))
|
|
69
|
+
return null;
|
|
70
|
+
return { owner, repo };
|
|
71
|
+
}
|
|
72
|
+
/** `owner/repo`, for `--repo`. */
|
|
73
|
+
export function parseSlug(slug) {
|
|
74
|
+
const [owner, repo, ...rest] = slug.split("/");
|
|
75
|
+
if (!owner || !repo || rest.length > 0)
|
|
76
|
+
return null;
|
|
77
|
+
return parseRemote(`https://github.com/${owner}/${repo}`);
|
|
78
|
+
}
|
|
79
|
+
async function postJson(url, body) {
|
|
80
|
+
const res = await fetch(url, {
|
|
81
|
+
method: "POST",
|
|
82
|
+
headers: { "Content-Type": "application/json" },
|
|
83
|
+
body: JSON.stringify(body),
|
|
84
|
+
});
|
|
85
|
+
const data = (await res.json().catch(() => ({})));
|
|
86
|
+
if (!res.ok)
|
|
87
|
+
throw new Error(data.error ?? `${res.status} from ${url}`);
|
|
88
|
+
return data;
|
|
89
|
+
}
|
|
90
|
+
/** Poll interval — fast enough to feel immediate, slow enough to be polite. */
|
|
91
|
+
const POLL_MS = 1500;
|
|
92
|
+
/**
|
|
93
|
+
* Runs the whole handshake. Resolves when the browser half completes; rejects
|
|
94
|
+
* with a message meant to be printed as-is.
|
|
95
|
+
*/
|
|
96
|
+
export async function publish(options) {
|
|
97
|
+
const { host, repo, action, visibility } = options;
|
|
98
|
+
const start = await postJson(`${host}/publish/start`, {
|
|
99
|
+
owner: repo.owner,
|
|
100
|
+
repo: repo.repo,
|
|
101
|
+
action,
|
|
102
|
+
visibility,
|
|
103
|
+
});
|
|
104
|
+
options.log(`Approve in your browser:\n ${start.url}`);
|
|
105
|
+
if (options.noWait)
|
|
106
|
+
return null;
|
|
107
|
+
options.open(start.url);
|
|
108
|
+
options.log("");
|
|
109
|
+
options.log("Waiting… (Ctrl-C to stop — the link above stays valid for 10 minutes)");
|
|
110
|
+
const deadline = Date.parse(start.expiresAt);
|
|
111
|
+
for (;;) {
|
|
112
|
+
await new Promise((resolve) => setTimeout(resolve, POLL_MS));
|
|
113
|
+
if (Date.now() > deadline)
|
|
114
|
+
throw new Error("that link expired — run `task publish` again");
|
|
115
|
+
let status;
|
|
116
|
+
try {
|
|
117
|
+
const res = await fetch(`${host}/publish/status?ticket=${encodeURIComponent(start.ticket)}`);
|
|
118
|
+
if (res.status === 404)
|
|
119
|
+
throw new Error("that link expired — run `task publish` again");
|
|
120
|
+
status = (await res.json());
|
|
121
|
+
}
|
|
122
|
+
catch (error) {
|
|
123
|
+
// A blip between here and the host is not a failed publish. Keep waiting
|
|
124
|
+
// until the ticket's own deadline says otherwise.
|
|
125
|
+
if (error instanceof Error && error.message.includes("expired"))
|
|
126
|
+
throw error;
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (status.status === "complete") {
|
|
130
|
+
return {
|
|
131
|
+
boardUrl: status.boardUrl,
|
|
132
|
+
approvedBy: status.approvedBy,
|
|
133
|
+
visibility: status.visibility,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
if (status.status === "denied") {
|
|
137
|
+
throw new Error(status.error ?? `${action === "unpublish" ? "unpublishing" : "publishing"} was canceled`);
|
|
138
|
+
}
|
|
139
|
+
if (status.status === "expired")
|
|
140
|
+
throw new Error("that link expired — run `task publish` again");
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** `TASK_HOST` exists so the flow can be pointed at a local dev server. */
|
|
144
|
+
export function resolveHost(flag) {
|
|
145
|
+
const host = flag ?? process.env.TASK_HOST ?? DEFAULT_HOST;
|
|
146
|
+
return host.replace(/\/+$/, "");
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nickmeriano/task",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A task manager that lives in your repo — SQLite in .task/, a zero-dependency CLI for humans and agents, and a live kanban/table UI via `task serve`.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"prepack": "pnpm build",
|
|
45
45
|
"dev": "vite ui",
|
|
46
46
|
"lint": "eslint .",
|
|
47
|
-
"
|
|
47
|
+
"test": "node --test --experimental-strip-types ui/src/*.test.ts",
|
|
48
|
+
"typecheck": "tsc --noEmit && tsc --noEmit -p ui && tsc --noEmit -p ui/tsconfig.test.json"
|
|
48
49
|
},
|
|
49
50
|
"engines": {
|
|
50
51
|
"node": ">=22.13"
|
package/skill/SKILL.md
CHANGED
|
@@ -45,6 +45,11 @@ task delete <id>
|
|
|
45
45
|
task whoami # who comments are attributed to
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
`task publish` and `task unpublish` also exist — they give the board a URL so
|
|
49
|
+
the user can read it from a phone, and take it away again. Both open a browser
|
|
50
|
+
and wait for a human, so **never run either on your own initiative**; suggest
|
|
51
|
+
`task publish` if the user wants to see the board remotely.
|
|
52
|
+
|
|
48
53
|
- `<id>` is `PREFIX-12` or just `12`.
|
|
49
54
|
- Statuses: `backlog` `todo` `in_progress` `done` `canceled`.
|
|
50
55
|
- `--tag a,b` matches a task carrying *either* tag, not both.
|