@unlimitechcloud/devlink 1.0.2

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.
Files changed (186) hide show
  1. package/AGENTS.md +880 -0
  2. package/LICENSE +21 -0
  3. package/README.md +335 -0
  4. package/dist/__tests__/e2e.spec.d.ts +8 -0
  5. package/dist/__tests__/e2e.spec.d.ts.map +1 -0
  6. package/dist/__tests__/e2e.spec.js +253 -0
  7. package/dist/__tests__/e2e.spec.js.map +1 -0
  8. package/dist/__tests__/integration.spec.d.ts +8 -0
  9. package/dist/__tests__/integration.spec.d.ts.map +1 -0
  10. package/dist/__tests__/integration.spec.js +274 -0
  11. package/dist/__tests__/integration.spec.js.map +1 -0
  12. package/dist/cli.d.ts +6 -0
  13. package/dist/cli.d.ts.map +1 -0
  14. package/dist/cli.js +610 -0
  15. package/dist/cli.js.map +1 -0
  16. package/dist/commands/consumers.d.ts +37 -0
  17. package/dist/commands/consumers.d.ts.map +1 -0
  18. package/dist/commands/consumers.js +107 -0
  19. package/dist/commands/consumers.js.map +1 -0
  20. package/dist/commands/docs.d.ts +59 -0
  21. package/dist/commands/docs.d.ts.map +1 -0
  22. package/dist/commands/docs.js +262 -0
  23. package/dist/commands/docs.js.map +1 -0
  24. package/dist/commands/docs.spec.d.ts +5 -0
  25. package/dist/commands/docs.spec.d.ts.map +1 -0
  26. package/dist/commands/docs.spec.js +213 -0
  27. package/dist/commands/docs.spec.js.map +1 -0
  28. package/dist/commands/index.d.ts +13 -0
  29. package/dist/commands/index.d.ts.map +1 -0
  30. package/dist/commands/index.js +13 -0
  31. package/dist/commands/index.js.map +1 -0
  32. package/dist/commands/install.d.ts +31 -0
  33. package/dist/commands/install.d.ts.map +1 -0
  34. package/dist/commands/install.js +234 -0
  35. package/dist/commands/install.js.map +1 -0
  36. package/dist/commands/list.d.ts +22 -0
  37. package/dist/commands/list.d.ts.map +1 -0
  38. package/dist/commands/list.js +45 -0
  39. package/dist/commands/list.js.map +1 -0
  40. package/dist/commands/list.spec.d.ts +5 -0
  41. package/dist/commands/list.spec.d.ts.map +1 -0
  42. package/dist/commands/list.spec.js +95 -0
  43. package/dist/commands/list.spec.js.map +1 -0
  44. package/dist/commands/prune.d.ts +27 -0
  45. package/dist/commands/prune.d.ts.map +1 -0
  46. package/dist/commands/prune.js +74 -0
  47. package/dist/commands/prune.js.map +1 -0
  48. package/dist/commands/publish.d.ts +16 -0
  49. package/dist/commands/publish.d.ts.map +1 -0
  50. package/dist/commands/publish.js +225 -0
  51. package/dist/commands/publish.js.map +1 -0
  52. package/dist/commands/publish.spec.d.ts +5 -0
  53. package/dist/commands/publish.spec.d.ts.map +1 -0
  54. package/dist/commands/publish.spec.js +98 -0
  55. package/dist/commands/publish.spec.js.map +1 -0
  56. package/dist/commands/push.d.ts +16 -0
  57. package/dist/commands/push.d.ts.map +1 -0
  58. package/dist/commands/push.js +164 -0
  59. package/dist/commands/push.js.map +1 -0
  60. package/dist/commands/remove.d.ts +24 -0
  61. package/dist/commands/remove.d.ts.map +1 -0
  62. package/dist/commands/remove.js +80 -0
  63. package/dist/commands/remove.js.map +1 -0
  64. package/dist/commands/remove.spec.d.ts +5 -0
  65. package/dist/commands/remove.spec.d.ts.map +1 -0
  66. package/dist/commands/remove.spec.js +87 -0
  67. package/dist/commands/remove.spec.js.map +1 -0
  68. package/dist/commands/resolve.d.ts +20 -0
  69. package/dist/commands/resolve.d.ts.map +1 -0
  70. package/dist/commands/resolve.js +52 -0
  71. package/dist/commands/resolve.js.map +1 -0
  72. package/dist/commands/resolve.spec.d.ts +5 -0
  73. package/dist/commands/resolve.spec.d.ts.map +1 -0
  74. package/dist/commands/resolve.spec.js +87 -0
  75. package/dist/commands/resolve.spec.js.map +1 -0
  76. package/dist/commands/verify.d.ts +32 -0
  77. package/dist/commands/verify.d.ts.map +1 -0
  78. package/dist/commands/verify.js +127 -0
  79. package/dist/commands/verify.js.map +1 -0
  80. package/dist/config.d.ts +22 -0
  81. package/dist/config.d.ts.map +1 -0
  82. package/dist/config.js +70 -0
  83. package/dist/config.js.map +1 -0
  84. package/dist/constants.d.ts +65 -0
  85. package/dist/constants.d.ts.map +1 -0
  86. package/dist/constants.js +116 -0
  87. package/dist/constants.js.map +1 -0
  88. package/dist/constants.spec.d.ts +5 -0
  89. package/dist/constants.spec.d.ts.map +1 -0
  90. package/dist/constants.spec.js +72 -0
  91. package/dist/constants.spec.js.map +1 -0
  92. package/dist/core/index.d.ts +9 -0
  93. package/dist/core/index.d.ts.map +1 -0
  94. package/dist/core/index.js +9 -0
  95. package/dist/core/index.js.map +1 -0
  96. package/dist/core/installations.d.ts +79 -0
  97. package/dist/core/installations.d.ts.map +1 -0
  98. package/dist/core/installations.js +207 -0
  99. package/dist/core/installations.js.map +1 -0
  100. package/dist/core/installations.spec.d.ts +5 -0
  101. package/dist/core/installations.spec.d.ts.map +1 -0
  102. package/dist/core/installations.spec.js +261 -0
  103. package/dist/core/installations.spec.js.map +1 -0
  104. package/dist/core/lock.d.ts +37 -0
  105. package/dist/core/lock.d.ts.map +1 -0
  106. package/dist/core/lock.js +198 -0
  107. package/dist/core/lock.js.map +1 -0
  108. package/dist/core/lock.spec.d.ts +5 -0
  109. package/dist/core/lock.spec.d.ts.map +1 -0
  110. package/dist/core/lock.spec.js +161 -0
  111. package/dist/core/lock.spec.js.map +1 -0
  112. package/dist/core/registry.d.ts +80 -0
  113. package/dist/core/registry.d.ts.map +1 -0
  114. package/dist/core/registry.js +231 -0
  115. package/dist/core/registry.js.map +1 -0
  116. package/dist/core/registry.spec.d.ts +5 -0
  117. package/dist/core/registry.spec.d.ts.map +1 -0
  118. package/dist/core/registry.spec.js +281 -0
  119. package/dist/core/registry.spec.js.map +1 -0
  120. package/dist/core/resolver.d.ts +55 -0
  121. package/dist/core/resolver.d.ts.map +1 -0
  122. package/dist/core/resolver.js +127 -0
  123. package/dist/core/resolver.js.map +1 -0
  124. package/dist/core/resolver.spec.d.ts +5 -0
  125. package/dist/core/resolver.spec.d.ts.map +1 -0
  126. package/dist/core/resolver.spec.js +202 -0
  127. package/dist/core/resolver.spec.js.map +1 -0
  128. package/dist/core/store.d.ts +65 -0
  129. package/dist/core/store.d.ts.map +1 -0
  130. package/dist/core/store.js +245 -0
  131. package/dist/core/store.js.map +1 -0
  132. package/dist/core/store.spec.d.ts +5 -0
  133. package/dist/core/store.spec.d.ts.map +1 -0
  134. package/dist/core/store.spec.js +195 -0
  135. package/dist/core/store.spec.js.map +1 -0
  136. package/dist/formatters/flat.d.ts +41 -0
  137. package/dist/formatters/flat.d.ts.map +1 -0
  138. package/dist/formatters/flat.js +131 -0
  139. package/dist/formatters/flat.js.map +1 -0
  140. package/dist/formatters/flat.spec.d.ts +5 -0
  141. package/dist/formatters/flat.spec.d.ts.map +1 -0
  142. package/dist/formatters/flat.spec.js +130 -0
  143. package/dist/formatters/flat.spec.js.map +1 -0
  144. package/dist/formatters/index.d.ts +6 -0
  145. package/dist/formatters/index.d.ts.map +1 -0
  146. package/dist/formatters/index.js +6 -0
  147. package/dist/formatters/index.js.map +1 -0
  148. package/dist/formatters/tree.d.ts +29 -0
  149. package/dist/formatters/tree.d.ts.map +1 -0
  150. package/dist/formatters/tree.js +256 -0
  151. package/dist/formatters/tree.js.map +1 -0
  152. package/dist/formatters/tree.spec.d.ts +5 -0
  153. package/dist/formatters/tree.spec.d.ts.map +1 -0
  154. package/dist/formatters/tree.spec.js +127 -0
  155. package/dist/formatters/tree.spec.js.map +1 -0
  156. package/dist/index.d.ts +11 -0
  157. package/dist/index.d.ts.map +1 -0
  158. package/dist/index.js +13 -0
  159. package/dist/index.js.map +1 -0
  160. package/dist/installer.d.ts +13 -0
  161. package/dist/installer.d.ts.map +1 -0
  162. package/dist/installer.js +171 -0
  163. package/dist/installer.js.map +1 -0
  164. package/dist/store.d.ts +78 -0
  165. package/dist/store.d.ts.map +1 -0
  166. package/dist/store.js +344 -0
  167. package/dist/store.js.map +1 -0
  168. package/dist/types.d.ts +235 -0
  169. package/dist/types.d.ts.map +1 -0
  170. package/dist/types.js +5 -0
  171. package/dist/types.js.map +1 -0
  172. package/docs/README.md +68 -0
  173. package/docs/inspection/consumers.md +178 -0
  174. package/docs/inspection/list.md +182 -0
  175. package/docs/inspection/resolve.md +172 -0
  176. package/docs/installation/configuration.md +238 -0
  177. package/docs/installation/install.md +184 -0
  178. package/docs/maintenance/prune.md +159 -0
  179. package/docs/maintenance/remove.md +174 -0
  180. package/docs/maintenance/verify.md +174 -0
  181. package/docs/publishing/publish.md +146 -0
  182. package/docs/publishing/push.md +146 -0
  183. package/docs/store/locking.md +118 -0
  184. package/docs/store/namespaces.md +141 -0
  185. package/docs/store/structure.md +163 -0
  186. package/package.json +58 -0
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Types - Definiciones de tipos para DevLink
3
+ */
4
+ /**
5
+ * Registry principal del store
6
+ */
7
+ export interface Registry {
8
+ version: string;
9
+ namespaces: Record<string, NamespaceEntry>;
10
+ }
11
+ /**
12
+ * Entrada de un namespace en el registry
13
+ */
14
+ export interface NamespaceEntry {
15
+ created: string;
16
+ packages: Record<string, PackageEntry>;
17
+ }
18
+ /**
19
+ * Entrada de un paquete en el registry
20
+ */
21
+ export interface PackageEntry {
22
+ versions: Record<string, VersionEntry>;
23
+ }
24
+ /**
25
+ * Entrada de una versión en el registry
26
+ */
27
+ export interface VersionEntry {
28
+ signature: string;
29
+ published: string;
30
+ files: number;
31
+ }
32
+ /**
33
+ * Tracking de instalaciones
34
+ */
35
+ export interface Installations {
36
+ version: string;
37
+ projects: Record<string, ProjectEntry>;
38
+ }
39
+ /**
40
+ * Entrada de un proyecto en installations
41
+ */
42
+ export interface ProjectEntry {
43
+ registered: string;
44
+ packages: Record<string, InstalledPackage>;
45
+ }
46
+ /**
47
+ * Información de un paquete instalado en un proyecto
48
+ */
49
+ export interface InstalledPackage {
50
+ version: string;
51
+ namespace: string;
52
+ signature: string;
53
+ installedAt: string;
54
+ }
55
+ /**
56
+ * Información del lock file
57
+ */
58
+ export interface LockInfo {
59
+ pid: number;
60
+ acquired: string;
61
+ command: string;
62
+ }
63
+ /**
64
+ * Opciones para adquirir lock
65
+ */
66
+ export interface LockOptions {
67
+ timeout: number;
68
+ retryInterval: number;
69
+ stale: number;
70
+ }
71
+ /**
72
+ * Handle de un lock adquirido
73
+ */
74
+ export interface LockHandle {
75
+ fd: number;
76
+ release: () => Promise<void>;
77
+ }
78
+ /**
79
+ * Resultado de resolución de un paquete
80
+ */
81
+ export interface ResolutionResult {
82
+ package: string;
83
+ version: string;
84
+ found: boolean;
85
+ namespace?: string;
86
+ path?: string;
87
+ signature?: string;
88
+ searchedNamespaces: string[];
89
+ }
90
+ /**
91
+ * Contexto disponible para las factories
92
+ */
93
+ export interface FactoryContext {
94
+ env: NodeJS.ProcessEnv;
95
+ args: string[];
96
+ cwd: string;
97
+ packages: Record<string, PackageVersions>;
98
+ }
99
+ /**
100
+ * Versiones por modo para un paquete
101
+ */
102
+ export interface PackageVersions {
103
+ dev?: string;
104
+ prod?: string;
105
+ }
106
+ /**
107
+ * Información de un paquete resuelto para instalación
108
+ */
109
+ export interface ResolvedPackage {
110
+ name: string;
111
+ version: string;
112
+ qname: string;
113
+ namespace?: string;
114
+ path?: string;
115
+ signature?: string;
116
+ }
117
+ /**
118
+ * Configuración de modo retornada por factory
119
+ */
120
+ export interface ModeConfig {
121
+ manager: "store" | "npm";
122
+ namespaces?: string[];
123
+ args?: string[];
124
+ /** @deprecated Use namespaces instead */
125
+ storeFolder?: string;
126
+ beforeAll?: () => Promise<void> | void;
127
+ afterAll?: () => Promise<void> | void;
128
+ beforeEach?: (pkg: ResolvedPackage) => Promise<void> | void;
129
+ afterEach?: (pkg: ResolvedPackage) => Promise<void> | void;
130
+ }
131
+ /**
132
+ * Factory de modo
133
+ */
134
+ export type ModeFactory = (ctx: FactoryContext) => ModeConfig;
135
+ /**
136
+ * Configuración completa del archivo devlink.config.mjs
137
+ */
138
+ export interface DevLinkConfig {
139
+ packages: Record<string, PackageVersions>;
140
+ dev: ModeFactory;
141
+ prod: ModeFactory;
142
+ detectMode?: (ctx: FactoryContext) => "dev" | "prod";
143
+ }
144
+ /**
145
+ * Manifest de un paquete (package.json)
146
+ */
147
+ export interface PackageManifest {
148
+ name: string;
149
+ version: string;
150
+ private?: boolean;
151
+ files?: string[];
152
+ main?: string;
153
+ bin?: string | Record<string, string>;
154
+ dependencies?: Record<string, string>;
155
+ devDependencies?: Record<string, string>;
156
+ peerDependencies?: Record<string, string>;
157
+ scripts?: Record<string, string>;
158
+ }
159
+ /**
160
+ * Información de un paquete publicado
161
+ */
162
+ export interface StoredPackage {
163
+ name: string;
164
+ version: string;
165
+ namespace: string;
166
+ signature: string;
167
+ path: string;
168
+ files: number;
169
+ }
170
+ /**
171
+ * Resultado de publicación
172
+ */
173
+ export interface PublishResult {
174
+ name: string;
175
+ version: string;
176
+ namespace: string;
177
+ signature: string;
178
+ path: string;
179
+ files: number;
180
+ }
181
+ /**
182
+ * Resultado de push
183
+ */
184
+ export interface PushResult extends PublishResult {
185
+ updatedProjects: string[];
186
+ skippedProjects: string[];
187
+ }
188
+ /**
189
+ * Entrada en el lockfile del proyecto
190
+ */
191
+ export interface LockfileEntry {
192
+ version: string;
193
+ signature: string;
194
+ namespace?: string;
195
+ }
196
+ /**
197
+ * Lockfile de un proyecto cliente
198
+ */
199
+ export interface Lockfile {
200
+ packages: Record<string, LockfileEntry>;
201
+ }
202
+ /**
203
+ * Argumentos parseados del CLI
204
+ */
205
+ export interface ParsedArgs {
206
+ command: string;
207
+ positional: string[];
208
+ flags: {
209
+ namespace?: string;
210
+ namespaces?: string[];
211
+ packages?: string[];
212
+ flat?: boolean;
213
+ fix?: boolean;
214
+ dryRun?: boolean;
215
+ dev?: boolean;
216
+ prod?: boolean;
217
+ prune?: boolean;
218
+ all?: boolean;
219
+ help?: boolean;
220
+ };
221
+ }
222
+ /**
223
+ * Consumer info para comando consumers
224
+ */
225
+ export interface ConsumerInfo {
226
+ projectPath: string;
227
+ registered: string;
228
+ packages: {
229
+ name: string;
230
+ version: string;
231
+ namespace: string;
232
+ signature: string;
233
+ }[];
234
+ }
235
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Types - Definiciones de tipos para DevLink
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/docs/README.md ADDED
@@ -0,0 +1,68 @@
1
+ # DevLink Documentation
2
+
3
+ Complete documentation for DevLink v2 - Local package development tool with namespaces.
4
+
5
+ ## Documentation Index
6
+
7
+ ### Getting Started
8
+ - [Quick Start](../README.md) - Installation and basic usage
9
+ - [Configuration](installation/configuration.md) - Project configuration with devlink.config.mjs
10
+
11
+ ### Store & Repository
12
+ - [Store Structure](store/structure.md) - How the DevLink store is organized
13
+ - [Namespaces](store/namespaces.md) - Isolated package contexts
14
+ - [File Locking](store/locking.md) - Concurrency and serialization
15
+
16
+ ### Publishing Packages
17
+ - [Publish Command](publishing/publish.md) - Publishing packages to the store
18
+ - [Push Command](publishing/push.md) - Publishing and updating consumers
19
+
20
+ ### Installing Packages
21
+ - [Install Command](installation/install.md) - Installing packages from the store
22
+ - [Configuration](installation/configuration.md) - devlink.config.mjs reference
23
+
24
+ ### Inspecting the Store
25
+ - [List Command](inspection/list.md) - Listing packages in the store
26
+ - [Resolve Command](inspection/resolve.md) - Debugging package resolution
27
+ - [Consumers Command](inspection/consumers.md) - Tracking consumer projects
28
+
29
+ ### Maintenance
30
+ - [Remove Command](maintenance/remove.md) - Removing packages and namespaces
31
+ - [Verify Command](maintenance/verify.md) - Verifying store integrity
32
+ - [Prune Command](maintenance/prune.md) - Cleaning up orphaned packages
33
+
34
+ ### Technical Reference
35
+ - [Design Document](DESIGN-namespaces.md) - Technical design and architecture
36
+ - [Agent Guide](../AGENTS.md) - Comprehensive guide for AI agents
37
+
38
+ ## Quick Reference
39
+
40
+ ### Global Options
41
+
42
+ All commands support these options:
43
+
44
+ | Option | Description |
45
+ |--------|-------------|
46
+ | `--repo <path>` | Use custom repo path instead of `~/.devlink` |
47
+ | `-h, --help` | Show help |
48
+ | `-v, --version` | Show version |
49
+
50
+ ### Environment Variables
51
+
52
+ | Variable | Description |
53
+ |----------|-------------|
54
+ | `DEVLINK_REPO` | Custom repo path (alternative to `--repo`) |
55
+
56
+ ### Commands Overview
57
+
58
+ | Command | Description | Requires Lock |
59
+ |---------|-------------|---------------|
60
+ | `publish` | Publish package to store | ✓ |
61
+ | `push` | Publish and update consumers | ✓ |
62
+ | `install` | Install packages from store | ✓ |
63
+ | `list` | List packages in store | ✗ |
64
+ | `resolve` | Debug package resolution | ✗ |
65
+ | `consumers` | List consumer projects | ✗ |
66
+ | `remove` | Remove packages/namespaces | ✓ |
67
+ | `verify` | Verify store integrity | ✗/✓ |
68
+ | `prune` | Remove orphaned packages | ✓ |
@@ -0,0 +1,178 @@
1
+ # Consumers Command
2
+
3
+ Lists projects that have installed packages from the DevLink store.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ devlink consumers [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ | Option | Description |
14
+ |--------|-------------|
15
+ | `-p, --package <name>` | Filter by package name |
16
+ | `-n, --namespace <name>` | Filter by namespace |
17
+ | `--prune` | Remove projects that no longer exist |
18
+ | `--flat` | Use flat output format |
19
+ | `--repo <path>` | Use custom repo path |
20
+
21
+ ## Description
22
+
23
+ The `consumers` command shows which projects have installed packages from the store. This information is tracked in `installations.json` and is used by the `push` command to update consumers.
24
+
25
+ ## Examples
26
+
27
+ ### List All Consumers
28
+
29
+ ```bash
30
+ devlink consumers
31
+ ```
32
+
33
+ Output:
34
+ ```
35
+ 📦 Consumer Projects
36
+
37
+ /home/user/project-a
38
+ ├── @scope/core@1.0.0 (global)
39
+ ├── @scope/utils@1.0.0 (global)
40
+ └── Registered: 2026-02-12T10:00:00Z
41
+
42
+ /home/user/project-b
43
+ ├── @scope/core@1.0.0 (feature-v2)
44
+ └── Registered: 2026-02-12T11:00:00Z
45
+
46
+ Total: 2 projects, 3 installations
47
+ ```
48
+
49
+ ### Filter by Package
50
+
51
+ ```bash
52
+ devlink consumers -p @scope/core
53
+ ```
54
+
55
+ Shows only projects that have installed `@scope/core`.
56
+
57
+ ### Filter by Namespace
58
+
59
+ ```bash
60
+ devlink consumers -n feature-v2
61
+ ```
62
+
63
+ Shows only projects using packages from the `feature-v2` namespace.
64
+
65
+ ### Flat Output
66
+
67
+ ```bash
68
+ devlink consumers --flat
69
+ ```
70
+
71
+ Output:
72
+ ```
73
+ /home/user/project-a @scope/core@1.0.0 global
74
+ /home/user/project-a @scope/utils@1.0.0 global
75
+ /home/user/project-b @scope/core@1.0.0 feature-v2
76
+ ```
77
+
78
+ ### Prune Dead Projects
79
+
80
+ Remove projects that no longer exist on disk:
81
+
82
+ ```bash
83
+ devlink consumers --prune
84
+ ```
85
+
86
+ Output:
87
+ ```
88
+ 🧹 Pruning dead projects...
89
+
90
+ Removed: /home/user/deleted-project
91
+ - @scope/core@1.0.0 (global)
92
+
93
+ Pruned 1 project(s)
94
+ ```
95
+
96
+ ## Consumer Tracking
97
+
98
+ Projects become consumers when they run `devlink install`. The installation is recorded with:
99
+
100
+ - Project path
101
+ - Installed packages
102
+ - Package versions
103
+ - Source namespaces
104
+ - Package signatures
105
+ - Installation timestamp
106
+
107
+ ## Use Cases
108
+
109
+ ### Before Publishing Breaking Changes
110
+
111
+ Check who would be affected:
112
+
113
+ ```bash
114
+ devlink consumers -p @scope/core
115
+ ```
116
+
117
+ ### Verify Push Targets
118
+
119
+ See which projects will be updated by `push`:
120
+
121
+ ```bash
122
+ # Publish to feature-v2
123
+ devlink publish -n feature-v2
124
+
125
+ # Check who uses feature-v2
126
+ devlink consumers -n feature-v2
127
+ ```
128
+
129
+ ### Clean Up Stale Data
130
+
131
+ Remove references to deleted projects:
132
+
133
+ ```bash
134
+ devlink consumers --prune
135
+ ```
136
+
137
+ ### Audit Package Usage
138
+
139
+ See all projects using a specific package:
140
+
141
+ ```bash
142
+ devlink consumers -p @scope/core --flat | wc -l
143
+ ```
144
+
145
+ ## Data Location
146
+
147
+ Consumer data is stored in `~/.devlink/installations.json`:
148
+
149
+ ```json
150
+ {
151
+ "version": "1.0.0",
152
+ "projects": {
153
+ "/home/user/project-a": {
154
+ "registered": "2026-02-12T10:00:00Z",
155
+ "packages": {
156
+ "@scope/core": {
157
+ "version": "1.0.0",
158
+ "namespace": "global",
159
+ "signature": "6761ca1f...",
160
+ "installedAt": "2026-02-12T10:05:00Z"
161
+ }
162
+ }
163
+ }
164
+ }
165
+ }
166
+ ```
167
+
168
+ ## Notes
169
+
170
+ - The `--prune` flag requires a lock (modifies `installations.json`)
171
+ - Projects are automatically registered during `devlink install`
172
+ - Projects are not automatically unregistered when deleted
173
+
174
+ ## See Also
175
+
176
+ - [Push Command](../publishing/push.md) - How push uses consumer data
177
+ - [Install Command](../installation/install.md) - How projects become consumers
178
+ - [Store Structure](../store/structure.md) - Where consumer data is stored
@@ -0,0 +1,182 @@
1
+ # List Command
2
+
3
+ Lists packages in the DevLink store.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ devlink list [options]
9
+ ```
10
+
11
+ ## Options
12
+
13
+ | Option | Description |
14
+ |--------|-------------|
15
+ | `-n, --namespaces <list>` | Filter by namespaces (comma-separated) |
16
+ | `-p, --packages [list]` | Group by package, optionally filter |
17
+ | `--flat` | Use flat output format (default: tree) |
18
+ | `--repo <path>` | Use custom repo path |
19
+
20
+ ## Output Formats
21
+
22
+ ### Tree Format (Default)
23
+
24
+ Hierarchical view with visual tree structure:
25
+
26
+ ```bash
27
+ devlink list
28
+ ```
29
+
30
+ ```
31
+ 📦 DevLink Store
32
+
33
+ global/
34
+ ├── @scope/
35
+ │ ├── core/
36
+ │ │ ├── 1.0.0 (6761ca1f)
37
+ │ │ └── 2.0.0 (a1b2c3d4)
38
+ │ └── utils/
39
+ │ └── 1.0.0 (b2c3d4e5)
40
+ └── simple-pkg/
41
+ └── 1.0.0 (c3d4e5f6)
42
+
43
+ feature-v2/
44
+ └── @scope/
45
+ └── core/
46
+ └── 1.0.0 (different1)
47
+ ```
48
+
49
+ ### Flat Format
50
+
51
+ One line per package, suitable for scripting:
52
+
53
+ ```bash
54
+ devlink list --flat
55
+ ```
56
+
57
+ ```
58
+ global @scope/core@1.0.0 6761ca1f
59
+ global @scope/core@2.0.0 a1b2c3d4
60
+ global @scope/utils@1.0.0 b2c3d4e5
61
+ global simple-pkg@1.0.0 c3d4e5f6
62
+ feature-v2 @scope/core@1.0.0 different1
63
+ ```
64
+
65
+ ## Grouping
66
+
67
+ ### By Namespace (Default)
68
+
69
+ Packages grouped under their namespace:
70
+
71
+ ```bash
72
+ devlink list
73
+ ```
74
+
75
+ ### By Package
76
+
77
+ Packages grouped by name, showing which namespaces contain them:
78
+
79
+ ```bash
80
+ devlink list -p
81
+ ```
82
+
83
+ ```
84
+ 📦 DevLink Store (by package)
85
+
86
+ @scope/
87
+ ├── core/
88
+ │ ├── global/
89
+ │ │ ├── 1.0.0 (6761ca1f)
90
+ │ │ └── 2.0.0 (a1b2c3d4)
91
+ │ └── feature-v2/
92
+ │ └── 1.0.0 (different1)
93
+ └── utils/
94
+ └── global/
95
+ └── 1.0.0 (b2c3d4e5)
96
+ ```
97
+
98
+ ## Filtering
99
+
100
+ ### Filter by Namespace
101
+
102
+ ```bash
103
+ # Single namespace
104
+ devlink list -n global
105
+
106
+ # Multiple namespaces
107
+ devlink list -n global,feature-v2
108
+ ```
109
+
110
+ ### Filter by Package
111
+
112
+ ```bash
113
+ # Specific packages
114
+ devlink list -p @scope/core,@scope/utils
115
+
116
+ # By scope (all packages in scope)
117
+ devlink list -p @scope
118
+ ```
119
+
120
+ ### Combined Filters
121
+
122
+ ```bash
123
+ # Packages in specific namespace
124
+ devlink list -n global -p @scope/core
125
+ ```
126
+
127
+ ## Examples
128
+
129
+ ### List Everything
130
+
131
+ ```bash
132
+ devlink list
133
+ ```
134
+
135
+ ### List Only Global Namespace
136
+
137
+ ```bash
138
+ devlink list -n global
139
+ ```
140
+
141
+ ### List Packages by a Scope
142
+
143
+ ```bash
144
+ devlink list -p @myorg
145
+ ```
146
+
147
+ ### Flat Output for Scripting
148
+
149
+ ```bash
150
+ # Count packages
151
+ devlink list --flat | wc -l
152
+
153
+ # Find specific package
154
+ devlink list --flat | grep "@scope/core"
155
+
156
+ # List all versions of a package
157
+ devlink list --flat | grep "@scope/core@"
158
+ ```
159
+
160
+ ### Compare Namespaces
161
+
162
+ ```bash
163
+ # See what's in feature branch vs global
164
+ devlink list -n feature-v2
165
+ devlink list -n global
166
+ ```
167
+
168
+ ## Empty Store
169
+
170
+ If the store is empty or has no packages:
171
+
172
+ ```
173
+ 📦 DevLink Store
174
+
175
+ └── global/
176
+ ```
177
+
178
+ ## See Also
179
+
180
+ - [Resolve Command](resolve.md) - Debug package resolution
181
+ - [Store Structure](../store/structure.md) - Understanding the store layout
182
+ - [Namespaces](../store/namespaces.md) - Understanding namespaces