@specific.dev/cli 0.1.37 → 0.1.39

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 (173) hide show
  1. package/dist/admin/404/index.html +1 -1
  2. package/dist/admin/404.html +1 -1
  3. package/dist/admin/__next.__PAGE__.txt +2 -2
  4. package/dist/admin/__next._full.txt +3 -3
  5. package/dist/admin/__next._head.txt +1 -1
  6. package/dist/admin/__next._index.txt +2 -2
  7. package/dist/admin/__next._tree.txt +2 -2
  8. package/dist/admin/_next/static/chunks/{de6af6d8adf8b50a.js → 0476153b08658d87.js} +2 -2
  9. package/dist/admin/_next/static/chunks/{4ab079bdcb131778.js → 1de437acc5206b1f.js} +2 -2
  10. package/dist/admin/_next/static/chunks/5ff94899b8b7a03a.css +3 -0
  11. package/dist/admin/_next/static/chunks/{895a6f91f0b479fb.js → 6aae09c9429b9f24.js} +2 -2
  12. package/dist/admin/_next/static/chunks/b71388016463cab2.js +1 -0
  13. package/dist/admin/_not-found/__next._full.txt +2 -2
  14. package/dist/admin/_not-found/__next._head.txt +1 -1
  15. package/dist/admin/_not-found/__next._index.txt +2 -2
  16. package/dist/admin/_not-found/__next._not-found.__PAGE__.txt +1 -1
  17. package/dist/admin/_not-found/__next._not-found.txt +1 -1
  18. package/dist/admin/_not-found/__next._tree.txt +2 -2
  19. package/dist/admin/_not-found/index.html +1 -1
  20. package/dist/admin/_not-found/index.txt +2 -2
  21. package/dist/admin/databases/__next._full.txt +3 -3
  22. package/dist/admin/databases/__next._head.txt +1 -1
  23. package/dist/admin/databases/__next._index.txt +2 -2
  24. package/dist/admin/databases/__next._tree.txt +2 -2
  25. package/dist/admin/databases/__next.databases.__PAGE__.txt +2 -2
  26. package/dist/admin/databases/__next.databases.txt +1 -1
  27. package/dist/admin/databases/index.html +1 -1
  28. package/dist/admin/databases/index.txt +3 -3
  29. package/dist/admin/index.html +1 -1
  30. package/dist/admin/index.txt +3 -3
  31. package/dist/cli.js +1527 -719
  32. package/package.json +3 -2
  33. package/dist/admin/_next/static/1o2O2QPOKhuZyxcNaCjq8/_buildManifest.js +0 -11
  34. package/dist/admin/_next/static/1o2O2QPOKhuZyxcNaCjq8/_clientMiddlewareManifest.json +0 -1
  35. package/dist/admin/_next/static/1o2O2QPOKhuZyxcNaCjq8/_ssgManifest.js +0 -1
  36. package/dist/admin/_next/static/2ZtqtFX2EkuM82mTM7NWT/_buildManifest.js +0 -11
  37. package/dist/admin/_next/static/2ZtqtFX2EkuM82mTM7NWT/_clientMiddlewareManifest.json +0 -1
  38. package/dist/admin/_next/static/2ZtqtFX2EkuM82mTM7NWT/_ssgManifest.js +0 -1
  39. package/dist/admin/_next/static/2vLF5bo4ZtUfhs8bdQBoF/_buildManifest.js +0 -11
  40. package/dist/admin/_next/static/2vLF5bo4ZtUfhs8bdQBoF/_clientMiddlewareManifest.json +0 -1
  41. package/dist/admin/_next/static/2vLF5bo4ZtUfhs8bdQBoF/_ssgManifest.js +0 -1
  42. package/dist/admin/_next/static/8_8s51m7RbLVvbIechG-b/_buildManifest.js +0 -11
  43. package/dist/admin/_next/static/8_8s51m7RbLVvbIechG-b/_clientMiddlewareManifest.json +0 -1
  44. package/dist/admin/_next/static/8_8s51m7RbLVvbIechG-b/_ssgManifest.js +0 -1
  45. package/dist/admin/_next/static/C4Y44KtLnP684m57gN3Ga/_buildManifest.js +0 -11
  46. package/dist/admin/_next/static/C4Y44KtLnP684m57gN3Ga/_clientMiddlewareManifest.json +0 -1
  47. package/dist/admin/_next/static/C4Y44KtLnP684m57gN3Ga/_ssgManifest.js +0 -1
  48. package/dist/admin/_next/static/DBeh36kAJnZBeBMJSPBW8/_buildManifest.js +0 -11
  49. package/dist/admin/_next/static/DBeh36kAJnZBeBMJSPBW8/_clientMiddlewareManifest.json +0 -1
  50. package/dist/admin/_next/static/DBeh36kAJnZBeBMJSPBW8/_ssgManifest.js +0 -1
  51. package/dist/admin/_next/static/REKEUu6DP2t99jKSAqNOu/_buildManifest.js +0 -11
  52. package/dist/admin/_next/static/REKEUu6DP2t99jKSAqNOu/_clientMiddlewareManifest.json +0 -1
  53. package/dist/admin/_next/static/REKEUu6DP2t99jKSAqNOu/_ssgManifest.js +0 -1
  54. package/dist/admin/_next/static/TDGT3mkKtTe0w_CxujLxI/_buildManifest.js +0 -11
  55. package/dist/admin/_next/static/TDGT3mkKtTe0w_CxujLxI/_clientMiddlewareManifest.json +0 -1
  56. package/dist/admin/_next/static/TDGT3mkKtTe0w_CxujLxI/_ssgManifest.js +0 -1
  57. package/dist/admin/_next/static/ZHMJ-g7mAlAMt_2uCXeEk/_buildManifest.js +0 -11
  58. package/dist/admin/_next/static/ZHMJ-g7mAlAMt_2uCXeEk/_clientMiddlewareManifest.json +0 -1
  59. package/dist/admin/_next/static/ZHMJ-g7mAlAMt_2uCXeEk/_ssgManifest.js +0 -1
  60. package/dist/admin/_next/static/a6JDAB-CdvWPvS4sBgJji/_buildManifest.js +0 -11
  61. package/dist/admin/_next/static/a6JDAB-CdvWPvS4sBgJji/_clientMiddlewareManifest.json +0 -1
  62. package/dist/admin/_next/static/a6JDAB-CdvWPvS4sBgJji/_ssgManifest.js +0 -1
  63. package/dist/admin/_next/static/abFUeBpymhlx-IxygVnM9/_buildManifest.js +0 -11
  64. package/dist/admin/_next/static/abFUeBpymhlx-IxygVnM9/_clientMiddlewareManifest.json +0 -1
  65. package/dist/admin/_next/static/abFUeBpymhlx-IxygVnM9/_ssgManifest.js +0 -1
  66. package/dist/admin/_next/static/chunks/1584f10ea1cebcb2.js +0 -4
  67. package/dist/admin/_next/static/chunks/195bbec70cfcd241.js +0 -2
  68. package/dist/admin/_next/static/chunks/2583656ea9ac4ad6.js +0 -5
  69. package/dist/admin/_next/static/chunks/605800ff25160d05.js +0 -1
  70. package/dist/admin/_next/static/chunks/656b870f0567ed5f.js +0 -1
  71. package/dist/admin/_next/static/chunks/71098a6cd6181738.css +0 -3
  72. package/dist/admin/_next/static/chunks/9032f4a1aac1ca5d.css +0 -3
  73. package/dist/admin/_next/static/chunks/a28af2dc6f5fbaad.js +0 -1
  74. package/dist/admin/_next/static/chunks/b4205fc2f84bda68.css +0 -3
  75. package/dist/admin/_next/static/chunks/c1a750c25bc8d092.js +0 -1
  76. package/dist/admin/_next/static/chunks/c3d30f6f144dca51.js +0 -2
  77. package/dist/admin/_next/static/chunks/cbf55ce8731457ae.js +0 -2
  78. package/dist/admin/_next/static/chunks/f0c001244d275aab.js +0 -5
  79. package/dist/admin/_next/static/chunks/fde89fd76ad6a3d0.css +0 -3
  80. package/dist/admin/_next/static/chunks/turbopack-a3d691c83d4b1778.js +0 -4
  81. package/dist/admin/_next/static/dcjrfD44GuB6g8bZ6BcFm/_buildManifest.js +0 -11
  82. package/dist/admin/_next/static/dcjrfD44GuB6g8bZ6BcFm/_clientMiddlewareManifest.json +0 -1
  83. package/dist/admin/_next/static/dcjrfD44GuB6g8bZ6BcFm/_ssgManifest.js +0 -1
  84. package/dist/admin/_next/static/fTEa8Scx922n-dMuqN3Vc/_buildManifest.js +0 -11
  85. package/dist/admin/_next/static/fTEa8Scx922n-dMuqN3Vc/_clientMiddlewareManifest.json +0 -1
  86. package/dist/admin/_next/static/fTEa8Scx922n-dMuqN3Vc/_ssgManifest.js +0 -1
  87. package/dist/admin/_next/static/kZNwyhHft01wPtJ_AvqQT/_buildManifest.js +0 -11
  88. package/dist/admin/_next/static/kZNwyhHft01wPtJ_AvqQT/_clientMiddlewareManifest.json +0 -1
  89. package/dist/admin/_next/static/kZNwyhHft01wPtJ_AvqQT/_ssgManifest.js +0 -1
  90. package/dist/admin/_next/static/kyVInC6N3DY6NWnjkLQ4J/_buildManifest.js +0 -11
  91. package/dist/admin/_next/static/kyVInC6N3DY6NWnjkLQ4J/_clientMiddlewareManifest.json +0 -1
  92. package/dist/admin/_next/static/kyVInC6N3DY6NWnjkLQ4J/_ssgManifest.js +0 -1
  93. package/dist/admin/_next/static/twedXBdhyxpjS68UQoNAc/_buildManifest.js +0 -11
  94. package/dist/admin/_next/static/twedXBdhyxpjS68UQoNAc/_clientMiddlewareManifest.json +0 -1
  95. package/dist/admin/_next/static/twedXBdhyxpjS68UQoNAc/_ssgManifest.js +0 -1
  96. package/dist/cli.d.ts +0 -3
  97. package/dist/cli.d.ts.map +0 -1
  98. package/dist/cli.js.map +0 -1
  99. package/dist/commands/check.d.ts +0 -2
  100. package/dist/commands/check.d.ts.map +0 -1
  101. package/dist/commands/check.js +0 -104
  102. package/dist/commands/check.js.map +0 -1
  103. package/dist/commands/clean.d.ts +0 -2
  104. package/dist/commands/clean.d.ts.map +0 -1
  105. package/dist/commands/clean.js +0 -70
  106. package/dist/commands/clean.js.map +0 -1
  107. package/dist/commands/deploy.d.ts +0 -2
  108. package/dist/commands/deploy.d.ts.map +0 -1
  109. package/dist/commands/deploy.js +0 -11
  110. package/dist/commands/deploy.js.map +0 -1
  111. package/dist/commands/dev.d.ts +0 -2
  112. package/dist/commands/dev.d.ts.map +0 -1
  113. package/dist/commands/dev.js +0 -398
  114. package/dist/commands/dev.js.map +0 -1
  115. package/dist/commands/docs.d.ts +0 -2
  116. package/dist/commands/docs.d.ts.map +0 -1
  117. package/dist/commands/docs.js +0 -32
  118. package/dist/commands/docs.js.map +0 -1
  119. package/dist/commands/exec.d.ts +0 -2
  120. package/dist/commands/exec.d.ts.map +0 -1
  121. package/dist/commands/exec.js +0 -178
  122. package/dist/commands/exec.js.map +0 -1
  123. package/dist/commands/init.d.ts +0 -2
  124. package/dist/commands/init.d.ts.map +0 -1
  125. package/dist/commands/init.js +0 -339
  126. package/dist/commands/init.js.map +0 -1
  127. package/dist/commands/psql.d.ts +0 -2
  128. package/dist/commands/psql.d.ts.map +0 -1
  129. package/dist/commands/psql.js +0 -53
  130. package/dist/commands/psql.js.map +0 -1
  131. package/dist/commands/secrets.d.ts +0 -3
  132. package/dist/commands/secrets.d.ts.map +0 -1
  133. package/dist/commands/secrets.js +0 -136
  134. package/dist/commands/secrets.js.map +0 -1
  135. package/dist/lib/dev/database-manager.d.ts +0 -17
  136. package/dist/lib/dev/database-manager.d.ts.map +0 -1
  137. package/dist/lib/dev/database-manager.js +0 -114
  138. package/dist/lib/dev/database-manager.js.map +0 -1
  139. package/dist/lib/dev/env-resolver.d.ts +0 -14
  140. package/dist/lib/dev/env-resolver.d.ts.map +0 -1
  141. package/dist/lib/dev/env-resolver.js +0 -109
  142. package/dist/lib/dev/env-resolver.js.map +0 -1
  143. package/dist/lib/dev/http-proxy.d.ts +0 -11
  144. package/dist/lib/dev/http-proxy.d.ts.map +0 -1
  145. package/dist/lib/dev/http-proxy.js +0 -165
  146. package/dist/lib/dev/http-proxy.js.map +0 -1
  147. package/dist/lib/dev/index.d.ts +0 -11
  148. package/dist/lib/dev/index.d.ts.map +0 -1
  149. package/dist/lib/dev/index.js +0 -7
  150. package/dist/lib/dev/index.js.map +0 -1
  151. package/dist/lib/dev/instance-state.d.ts +0 -45
  152. package/dist/lib/dev/instance-state.d.ts.map +0 -1
  153. package/dist/lib/dev/instance-state.js +0 -213
  154. package/dist/lib/dev/instance-state.js.map +0 -1
  155. package/dist/lib/dev/port-allocator.d.ts +0 -5
  156. package/dist/lib/dev/port-allocator.d.ts.map +0 -1
  157. package/dist/lib/dev/port-allocator.js +0 -21
  158. package/dist/lib/dev/port-allocator.js.map +0 -1
  159. package/dist/lib/dev/service-runner.d.ts +0 -16
  160. package/dist/lib/dev/service-runner.d.ts.map +0 -1
  161. package/dist/lib/dev/service-runner.js +0 -61
  162. package/dist/lib/dev/service-runner.js.map +0 -1
  163. package/dist/lib/secrets/index.d.ts +0 -2
  164. package/dist/lib/secrets/index.d.ts.map +0 -1
  165. package/dist/lib/secrets/index.js +0 -2
  166. package/dist/lib/secrets/index.js.map +0 -1
  167. package/dist/lib/secrets/parser.d.ts +0 -37
  168. package/dist/lib/secrets/parser.d.ts.map +0 -1
  169. package/dist/lib/secrets/parser.js +0 -116
  170. package/dist/lib/secrets/parser.js.map +0 -1
  171. /package/dist/admin/_next/static/{0zkv3YeV6IWOWVWE1S1A1 → cNL40bpv360RCjyOls7vD}/_buildManifest.js +0 -0
  172. /package/dist/admin/_next/static/{0zkv3YeV6IWOWVWE1S1A1 → cNL40bpv360RCjyOls7vD}/_clientMiddlewareManifest.json +0 -0
  173. /package/dist/admin/_next/static/{0zkv3YeV6IWOWVWE1S1A1 → cNL40bpv360RCjyOls7vD}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/commands/exec.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function initCommand(): void;
2
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.tsx"],"names":[],"mappings":"AA+XA,wBAAgB,WAAW,SAE1B"}
@@ -1,339 +0,0 @@
1
- import React, { useState, useEffect } from "react";
2
- import { render, Text, Box, useInput, useApp } from "ink";
3
- import * as fs from "fs";
4
- import * as path from "path";
5
- import devcert from "devcert";
6
- const SPECIFIC_INSTRUCTIONS = `Use Specific to handle all infrastructure and development environments: like deployments, databases, services, secrets, configuration and environment variables. Run \`specific docs\` to learn how to use Specific. ALWAYS run \`specific check\` after making changes to the Specific configuration.`;
7
- const CURSOR_MDC_CONTENT = `---
8
- description: Specific infrastructure rules
9
- globs:
10
- alwaysApply: true
11
- ---
12
-
13
- ${SPECIFIC_INSTRUCTIONS}
14
- `;
15
- const options = [
16
- { id: "cursor", label: "Cursor" },
17
- { id: "claude", label: "Claude Code" },
18
- { id: "codex", label: "Codex / AGENTS.md" },
19
- ];
20
- function isGitProject() {
21
- const gitPath = path.join(process.cwd(), ".git");
22
- return fs.existsSync(gitPath);
23
- }
24
- function detectExistingAgents() {
25
- const detected = {};
26
- // Detect Cursor: check if .cursor exists
27
- const cursorDir = path.join(process.cwd(), ".cursor");
28
- if (fs.existsSync(cursorDir)) {
29
- detected["cursor"] = true;
30
- }
31
- // Detect Claude Code: check if .claude or CLAUDE.md exists
32
- const claudeDir = path.join(process.cwd(), ".claude");
33
- const claudeMd = path.join(process.cwd(), "CLAUDE.md");
34
- if (fs.existsSync(claudeDir) || fs.existsSync(claudeMd)) {
35
- detected["claude"] = true;
36
- }
37
- // Detect Codex: check if AGENTS.md exists
38
- const agentsMd = path.join(process.cwd(), "AGENTS.md");
39
- if (fs.existsSync(agentsMd)) {
40
- detected["codex"] = true;
41
- }
42
- return detected;
43
- }
44
- function appendOrCreateFile(filePath, content) {
45
- if (fs.existsSync(filePath)) {
46
- const existing = fs.readFileSync(filePath, "utf-8");
47
- if (existing.includes("specific docs") || existing.includes("specific check")) {
48
- return "unchanged";
49
- }
50
- const separator = existing.endsWith("\n") ? "\n" : "\n\n";
51
- fs.writeFileSync(filePath, existing + separator + content + "\n");
52
- return "modified";
53
- }
54
- else {
55
- fs.writeFileSync(filePath, content + "\n");
56
- return "created";
57
- }
58
- }
59
- function addToGitignore() {
60
- const gitignorePath = path.join(process.cwd(), ".gitignore");
61
- const entries = [".specific", "specific.secrets"];
62
- if (fs.existsSync(gitignorePath)) {
63
- const existing = fs.readFileSync(gitignorePath, "utf-8");
64
- const lines = existing.split("\n").map((l) => l.trim());
65
- const missingEntries = entries.filter((entry) => !lines.includes(entry));
66
- if (missingEntries.length === 0) {
67
- return "unchanged";
68
- }
69
- const separator = existing.endsWith("\n") ? "" : "\n";
70
- fs.writeFileSync(gitignorePath, existing + separator + missingEntries.join("\n") + "\n");
71
- return "modified";
72
- }
73
- else {
74
- fs.writeFileSync(gitignorePath, entries.join("\n") + "\n");
75
- return "created";
76
- }
77
- }
78
- function configureClaudeCodePermissions() {
79
- const claudeDir = path.join(process.cwd(), ".claude");
80
- const settingsPath = path.join(claudeDir, "settings.local.json");
81
- const permissions = ["Bash(specific docs:*)", "Bash(specific check:*)"];
82
- if (fs.existsSync(settingsPath)) {
83
- const existing = JSON.parse(fs.readFileSync(settingsPath, "utf-8"));
84
- const allowList = existing?.permissions?.allow || [];
85
- const missingPermissions = permissions.filter((p) => !allowList.includes(p));
86
- if (missingPermissions.length === 0) {
87
- return "unchanged";
88
- }
89
- if (!existing.permissions) {
90
- existing.permissions = {};
91
- }
92
- if (!existing.permissions.allow) {
93
- existing.permissions.allow = [];
94
- }
95
- existing.permissions.allow.push(...missingPermissions);
96
- fs.writeFileSync(settingsPath, JSON.stringify(existing, null, 2) + "\n");
97
- return "modified";
98
- }
99
- if (!fs.existsSync(claudeDir)) {
100
- fs.mkdirSync(claudeDir);
101
- }
102
- const settings = {
103
- permissions: {
104
- allow: permissions,
105
- },
106
- };
107
- fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n");
108
- return "created";
109
- }
110
- function createCursorRule() {
111
- const cursorDir = path.join(process.cwd(), ".cursor");
112
- const rulesDir = path.join(cursorDir, "rules");
113
- const mdcPath = path.join(rulesDir, "specific.mdc");
114
- if (fs.existsSync(mdcPath)) {
115
- const existing = fs.readFileSync(mdcPath, "utf-8");
116
- if (existing.includes("specific docs") || existing.includes("specific check")) {
117
- return "unchanged";
118
- }
119
- fs.writeFileSync(mdcPath, CURSOR_MDC_CONTENT);
120
- return "modified";
121
- }
122
- if (!fs.existsSync(cursorDir)) {
123
- fs.mkdirSync(cursorDir);
124
- }
125
- if (!fs.existsSync(rulesDir)) {
126
- fs.mkdirSync(rulesDir);
127
- }
128
- fs.writeFileSync(mdcPath, CURSOR_MDC_CONTENT);
129
- return "created";
130
- }
131
- function configureAgents(checked) {
132
- const agents = {
133
- filesCreated: [],
134
- filesModified: [],
135
- };
136
- if (checked["cursor"]) {
137
- const status = createCursorRule();
138
- if (status === "created")
139
- agents.filesCreated.push(".cursor/rules/specific.mdc");
140
- else if (status === "modified")
141
- agents.filesModified.push(".cursor/rules/specific.mdc");
142
- }
143
- if (checked["claude"]) {
144
- const claudeMdPath = path.join(process.cwd(), "CLAUDE.md");
145
- const status = appendOrCreateFile(claudeMdPath, SPECIFIC_INSTRUCTIONS);
146
- if (status === "created")
147
- agents.filesCreated.push("CLAUDE.md");
148
- else if (status === "modified")
149
- agents.filesModified.push("CLAUDE.md");
150
- const permStatus = configureClaudeCodePermissions();
151
- if (permStatus === "created")
152
- agents.filesCreated.push(".claude/settings.local.json");
153
- else if (permStatus === "modified")
154
- agents.filesModified.push(".claude/settings.local.json");
155
- }
156
- if (checked["codex"]) {
157
- const agentsMdPath = path.join(process.cwd(), "AGENTS.md");
158
- const status = appendOrCreateFile(agentsMdPath, SPECIFIC_INSTRUCTIONS);
159
- if (status === "created")
160
- agents.filesCreated.push("AGENTS.md");
161
- else if (status === "modified")
162
- agents.filesModified.push("AGENTS.md");
163
- }
164
- let git = null;
165
- if (isGitProject()) {
166
- git = { filesCreated: [], filesModified: [] };
167
- const status = addToGitignore();
168
- if (status === "created")
169
- git.filesCreated.push(".gitignore");
170
- else if (status === "modified")
171
- git.filesModified.push(".gitignore");
172
- }
173
- return { agents, git };
174
- }
175
- function InitUI() {
176
- const { exit } = useApp();
177
- const [initialState] = useState(() => {
178
- const detected = detectExistingAgents();
179
- const hasDetected = Object.keys(detected).length > 0;
180
- return {
181
- detected,
182
- focusedIndex: hasDetected ? options.length : 0, // Focus submit if any detected
183
- };
184
- });
185
- const [phase, setPhase] = useState("tls");
186
- const [focusedIndex, setFocusedIndex] = useState(initialState.focusedIndex);
187
- const [checked, setChecked] = useState(initialState.detected);
188
- const [result, setResult] = useState(null);
189
- const [tlsResult, setTlsResult] = useState(null);
190
- // Run TLS installation on mount
191
- useEffect(() => {
192
- let cancelled = false;
193
- async function installTls() {
194
- try {
195
- await devcert.certificateFor("localhost");
196
- if (!cancelled) {
197
- setTlsResult({ status: "success" });
198
- setPhase("agents");
199
- }
200
- }
201
- catch (err) {
202
- if (!cancelled) {
203
- setTlsResult({
204
- status: "error",
205
- error: err instanceof Error ? err.message : String(err)
206
- });
207
- setPhase("agents");
208
- }
209
- }
210
- }
211
- installTls();
212
- return () => { cancelled = true; };
213
- }, []);
214
- const isSubmitFocused = focusedIndex === options.length;
215
- useInput((input, key) => {
216
- if (phase !== "agents")
217
- return;
218
- if (key.upArrow || input === "k") {
219
- setFocusedIndex((prev) => Math.max(0, prev - 1));
220
- }
221
- else if (key.downArrow || input === "j") {
222
- setFocusedIndex((prev) => Math.min(options.length, prev + 1));
223
- }
224
- else if (input === " " && !isSubmitFocused) {
225
- const option = options[focusedIndex];
226
- setChecked((prev) => ({
227
- ...prev,
228
- [option.id]: !prev[option.id],
229
- }));
230
- }
231
- else if ((key.return || input === " ") && isSubmitFocused) {
232
- const configResult = configureAgents(checked);
233
- setResult(configResult);
234
- setPhase("done");
235
- }
236
- });
237
- useEffect(() => {
238
- if (phase === "done") {
239
- const timer = setTimeout(() => {
240
- exit();
241
- }, 100);
242
- return () => clearTimeout(timer);
243
- }
244
- }, [phase, exit]);
245
- // TLS phase - show only TLS installation status
246
- if (phase === "tls") {
247
- return (React.createElement(Box, { flexDirection: "column" },
248
- React.createElement(Text, null,
249
- React.createElement(Text, { dimColor: true }, "\u25CF"),
250
- " Installing TLS certificates... ",
251
- React.createElement(Text, { dimColor: true }, "(may require your password)"))));
252
- }
253
- // Done phase - show summary
254
- if (phase === "done") {
255
- const selectedAgents = Object.entries(checked).filter(([, v]) => v).length;
256
- const agentChanges = result && (result.agents.filesCreated.length > 0 || result.agents.filesModified.length > 0);
257
- const gitChanges = result?.git && (result.git.filesCreated.length > 0 || result.git.filesModified.length > 0);
258
- return (React.createElement(Box, { flexDirection: "column" },
259
- tlsResult === null && (React.createElement(Text, null,
260
- React.createElement(Text, { dimColor: true }, "\u25CF"),
261
- " Installing TLS certificates...")),
262
- tlsResult?.status === "success" && (React.createElement(Text, null,
263
- React.createElement(Text, { color: "green" }, "\u2713"),
264
- " TLS certificates installed")),
265
- tlsResult?.status === "error" && (React.createElement(React.Fragment, null,
266
- React.createElement(Text, null,
267
- React.createElement(Text, { color: "red" }, "\u2717"),
268
- " Failed to install TLS certificates"),
269
- React.createElement(Text, { dimColor: true },
270
- " ",
271
- tlsResult.error))),
272
- result && (React.createElement(React.Fragment, null,
273
- React.createElement(Text, null,
274
- React.createElement(Text, { color: "green" }, "\u2713"),
275
- " Coding agents configured"),
276
- result.agents.filesCreated.length > 0 && (React.createElement(Text, { dimColor: true },
277
- " Created: ",
278
- result.agents.filesCreated.join(", "))),
279
- result.agents.filesModified.length > 0 && (React.createElement(Text, { dimColor: true },
280
- " Modified: ",
281
- result.agents.filesModified.join(", "))),
282
- !agentChanges && selectedAgents > 0 && (React.createElement(Text, { dimColor: true }, " No changes needed (files already configured)")),
283
- selectedAgents === 0 && (React.createElement(Text, { dimColor: true }, " No agents selected")))),
284
- result?.git && (React.createElement(React.Fragment, null,
285
- React.createElement(Text, null,
286
- React.createElement(Text, { color: "green" }, "\u2713"),
287
- " Git configured"),
288
- result.git.filesCreated.length > 0 && (React.createElement(Text, { dimColor: true },
289
- " Created: ",
290
- result.git.filesCreated.join(", "))),
291
- result.git.filesModified.length > 0 && (React.createElement(Text, { dimColor: true },
292
- " Modified: ",
293
- result.git.filesModified.join(", "))),
294
- !gitChanges && (React.createElement(Text, { dimColor: true }, " No changes needed (.gitignore already configured)"))))));
295
- }
296
- // Agents selection phase
297
- const tlsLine = tlsResult === null
298
- ? React.createElement(Text, null,
299
- React.createElement(Text, { dimColor: true }, "\u25CF"),
300
- " Installing TLS certificates... ",
301
- React.createElement(Text, { dimColor: true }, "(may require your password)"))
302
- : tlsResult.status === "success"
303
- ? React.createElement(Text, null,
304
- React.createElement(Text, { color: "green" }, "\u2713"),
305
- " TLS certificates installed")
306
- : React.createElement(Text, null,
307
- React.createElement(Text, { color: "red" }, "\u2717"),
308
- " TLS certificates failed ",
309
- React.createElement(Text, { dimColor: true },
310
- "(",
311
- tlsResult.error,
312
- ")"));
313
- return (React.createElement(Box, { flexDirection: "column" },
314
- tlsLine,
315
- React.createElement(Text, null,
316
- React.createElement(Text, { dimColor: true }, "\u25CF"),
317
- " Configure coding agents ",
318
- React.createElement(Text, { dimColor: true }, "(space to select)")),
319
- React.createElement(Text, null, " "),
320
- options.map((option, index) => {
321
- const isFocused = focusedIndex === index;
322
- const isChecked = checked[option.id];
323
- return (React.createElement(Box, { key: option.id },
324
- React.createElement(Text, { ...(isFocused && { color: "cyan" }) },
325
- isFocused ? "❯ " : " ",
326
- isChecked ? "[✓]" : "[ ]",
327
- " ",
328
- option.label)));
329
- }),
330
- React.createElement(Text, null, " "),
331
- React.createElement(Box, null,
332
- React.createElement(Text, { ...(isSubmitFocused && { color: "cyan" }) },
333
- isSubmitFocused ? "❯ " : " ",
334
- React.createElement(Text, { inverse: isSubmitFocused, ...(!isSubmitFocused && { backgroundColor: "gray" }) }, " Continue ")))));
335
- }
336
- export function initCommand() {
337
- render(React.createElement(InitUI, null));
338
- }
339
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function psqlCommand(databaseName?: string): Promise<void>;
2
- //# sourceMappingURL=psql.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"psql.d.ts","sourceRoot":"","sources":["../../src/commands/psql.tsx"],"names":[],"mappings":"AAGA,wBAAsB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,iBA4DtD"}
@@ -1,53 +0,0 @@
1
- import { spawn } from "child_process";
2
- import { InstanceStateManager } from "../lib/dev/index.js";
3
- export async function psqlCommand(databaseName) {
4
- const stateManager = new InstanceStateManager(process.cwd());
5
- await stateManager.cleanStaleState();
6
- const existingInstances = await stateManager.getExistingInstances();
7
- if (!existingInstances) {
8
- console.error("Error: No running instances found. Run `specific dev` first.");
9
- process.exit(1);
10
- }
11
- const availableDatabases = Object.keys(existingInstances.databases);
12
- if (availableDatabases.length === 0) {
13
- console.error("Error: No databases found in running instances.");
14
- process.exit(1);
15
- }
16
- let targetDb;
17
- if (databaseName) {
18
- if (!existingInstances.databases[databaseName]) {
19
- console.error(`Error: Database "${databaseName}" not found. Available: ${availableDatabases.join(", ")}`);
20
- process.exit(1);
21
- }
22
- targetDb = databaseName;
23
- }
24
- else {
25
- if (availableDatabases.length > 1) {
26
- console.error(`Error: Multiple databases available. Specify one: ${availableDatabases.join(", ")}`);
27
- process.exit(1);
28
- }
29
- targetDb = availableDatabases[0];
30
- }
31
- const dbState = existingInstances.databases[targetDb];
32
- const child = spawn("psql", ["-h", dbState.host, "-p", String(dbState.port), "-U", dbState.user, "-d", dbState.dbName], {
33
- cwd: process.cwd(),
34
- env: {
35
- ...process.env,
36
- PGPASSWORD: dbState.password,
37
- },
38
- stdio: "inherit",
39
- });
40
- child.on("exit", (code, signal) => {
41
- if (signal) {
42
- process.kill(process.pid, signal);
43
- }
44
- else {
45
- process.exit(code ?? 0);
46
- }
47
- });
48
- child.on("error", (err) => {
49
- console.error(`Error: Failed to start psql: ${err.message}`);
50
- process.exit(1);
51
- });
52
- }
53
- //# sourceMappingURL=psql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"psql.js","sourceRoot":"","sources":["../../src/commands/psql.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAqB;IACrD,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,oBAAoB,EAAE,CAAC;IAEpE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAEpE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,QAAgB,CAAC;IAErB,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CACX,oBAAoB,YAAY,2BAA2B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,GAAG,YAAY,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,KAAK,CACX,qDAAqD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAE,CAAC;IACpC,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAE,CAAC;IAEvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QACtH,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,UAAU,EAAE,OAAO,CAAC,QAAQ;SAC7B;QACD,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QAChC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function secretsSetCommand(secretName: string): Promise<void>;
2
- export declare function secretsCommand(action: string | undefined, secretName: string | undefined): Promise<void>;
3
- //# sourceMappingURL=secrets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/commands/secrets.tsx"],"names":[],"mappings":"AAsHA,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,iBAQzD;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,iBAqB9F"}
@@ -1,136 +0,0 @@
1
- import React, { useState, useEffect } from "react";
2
- import { render, Text, Box, useInput, useApp } from "ink";
3
- import * as fs from "fs";
4
- import { SECRETS_FILE } from "../lib/secrets/index.js";
5
- const HEADER_COMMENT = "# Do not commit this file - it contains secrets\n";
6
- function SetSecretUI({ secretName }) {
7
- const { exit } = useApp();
8
- const [value, setValue] = useState("");
9
- const [done, setDone] = useState(false);
10
- const [error, setError] = useState(null);
11
- useInput((input, key) => {
12
- if (done)
13
- return;
14
- if (key.return) {
15
- if (value.trim() === "") {
16
- setError("Secret value cannot be empty");
17
- return;
18
- }
19
- try {
20
- // Escape quotes and backslashes in the value for HCL
21
- const escapedValue = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
22
- const hclLine = `${secretName} = "${escapedValue}"`;
23
- // Read existing file or start fresh
24
- let content = "";
25
- let hasHeader = false;
26
- if (fs.existsSync(SECRETS_FILE)) {
27
- content = fs.readFileSync(SECRETS_FILE, "utf-8");
28
- hasHeader = content.startsWith("#");
29
- // Check if this secret already exists and update it
30
- const lines = content.split("\n");
31
- const newLines = [];
32
- let found = false;
33
- // Match: secretName = "..." or secretName="..."
34
- const pattern = new RegExp(`^${secretName}\\s*=\\s*"`);
35
- for (const line of lines) {
36
- if (pattern.test(line.trim())) {
37
- newLines.push(hclLine);
38
- found = true;
39
- }
40
- else {
41
- newLines.push(line);
42
- }
43
- }
44
- if (found) {
45
- fs.writeFileSync(SECRETS_FILE, newLines.join("\n"));
46
- setDone(true);
47
- return;
48
- }
49
- }
50
- // Append new secret
51
- let newContent = "";
52
- if (!hasHeader && !content) {
53
- newContent = HEADER_COMMENT + "\n";
54
- }
55
- else if (content) {
56
- newContent = content.endsWith("\n") ? content : content + "\n";
57
- }
58
- newContent += `${hclLine}\n`;
59
- fs.writeFileSync(SECRETS_FILE, newContent);
60
- setDone(true);
61
- }
62
- catch (err) {
63
- setError(err instanceof Error ? err.message : String(err));
64
- }
65
- }
66
- else if (key.backspace || key.delete) {
67
- setValue((prev) => prev.slice(0, -1));
68
- }
69
- else if (key.escape) {
70
- exit();
71
- }
72
- else if (!key.ctrl && !key.meta && input) {
73
- setValue((prev) => prev + input);
74
- }
75
- });
76
- useEffect(() => {
77
- if (done) {
78
- const timer = setTimeout(() => exit(), 50);
79
- return () => clearTimeout(timer);
80
- }
81
- }, [done, exit]);
82
- if (error) {
83
- return React.createElement(Text, { color: "red" },
84
- "Error: ",
85
- error);
86
- }
87
- if (done) {
88
- return (React.createElement(Box, { flexDirection: "column" },
89
- React.createElement(Text, { color: "green" },
90
- "Secret '",
91
- secretName,
92
- "' saved to ",
93
- SECRETS_FILE)));
94
- }
95
- return (React.createElement(Box, { flexDirection: "column" },
96
- React.createElement(Text, null,
97
- "Enter value for secret '",
98
- secretName,
99
- "':"),
100
- React.createElement(Box, null,
101
- React.createElement(Text, { color: "cyan" }, "> "),
102
- React.createElement(Text, null, value.length > 0 ? "*".repeat(value.length) : ""),
103
- React.createElement(Text, { color: "gray" }, "|")),
104
- React.createElement(Text, { dimColor: true }, "(Press Enter to save, Esc to cancel)")));
105
- }
106
- export async function secretsSetCommand(secretName) {
107
- if (!secretName) {
108
- console.error("Error: Secret name required");
109
- console.error("Usage: specific secrets set <name>");
110
- process.exit(1);
111
- }
112
- render(React.createElement(SetSecretUI, { secretName: secretName }));
113
- }
114
- export async function secretsCommand(action, secretName) {
115
- if (!action) {
116
- console.error("Usage: specific secrets <command>");
117
- console.error("");
118
- console.error("Commands:");
119
- console.error(" set <name> Set a secret value");
120
- process.exit(1);
121
- }
122
- if (action === "set") {
123
- if (!secretName) {
124
- console.error("Error: Secret name required");
125
- console.error("Usage: specific secrets set <name>");
126
- process.exit(1);
127
- }
128
- await secretsSetCommand(secretName);
129
- }
130
- else {
131
- console.error(`Unknown command: ${action}`);
132
- console.error("Usage: specific secrets set <name>");
133
- process.exit(1);
134
- }
135
- }
136
- //# sourceMappingURL=secrets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/commands/secrets.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { Database } from "@specific/config";
2
- export interface DatabaseInstance {
3
- name: string;
4
- engine: "postgres" | "redis" | "object_store";
5
- port: number;
6
- url: string;
7
- host: string;
8
- user: string;
9
- password: string;
10
- dbName: string;
11
- endpoint?: string;
12
- accessKey?: string;
13
- secretKey?: string;
14
- stop(): Promise<void>;
15
- }
16
- export declare function startDatabase(db: Database, port: number, dataDir?: string): Promise<DatabaseInstance>;
17
- //# sourceMappingURL=database-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-manager.d.ts","sourceRoot":"","sources":["../../../src/lib/dev/database-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,OAAO,GAAG,cAAc,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,wBAAsB,aAAa,CACjC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,MAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAQ3B"}