@rness/cli 0.4.0 → 0.5.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/README.md +204 -7
- package/dist/bin/rness.js +40 -2
- package/dist/bin/rness.js.map +1 -1
- package/dist/chunk-C6HBGV5V.js +4040 -0
- package/dist/chunk-C6HBGV5V.js.map +1 -0
- package/dist/index.js +23 -1
- package/package.json +4 -4
- package/scaffold/.github/dependabot.yml +12 -0
- package/scaffold/.github/workflows/validate.yml +5 -1
- package/scaffold/README.md +1 -1
- package/scaffold/WORKSPACE.md +7 -5
- package/dist/chunk-IW5IHSPC.js +0 -1740
- package/dist/chunk-IW5IHSPC.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -4,7 +4,11 @@ import {
|
|
|
4
4
|
COLLECTIONS,
|
|
5
5
|
DEFAULT_HOST,
|
|
6
6
|
END,
|
|
7
|
+
GITHUB_HOSTS,
|
|
8
|
+
GitHubOAuthProvider,
|
|
7
9
|
NAME,
|
|
10
|
+
NAME_RULE,
|
|
11
|
+
ORG_NAME,
|
|
8
12
|
PACKAGE_MANAGERS,
|
|
9
13
|
SCAFFOLD_FILES,
|
|
10
14
|
SSH_HOST,
|
|
@@ -22,15 +26,21 @@ import {
|
|
|
22
26
|
contextCommand,
|
|
23
27
|
copyScaffold,
|
|
24
28
|
createCommand,
|
|
29
|
+
defaultTerminal,
|
|
30
|
+
defaultTransport,
|
|
31
|
+
detectGithubSsh,
|
|
25
32
|
detectPackageManager,
|
|
26
33
|
ensureClaudeMd,
|
|
27
34
|
exists,
|
|
28
35
|
extractTitle,
|
|
29
36
|
findBlock,
|
|
30
37
|
findWorkspace,
|
|
38
|
+
githubProvider,
|
|
31
39
|
installDependencies,
|
|
32
40
|
isPackageManager,
|
|
33
41
|
loadManifest,
|
|
42
|
+
loginCommand,
|
|
43
|
+
logoutCommand,
|
|
34
44
|
mergeBlock,
|
|
35
45
|
packageManagerVersion,
|
|
36
46
|
parseFrontMatter,
|
|
@@ -46,18 +56,23 @@ import {
|
|
|
46
56
|
scaffoldDir,
|
|
47
57
|
scopeChain,
|
|
48
58
|
syncCommand,
|
|
59
|
+
upgradeCommand,
|
|
49
60
|
validateCommand,
|
|
50
61
|
workspaceDirs,
|
|
51
62
|
writeFileAtomic,
|
|
52
63
|
writeManifest
|
|
53
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-C6HBGV5V.js";
|
|
54
65
|
export {
|
|
55
66
|
BEGIN,
|
|
56
67
|
BLOCK_SIZE_WARNING,
|
|
57
68
|
COLLECTIONS,
|
|
58
69
|
DEFAULT_HOST,
|
|
59
70
|
END,
|
|
71
|
+
GITHUB_HOSTS,
|
|
72
|
+
GitHubOAuthProvider,
|
|
60
73
|
NAME,
|
|
74
|
+
NAME_RULE,
|
|
75
|
+
ORG_NAME,
|
|
61
76
|
PACKAGE_MANAGERS,
|
|
62
77
|
SCAFFOLD_FILES,
|
|
63
78
|
SSH_HOST,
|
|
@@ -75,15 +90,21 @@ export {
|
|
|
75
90
|
contextCommand,
|
|
76
91
|
copyScaffold,
|
|
77
92
|
createCommand,
|
|
93
|
+
defaultTerminal,
|
|
94
|
+
defaultTransport,
|
|
95
|
+
detectGithubSsh,
|
|
78
96
|
detectPackageManager,
|
|
79
97
|
ensureClaudeMd,
|
|
80
98
|
exists,
|
|
81
99
|
extractTitle,
|
|
82
100
|
findBlock,
|
|
83
101
|
findWorkspace,
|
|
102
|
+
githubProvider,
|
|
84
103
|
installDependencies,
|
|
85
104
|
isPackageManager,
|
|
86
105
|
loadManifest,
|
|
106
|
+
loginCommand,
|
|
107
|
+
logoutCommand,
|
|
87
108
|
mergeBlock,
|
|
88
109
|
packageManagerVersion,
|
|
89
110
|
parseFrontMatter,
|
|
@@ -99,6 +120,7 @@ export {
|
|
|
99
120
|
scaffoldDir,
|
|
100
121
|
scopeChain,
|
|
101
122
|
syncCommand,
|
|
123
|
+
upgradeCommand,
|
|
102
124
|
validateCommand,
|
|
103
125
|
workspaceDirs,
|
|
104
126
|
writeFileAtomic,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rness/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Configuration-plane CLI for rness workspaces: resolve, validate and sync org-level context for AI coding agents",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
"LICENSE"
|
|
28
28
|
],
|
|
29
29
|
"scripts": {
|
|
30
|
-
"test": "node --test 'test/**/*.test.ts'",
|
|
30
|
+
"test": "node --import ./test/setup.ts --test 'test/**/*.test.ts'",
|
|
31
31
|
"typecheck": "tsc --noEmit",
|
|
32
32
|
"build": "tsup",
|
|
33
33
|
"prepublishOnly": "pnpm typecheck && pnpm test && pnpm build"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@clack/prompts": "1.8.
|
|
36
|
+
"@clack/prompts": "1.8.1",
|
|
37
37
|
"commander": "15.0.0",
|
|
38
|
-
"yaml": "2.9.
|
|
38
|
+
"yaml": "2.9.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "24.13.4",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# The workspace's @rness/cli pin moves by pull request (spec 0008 §3): the diff
|
|
2
|
+
# shows the pin and the lockfile, and the validate workflow runs with the new
|
|
3
|
+
# version before anyone merges. `directory: "/"` is the repository root because
|
|
4
|
+
# this .rness repository is itself the package root.
|
|
5
|
+
version: 2
|
|
6
|
+
updates:
|
|
7
|
+
- package-ecosystem: npm
|
|
8
|
+
directory: "/"
|
|
9
|
+
schedule:
|
|
10
|
+
interval: weekly
|
|
11
|
+
allow:
|
|
12
|
+
- dependency-name: "@rness/cli"
|
|
@@ -18,4 +18,8 @@ jobs:
|
|
|
18
18
|
- uses: actions/setup-node@v4
|
|
19
19
|
with:
|
|
20
20
|
node-version: 24
|
|
21
|
-
|
|
21
|
+
# Nothing is installed in a CI checkout, and no package manager is set
|
|
22
|
+
# up: the launcher must not try to close the drift here (spec 0008 §4).
|
|
23
|
+
- run: npx --yes "@rness/cli@$(node -p "require('./package.json').devDependencies['@rness/cli']")" validate
|
|
24
|
+
env:
|
|
25
|
+
RNESS_NO_INSTALL: '1'
|
package/scaffold/README.md
CHANGED
|
@@ -13,7 +13,7 @@ specifications, plans, standards and skills, resolved per repository by the
|
|
|
13
13
|
|
|
14
14
|
npm run validate # rness validate — check this tree against the contract
|
|
15
15
|
npm run context # rness context — print the resolved context for a scope
|
|
16
|
-
npm run sync # rness sync —
|
|
16
|
+
npm run sync # rness sync — regenerate blocks (--all clones missing repositories)
|
|
17
17
|
|
|
18
18
|
The CLI is pinned in `package.json`; any `rness` you run inside the workspace
|
|
19
19
|
delegates to that copy.
|
package/scaffold/WORKSPACE.md
CHANGED
|
@@ -6,13 +6,15 @@ A rness workspace mirrors one GitHub organisation:
|
|
|
6
6
|
<org>/
|
|
7
7
|
├── AGENTS.md generated global block, not committed
|
|
8
8
|
├── .rness/ this repository — the organisation's context
|
|
9
|
-
└── org/<repo>/
|
|
10
|
-
like any other, its parts are declared as scopes
|
|
9
|
+
└── org/<repo>/ the repositories you work on, cloned; a monorepo is a
|
|
10
|
+
repository like any other, its parts are declared as scopes
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
The workspace root is never a git repository. `rness.json`
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
The workspace root is never a git repository. `rness.json` is the
|
|
14
|
+
organisation's catalogue: `repos` (every repository rness knows about — each
|
|
15
|
+
teammate clones the ones they need under `org/`, `rness sync --all` clones
|
|
16
|
+
them all) and `scopes` (where context resolves: a repository, or a directory
|
|
17
|
+
inside one, with an optional `extends`).
|
|
16
18
|
|
|
17
19
|
A scope's context is the global files of each collection plus
|
|
18
20
|
`<collection>/<scope>/**` plus everything it `extends`. `rness context
|