@reumbra/forge 0.1.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.
Files changed (63) hide show
  1. package/README.md +165 -0
  2. package/bin/forge.js +2 -0
  3. package/dist/cli.d.ts +2 -0
  4. package/dist/cli.js +225 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/commands/activate.d.ts +1 -0
  7. package/dist/commands/activate.js +55 -0
  8. package/dist/commands/activate.js.map +1 -0
  9. package/dist/commands/config.d.ts +1 -0
  10. package/dist/commands/config.js +35 -0
  11. package/dist/commands/config.js.map +1 -0
  12. package/dist/commands/dashboard.d.ts +1 -0
  13. package/dist/commands/dashboard.js +171 -0
  14. package/dist/commands/dashboard.js.map +1 -0
  15. package/dist/commands/deactivate.d.ts +1 -0
  16. package/dist/commands/deactivate.js +33 -0
  17. package/dist/commands/deactivate.js.map +1 -0
  18. package/dist/commands/doctor.d.ts +5 -0
  19. package/dist/commands/doctor.js +156 -0
  20. package/dist/commands/doctor.js.map +1 -0
  21. package/dist/commands/install.d.ts +1 -0
  22. package/dist/commands/install.js +94 -0
  23. package/dist/commands/install.js.map +1 -0
  24. package/dist/commands/list.d.ts +1 -0
  25. package/dist/commands/list.js +46 -0
  26. package/dist/commands/list.js.map +1 -0
  27. package/dist/commands/status.d.ts +1 -0
  28. package/dist/commands/status.js +75 -0
  29. package/dist/commands/status.js.map +1 -0
  30. package/dist/commands/uninstall.d.ts +1 -0
  31. package/dist/commands/uninstall.js +31 -0
  32. package/dist/commands/uninstall.js.map +1 -0
  33. package/dist/commands/update.d.ts +1 -0
  34. package/dist/commands/update.js +30 -0
  35. package/dist/commands/update.js.map +1 -0
  36. package/dist/lib/api.d.ts +17 -0
  37. package/dist/lib/api.js +53 -0
  38. package/dist/lib/api.js.map +1 -0
  39. package/dist/lib/config.d.ts +4 -0
  40. package/dist/lib/config.js +40 -0
  41. package/dist/lib/config.js.map +1 -0
  42. package/dist/lib/logger.d.ts +11 -0
  43. package/dist/lib/logger.js +40 -0
  44. package/dist/lib/logger.js.map +1 -0
  45. package/dist/lib/machine-id.d.ts +5 -0
  46. package/dist/lib/machine-id.js +11 -0
  47. package/dist/lib/machine-id.js.map +1 -0
  48. package/dist/lib/paths.d.ts +8 -0
  49. package/dist/lib/paths.js +13 -0
  50. package/dist/lib/paths.js.map +1 -0
  51. package/dist/lib/styles.d.ts +32 -0
  52. package/dist/lib/styles.js +50 -0
  53. package/dist/lib/styles.js.map +1 -0
  54. package/dist/lib/ui.d.ts +22 -0
  55. package/dist/lib/ui.js +131 -0
  56. package/dist/lib/ui.js.map +1 -0
  57. package/dist/lib/zip.d.ts +6 -0
  58. package/dist/lib/zip.js +56 -0
  59. package/dist/lib/zip.js.map +1 -0
  60. package/dist/types.d.ts +61 -0
  61. package/dist/types.js +2 -0
  62. package/dist/types.js.map +1 -0
  63. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/lib/zip.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ export interface ForgeConfig {
2
+ license_key: string | null;
3
+ machine_id: string;
4
+ api_url: string;
5
+ installed_plugins: Record<string, InstalledPlugin>;
6
+ }
7
+ export interface InstalledPlugin {
8
+ version: string;
9
+ installed_at: string;
10
+ }
11
+ export interface ApiError {
12
+ error: string;
13
+ message: string;
14
+ }
15
+ export interface ActivateResponse {
16
+ success: boolean;
17
+ license: {
18
+ plan: string;
19
+ expires_at: string;
20
+ machines_used: number;
21
+ max_machines: number;
22
+ };
23
+ }
24
+ export interface PluginInfo {
25
+ name: string;
26
+ current_version: string;
27
+ description: string;
28
+ }
29
+ export interface ListResponse {
30
+ plugins: PluginInfo[];
31
+ }
32
+ export interface DownloadResponse {
33
+ url: string;
34
+ plugin_name: string;
35
+ version: string;
36
+ expires_in: number;
37
+ }
38
+ export interface StatusResponse {
39
+ valid: boolean;
40
+ license: {
41
+ plan: string;
42
+ email: string;
43
+ expires_at: string;
44
+ is_active: boolean;
45
+ machines: Array<{
46
+ machine_id: string;
47
+ label: string | null;
48
+ activated_at: string;
49
+ }>;
50
+ allowed_plugins: string[];
51
+ };
52
+ }
53
+ export interface VersionsResponse {
54
+ plugin_name: string;
55
+ current_version: string;
56
+ versions: Array<{
57
+ version: string;
58
+ changelog: string | null;
59
+ published_at: string;
60
+ }>;
61
+ }
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@reumbra/forge",
3
+ "version": "0.1.0",
4
+ "description": "CLI for installing and managing Forge plugins for Claude Code",
5
+ "type": "module",
6
+ "bin": {
7
+ "forge": "./bin/forge.js"
8
+ },
9
+ "files": [
10
+ "bin/",
11
+ "dist/"
12
+ ],
13
+ "keywords": [
14
+ "claude-code",
15
+ "forge",
16
+ "plugins",
17
+ "cli"
18
+ ],
19
+ "author": "Reumbra",
20
+ "license": "UNLICENSED",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/reumbra/forge-devkit-cli"
24
+ },
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "engines": {
29
+ "node": ">=20"
30
+ },
31
+ "devDependencies": {
32
+ "@biomejs/biome": "^2.4.2",
33
+ "@types/node": "^25.3.0",
34
+ "tsx": "^4.21.0",
35
+ "typescript": "^5.9.3",
36
+ "vitest": "^4.0.18"
37
+ },
38
+ "dependencies": {
39
+ "@clack/prompts": "^1.0.1",
40
+ "commander": "^14.0.3"
41
+ },
42
+ "scripts": {
43
+ "dev": "tsx src/cli.ts",
44
+ "build": "tsc",
45
+ "check": "biome check --write",
46
+ "lint": "biome lint",
47
+ "format": "biome format --write",
48
+ "test": "vitest run",
49
+ "test:watch": "vitest"
50
+ }
51
+ }