@rness/cli 0.4.0 → 0.5.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/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-IW5IHSPC.js";
64
+ } from "./chunk-WSGPDTPQ.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.4.0",
3
+ "version": "0.5.0",
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.0",
36
+ "@clack/prompts": "1.8.1",
37
37
  "commander": "15.0.0",
38
- "yaml": "2.9.0"
38
+ "yaml": "2.9.1"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "24.13.4",
@@ -18,4 +18,5 @@ jobs:
18
18
  - uses: actions/setup-node@v4
19
19
  with:
20
20
  node-version: 24
21
- - run: npx --yes @rness/cli@__RNESS_VERSION__ validate
21
+ # The version is written once, in package.json.
22
+ - run: npx --yes "@rness/cli@$(node -p "require('./package.json').devDependencies['@rness/cli']")" validate
@@ -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 — clone repositories, regenerate blocks
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.
@@ -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>/ one clone per repository; a monorepo is a repository
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` declares `repos`
14
- (what `rness sync` clones under `org/`) and `scopes` (where context resolves:
15
- a repository, or a directory inside one, with an optional `extends`).
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