alignfirst 0.3.1 → 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 CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  The AlignFirst CLI provides collaborative software-development workflows, work files, and documentation discovery. Work files are organized by ticket and kept either git-ignored in the project or synchronized through a work-files repository.
4
4
 
5
+ See the [product page](https://alignfirst.paroi.tech/skills) for a demonstration.
6
+
5
7
  ## Agent skills
6
8
 
7
9
  Nine Agent Skill stubs expose the CLI as commands in Claude Code, Codex, GitHub Copilot, and Cursor. Install them globally:
@@ -66,7 +68,7 @@ npm update -g alignfirst
66
68
  Temporarily install the setup-guide skill:
67
69
 
68
70
  ```sh
69
- npx skills add https://github.com/paleo/alignfirst --skill alignfirst-setup-guide
71
+ npx skills add https://github.com/paleo/alignfirst --global --skill alignfirst-setup-guide
70
72
  ```
71
73
 
72
74
  Then ask your agent:
@@ -100,7 +102,7 @@ Run `alignfirst --help` for command usage or `alignfirst guide` to choose a prot
100
102
  Install the setup-guide skill and ask your agent to run its upgrade route:
101
103
 
102
104
  ```sh
103
- npx skills add https://github.com/paleo/alignfirst --skill alignfirst-setup-guide
105
+ npx skills add https://github.com/paleo/alignfirst --global --skill alignfirst-setup-guide
104
106
  ```
105
107
 
106
108
  ```text
@@ -1,4 +1,4 @@
1
- import { main as docmapMain } from "@paleo/docmap";
1
+ import { main as docmapMain } from "@alignfirst/docmap";
2
2
  export function runDocmap(ctx, args) {
3
3
  return docmapMain({
4
4
  argv: ["node", "docmap", ...args],
@@ -92,9 +92,9 @@ function inspectDocmap(ctx) {
92
92
  }
93
93
  function readDocmapVersion() {
94
94
  const require = createRequire(import.meta.url);
95
- const pkg = require("@paleo/docmap/package.json");
95
+ const pkg = require("@alignfirst/docmap/package.json");
96
96
  if (!isRecord(pkg) || typeof pkg.version !== "string")
97
- throw new Error("@paleo/docmap package.json has no version");
97
+ throw new Error("@alignfirst/docmap package.json has no version");
98
98
  return pkg.version;
99
99
  }
100
100
  function isRecord(value) {
@@ -7,7 +7,7 @@ const MAX_FILE_BYTES = 64 * 1024;
7
7
  const MAX_OUTPUT_BYTES = 30 * 1024;
8
8
  const PLAN_FILE = /^[A-Z]\d+-(?:main-plan|plan-.*)\.md$/;
9
9
  const OMISSION_NOTICE = `Content omitted: over the ${formatSize(MAX_FILE_BYTES)} limit.`;
10
- const TOO_LARGE_NOTICE = `History too large to print (over the ${formatSize(MAX_OUTPUT_BYTES)} budget). Read the relevant files among the entries above, skipping the plans (\`*-plan.md\`, \`*-main-plan.md\`, \`*-plan-*.md\`): their \`.summary.md\` files cover them.`;
10
+ const TOO_LARGE_NOTICE = `History too large to print (over the ${formatSize(MAX_OUTPUT_BYTES)} budget). Read the relevant files among the entries above, skipping the plans (\`*-plan.md\`, \`*-main-plan.md\`, \`*-plan-*.md\`): the specs and \`.summary.md\` files provide the catch-up context.`;
11
11
  export function renderCatchup(cwd, ticket, report) {
12
12
  const files = ticket.entries.flatMap((entry) => catchupFile(cwd, ticket.dir, entry));
13
13
  if (files.length === 0)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alignfirst",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "license": "CC0-1.0",
5
5
  "author": "Thomas MUR",
6
6
  "description": "The AlignFirst CLI: protocols, work files and docs in one command.",
@@ -12,6 +12,7 @@
12
12
  "plans",
13
13
  "docmap"
14
14
  ],
15
+ "homepage": "https://alignfirst.paroi.tech/skills",
15
16
  "repository": {
16
17
  "type": "git",
17
18
  "url": "git+https://github.com/paleo/alignfirst.git",
@@ -34,7 +35,7 @@
34
35
  "access": "public"
35
36
  },
36
37
  "dependencies": {
37
- "@paleo/docmap": "~0.10.0",
38
+ "@alignfirst/docmap": "~0.11.0",
38
39
  "arktype": "^2.2.3",
39
40
  "semver": "^7.8.5"
40
41
  },
@@ -1,5 +1,17 @@
1
1
  # AlignFirst Protocols
2
2
 
3
- `{{CMD}} guide <protocol>` prints a collaborative protocol to follow when the user names AlignFirst or a protocol alias. A guide already in context is not reloaded. Each named guide includes the ticket directory and work file rules; `--protocol-only` omits them when they are already in context.
3
+ When the user names AlignFirst with one of these protocols, or uses a protocol alias, run `{{CMD}} guide <protocol>` and follow it. Do not reload a guide already in context. Each guide includes the ticket directory and work file rules; use `--protocol-only` when those rules are already in context.
4
4
 
5
- Aliases: `alspec` → `spec`, `alplan` → `plan`, `al` or `AAD` → `aad`, `almerge` → `merge`, `alreview` → `review`, `aldescription` → `description`. `alcatchup` stands for `{{CMD}} ticket --catchup` followed by the user's instructions; `alcatchupaad` and `alcatchupspec` run it before the `aad` or `spec` protocol.
5
+ Protocols and aliases:
6
+
7
+ - `spec` (`alspec`)
8
+ - `plan` (`alplan`)
9
+ - `aad` (`AAD`, `al`)
10
+ - `merge` (`almerge`)
11
+ - `review` (`alreview`)
12
+ - `description` (`aldescription`)
13
+
14
+ Catch-up workflows and aliases:
15
+
16
+ - Catch up (`alcatchup`) — run `{{CMD}} ticket --catchup`.
17
+ - Catch up, then `aad` (`alcatchupaad`) or `spec` (`alcatchupspec`) — run `{{CMD}} ticket --catchup`, then follow the selected protocol.