@convext/cli 0.3.1 → 1.0.6

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.
@@ -1,25 +1,19 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.syncCommand = syncCommand;
7
- const node_fs_1 = require("node:fs");
8
- const node_path_1 = require("node:path");
9
- const chalk_1 = __importDefault(require("chalk"));
10
- const ora_1 = __importDefault(require("ora"));
11
- const api_js_1 = require("../api.js");
12
- const fileManager_js_1 = require("../utils/fileManager.js");
13
- const prompts_js_1 = require("../utils/prompts.js");
14
- const scanner_js_1 = require("../utils/scanner.js");
15
- const init_js_1 = require("./init.js");
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import chalk from "chalk";
4
+ import ora from "ora";
5
+ import { getProjectContext, getProjectMarkdown, assignRuleSets, } from "../api.js";
6
+ import { backupFile, ensureParentDir } from "../utils/fileManager.js";
7
+ import { promptConfirm, promptCheckbox } from "../utils/prompts.js";
8
+ import { scanRepository } from "../utils/scanner.js";
9
+ import { initCommand } from "./init.js";
16
10
  function loadLocalProjectConfig() {
17
- const configPath = (0, node_path_1.join)(process.cwd(), ".convext", "config.json");
18
- if (!(0, node_fs_1.existsSync)(configPath)) {
11
+ const configPath = join(process.cwd(), ".convext", "config.json");
12
+ if (!existsSync(configPath)) {
19
13
  return null;
20
14
  }
21
15
  try {
22
- const content = (0, node_fs_1.readFileSync)(configPath, "utf-8");
16
+ const content = readFileSync(configPath, "utf-8");
23
17
  const config = JSON.parse(content);
24
18
  if (config.projectId && typeof config.projectId === "number") {
25
19
  return config;
@@ -48,7 +42,7 @@ const DOTFILE_CONFIGS = {
48
42
  },
49
43
  };
50
44
  function ensureDirectoryExists(filePath) {
51
- (0, fileManager_js_1.ensureParentDir)(filePath);
45
+ ensureParentDir(filePath);
52
46
  }
53
47
  async function maybeAssignRuleSets(projectId, context, insights) {
54
48
  const available = dedupeRuleSets([
@@ -56,7 +50,7 @@ async function maybeAssignRuleSets(projectId, context, insights) {
56
50
  ...(context.available_rule_sets?.global ?? []),
57
51
  ]);
58
52
  if (available.length === 0) {
59
- console.log(chalk_1.default.yellow("No rule sets available. Create some in the Convext UI first."));
53
+ console.log(chalk.yellow("No rule sets available. Create some in the Convext UI first."));
60
54
  return false;
61
55
  }
62
56
  const suggestions = suggestRuleSets(available, insights);
@@ -66,27 +60,27 @@ async function maybeAssignRuleSets(projectId, context, insights) {
66
60
  .map((rs, idx) => suggestedSlugs.has(rs.slug) ? idx : -1)
67
61
  .filter(idx => idx >= 0);
68
62
  // Use checkbox for multi-select with arrow keys and spacebar
69
- const selection = await (0, prompts_js_1.promptCheckbox)("Select rule sets to assign (↑↓ navigate, space toggle, enter confirm):", available.map(rs => ({
70
- label: `${rs.name}${rs.slug ? chalk_1.default.gray(` (${rs.slug})`) : ""}`,
63
+ const selection = await promptCheckbox("Select rule sets to assign (↑↓ navigate, space toggle, enter confirm):", available.map(rs => ({
64
+ label: `${rs.name}${rs.slug ? chalk.gray(` (${rs.slug})`) : ""}`,
71
65
  value: rs,
72
66
  })), defaultSelected);
73
67
  if (selection.length === 0) {
74
- console.log(chalk_1.default.gray("No rule sets selected."));
68
+ console.log(chalk.gray("No rule sets selected."));
75
69
  return false;
76
70
  }
77
71
  const slugs = selection
78
72
  .map((rs) => rs.slug)
79
73
  .filter((slug) => Boolean(slug));
80
74
  if (slugs.length === 0) {
81
- console.log(chalk_1.default.red("No valid rule set slugs selected."));
75
+ console.log(chalk.red("No valid rule set slugs selected."));
82
76
  return false;
83
77
  }
84
- const assignment = await (0, api_js_1.assignRuleSets)(projectId, slugs);
78
+ const assignment = await assignRuleSets(projectId, slugs);
85
79
  if (assignment.assigned > 0) {
86
- console.log(chalk_1.default.green(`\n✓ Assigned ${assignment.assigned} rule set(s): ${assignment.rule_sets.map((rs) => rs.name).join(", ")}`));
80
+ console.log(chalk.green(`\n✓ Assigned ${assignment.assigned} rule set(s): ${assignment.rule_sets.map((rs) => rs.name).join(", ")}`));
87
81
  return true;
88
82
  }
89
- console.log(chalk_1.default.gray("No new rule sets were assigned."));
83
+ console.log(chalk.gray("No new rule sets were assigned."));
90
84
  return false;
91
85
  }
92
86
  function suggestRuleSets(available, insights) {
@@ -117,15 +111,15 @@ function dedupeRuleSets(ruleSets) {
117
111
  return result;
118
112
  }
119
113
  function hasChanges(filePath, newContent) {
120
- if (!(0, node_fs_1.existsSync)(filePath)) {
114
+ if (!existsSync(filePath)) {
121
115
  return true;
122
116
  }
123
- const existing = (0, node_fs_1.readFileSync)(filePath, "utf-8");
117
+ const existing = readFileSync(filePath, "utf-8");
124
118
  return existing !== newContent;
125
119
  }
126
- async function syncCommand(options) {
120
+ export async function syncCommand(options) {
127
121
  const verbose = options.verbose ?? false;
128
- const log = (msg) => verbose && console.log(chalk_1.default.gray(`[verbose] ${msg}`));
122
+ const log = (msg) => verbose && console.log(chalk.gray(`[verbose] ${msg}`));
129
123
  // Check for local project config first
130
124
  const localConfig = loadLocalProjectConfig();
131
125
  let projectId = options.projectId;
@@ -135,11 +129,11 @@ async function syncCommand(options) {
135
129
  }
136
130
  // If no project ID, prompt to initialize
137
131
  if (!projectId) {
138
- console.log(chalk_1.default.yellow("\nNo project configured for this directory."));
139
- console.log(chalk_1.default.gray("A .convext.json file links this repo to your Convext project.\n"));
140
- const shouldInit = await (0, prompts_js_1.promptConfirm)("Would you like to initialize/connect this project now?", true);
132
+ console.log(chalk.yellow("\nNo project configured for this directory."));
133
+ console.log(chalk.gray("A .convext.json file links this repo to your Convext project.\n"));
134
+ const shouldInit = await promptConfirm("Would you like to initialize/connect this project now?", true);
141
135
  if (shouldInit) {
142
- await (0, init_js_1.initCommand)({});
136
+ await initCommand({});
143
137
  // Re-load the config after init
144
138
  const newConfig = loadLocalProjectConfig();
145
139
  if (newConfig) {
@@ -147,58 +141,58 @@ async function syncCommand(options) {
147
141
  console.log(""); // Add spacing
148
142
  }
149
143
  else {
150
- console.log(chalk_1.default.yellow("\nProject initialization was cancelled or failed."));
151
- console.log(`Run ${chalk_1.default.cyan("convext init")} to set up the project manually.`);
144
+ console.log(chalk.yellow("\nProject initialization was cancelled or failed."));
145
+ console.log(`Run ${chalk.cyan("convext init")} to set up the project manually.`);
152
146
  return;
153
147
  }
154
148
  }
155
149
  else {
156
- console.log(chalk_1.default.gray("\nTo initialize later, run: ") + chalk_1.default.cyan("convext init"));
157
- console.log(chalk_1.default.gray("Or specify a project ID: ") + chalk_1.default.cyan("convext sync --project <id>"));
150
+ console.log(chalk.gray("\nTo initialize later, run: ") + chalk.cyan("convext init"));
151
+ console.log(chalk.gray("Or specify a project ID: ") + chalk.cyan("convext sync --project <id>"));
158
152
  return;
159
153
  }
160
154
  }
161
- const spinner = (0, ora_1.default)("Fetching engineering rules and standards...").start();
155
+ const spinner = ora("Fetching engineering rules and standards...").start();
162
156
  try {
163
157
  log("Scanning repository for insights...");
164
- const insights = (0, scanner_js_1.scanRepository)();
158
+ const insights = scanRepository();
165
159
  log(`Found languages: ${Array.from(insights.languages).join(", ") || "none"}`);
166
160
  log(`Found frameworks: ${Array.from(insights.frameworks).join(", ") || "none"}`);
167
161
  let projectMeta;
168
162
  spinner.text = "Fetching project context...";
169
163
  log(`Fetching context for project ID: ${projectId}`);
170
164
  try {
171
- projectMeta = await (0, api_js_1.getProjectContext)(projectId);
165
+ projectMeta = await getProjectContext(projectId);
172
166
  log(`Project context response: ${JSON.stringify(projectMeta, null, 2)}`);
173
167
  // Check if API returned an error (project not found)
174
168
  if (projectMeta.error) {
175
169
  spinner.fail("Project not found on server");
176
- console.log(chalk_1.default.yellow(`\nProject ID ${projectId} no longer exists on the server.`));
177
- console.log(chalk_1.default.gray("This can happen if the project was deleted or the database was reset.\n"));
178
- const shouldReinit = await (0, prompts_js_1.promptConfirm)("Would you like to re-register this project?", true);
170
+ console.log(chalk.yellow(`\nProject ID ${projectId} no longer exists on the server.`));
171
+ console.log(chalk.gray("This can happen if the project was deleted or the database was reset.\n"));
172
+ const shouldReinit = await promptConfirm("Would you like to re-register this project?", true);
179
173
  if (shouldReinit) {
180
174
  // Delete the old config and run init
181
- const configPath = (0, node_path_1.join)(process.cwd(), ".convext", "config.json");
175
+ const configPath = join(process.cwd(), ".convext", "config.json");
182
176
  const { unlinkSync } = await import("node:fs");
183
177
  try {
184
178
  unlinkSync(configPath);
185
179
  }
186
180
  catch { /* ignore */ }
187
- await (0, init_js_1.initCommand)({});
181
+ await initCommand({});
188
182
  // Re-load the config after init
189
183
  const newConfig = loadLocalProjectConfig();
190
184
  if (newConfig) {
191
185
  projectId = newConfig.projectId;
192
186
  spinner.start("Fetching project context...");
193
- projectMeta = await (0, api_js_1.getProjectContext)(projectId);
187
+ projectMeta = await getProjectContext(projectId);
194
188
  }
195
189
  else {
196
- console.log(chalk_1.default.yellow("\nProject registration was cancelled."));
190
+ console.log(chalk.yellow("\nProject registration was cancelled."));
197
191
  return;
198
192
  }
199
193
  }
200
194
  else {
201
- console.log(chalk_1.default.gray("\nTo re-register later, delete .convext.json and run: ") + chalk_1.default.cyan("convext init"));
195
+ console.log(chalk.gray("\nTo re-register later, delete .convext.json and run: ") + chalk.cyan("convext init"));
202
196
  return;
203
197
  }
204
198
  }
@@ -212,24 +206,24 @@ async function syncCommand(options) {
212
206
  log(`Project has ${rulesCount} rules and ${standardsCount} standards`);
213
207
  spinner.succeed(`Fetched project context (${rulesCount} rules, ${standardsCount} standards)`);
214
208
  if (insights.aiFiles.length > 0) {
215
- console.log(chalk_1.default.gray(`Detected existing AI files:\n - ${insights.aiFiles.join("\n - ")}`));
209
+ console.log(chalk.gray(`Detected existing AI files:\n - ${insights.aiFiles.join("\n - ")}`));
216
210
  }
217
211
  // Check if project has explicitly assigned rulesets (not just inheriting globals)
218
212
  const assignedRuleSets = projectMeta.assigned_rule_sets ?? [];
219
213
  const hasExplicitAssignments = assignedRuleSets.length > 0;
220
214
  if (!hasExplicitAssignments && projectId && projectMeta) {
221
- console.log(chalk_1.default.yellow("\nNo rule sets are explicitly assigned to this project."));
222
- console.log(chalk_1.default.gray("Select rule sets based on your tech stack:\n"));
215
+ console.log(chalk.yellow("\nNo rule sets are explicitly assigned to this project."));
216
+ console.log(chalk.gray("Select rule sets based on your tech stack:\n"));
223
217
  const assigned = await maybeAssignRuleSets(projectId, projectMeta, insights);
224
218
  if (assigned) {
225
219
  spinner.start("Reloading project context...");
226
- projectMeta = await (0, api_js_1.getProjectContext)(projectId);
220
+ projectMeta = await getProjectContext(projectId);
227
221
  spinner.succeed("Rule sets assigned and context refreshed");
228
222
  }
229
223
  else {
230
224
  // User declined - don't use global rules by default
231
- console.log(chalk_1.default.yellow("\nNo rule sets selected. Skipping file generation."));
232
- console.log(chalk_1.default.gray("Run 'convext sync' again to select rule sets, or assign them in the Convext UI."));
225
+ console.log(chalk.yellow("\nNo rule sets selected. Skipping file generation."));
226
+ console.log(chalk.gray("Run 'convext sync' again to select rule sets, or assign them in the Convext UI."));
233
227
  return;
234
228
  }
235
229
  }
@@ -244,40 +238,40 @@ async function syncCommand(options) {
244
238
  log("Fetching pre-rendered markdown from server...");
245
239
  let serverMarkdown;
246
240
  try {
247
- const contextResponse = await (0, api_js_1.getProjectMarkdown)(projectMeta.project?.slug || String(projectId));
241
+ const contextResponse = await getProjectMarkdown(projectMeta.project?.slug || String(projectId));
248
242
  serverMarkdown = contextResponse.markdown;
249
243
  log(`Got ${contextResponse.rules_count} rules, ${contextResponse.standards_count} standards`);
250
244
  }
251
245
  catch (error) {
252
246
  // Fallback: if API endpoint not available, we can't sync
253
- console.error(chalk_1.default.red("Failed to fetch project context from server"));
247
+ console.error(chalk.red("Failed to fetch project context from server"));
254
248
  throw error;
255
249
  }
256
250
  for (const format of formats) {
257
251
  const config = DOTFILE_CONFIGS[format];
258
252
  if (!config)
259
253
  continue;
260
- const filePath = (0, node_path_1.join)(cwd, config.filename);
254
+ const filePath = join(cwd, config.filename);
261
255
  const content = config.transform(serverMarkdown);
262
256
  if (options.dryRun) {
263
- console.log(chalk_1.default.cyan(`\n[DRY RUN] Would write to ${config.filename}:`));
264
- console.log(chalk_1.default.gray("─".repeat(60)));
257
+ console.log(chalk.cyan(`\n[DRY RUN] Would write to ${config.filename}:`));
258
+ console.log(chalk.gray("─".repeat(60)));
265
259
  console.log(content.slice(0, 500) + (content.length > 500 ? "\n..." : ""));
266
- console.log(chalk_1.default.gray("─".repeat(60)));
260
+ console.log(chalk.gray("─".repeat(60)));
267
261
  results.push({ file: config.filename, status: "unchanged" });
268
262
  }
269
263
  else {
270
264
  const changed = hasChanges(filePath, content);
271
265
  if (changed) {
272
266
  ensureDirectoryExists(filePath);
273
- const backupPath = (0, fileManager_js_1.backupFile)(filePath);
267
+ const backupPath = backupFile(filePath);
274
268
  if (backupPath) {
275
- console.log(chalk_1.default.gray(` ↻ Backed up existing ${config.filename} to ${backupPath}`));
269
+ console.log(chalk.gray(` ↻ Backed up existing ${config.filename} to ${backupPath}`));
276
270
  }
277
- (0, node_fs_1.writeFileSync)(filePath, content, "utf-8");
271
+ writeFileSync(filePath, content, "utf-8");
278
272
  results.push({
279
273
  file: config.filename,
280
- status: (0, node_fs_1.existsSync)(filePath) ? "updated" : "created",
274
+ status: existsSync(filePath) ? "updated" : "created",
281
275
  });
282
276
  }
283
277
  else {
@@ -286,41 +280,41 @@ async function syncCommand(options) {
286
280
  }
287
281
  }
288
282
  // Summary
289
- console.log("\n" + chalk_1.default.bold("Sync Results:"));
283
+ console.log("\n" + chalk.bold("Sync Results:"));
290
284
  for (const result of results) {
291
285
  const icon = result.status === "created"
292
- ? chalk_1.default.green("✓")
286
+ ? chalk.green("✓")
293
287
  : result.status === "updated"
294
- ? chalk_1.default.yellow("↻")
295
- : chalk_1.default.gray("○");
288
+ ? chalk.yellow("↻")
289
+ : chalk.gray("○");
296
290
  const status = result.status === "created"
297
- ? chalk_1.default.green("created")
291
+ ? chalk.green("created")
298
292
  : result.status === "updated"
299
- ? chalk_1.default.yellow("updated")
300
- : chalk_1.default.gray("unchanged");
293
+ ? chalk.yellow("updated")
294
+ : chalk.gray("unchanged");
301
295
  console.log(` ${icon} ${result.file} - ${status}`);
302
296
  }
303
297
  const changedCount = results.filter((r) => r.status !== "unchanged").length;
304
298
  if (changedCount > 0 && !options.dryRun) {
305
- console.log("\n" + chalk_1.default.green(`✓ Synced ${changedCount} file(s) with Convext`));
299
+ console.log("\n" + chalk.green(`✓ Synced ${changedCount} file(s) with Convext`));
306
300
  }
307
301
  else if (options.dryRun) {
308
- console.log("\n" + chalk_1.default.cyan("Dry run complete - no files were modified"));
302
+ console.log("\n" + chalk.cyan("Dry run complete - no files were modified"));
309
303
  }
310
304
  else {
311
- console.log("\n" + chalk_1.default.gray("All files are up to date"));
305
+ console.log("\n" + chalk.gray("All files are up to date"));
312
306
  }
313
307
  }
314
308
  catch (error) {
315
309
  spinner.fail("Sync failed");
316
310
  if (error instanceof Error) {
317
- console.error(chalk_1.default.red(`Error: ${error.message}`));
311
+ console.error(chalk.red(`Error: ${error.message}`));
318
312
  if (verbose) {
319
- console.error(chalk_1.default.gray(`Stack trace:\n${error.stack}`));
313
+ console.error(chalk.gray(`Stack trace:\n${error.stack}`));
320
314
  }
321
315
  }
322
316
  else {
323
- console.error(chalk_1.default.red(`Unknown error: ${String(error)}`));
317
+ console.error(chalk.red(`Unknown error: ${String(error)}`));
324
318
  }
325
319
  process.exit(1);
326
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,38 +1,32 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadConfig = loadConfig;
4
- exports.saveConfig = saveConfig;
5
- exports.getApiToken = getApiToken;
6
- exports.getApiUrl = getApiUrl;
7
- const node_fs_1 = require("node:fs");
8
- const node_os_1 = require("node:os");
9
- const node_path_1 = require("node:path");
10
- const CONFIG_DIR = (0, node_path_1.join)((0, node_os_1.homedir)(), ".convext");
11
- const CONFIG_FILE = (0, node_path_1.join)(CONFIG_DIR, "config.json");
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { join } from "node:path";
4
+ const CONFIG_DIR = join(homedir(), ".convext");
5
+ const CONFIG_FILE = join(CONFIG_DIR, "config.json");
12
6
  const DEFAULT_CONFIG = {
13
7
  apiUrl: "https://convext.app",
14
8
  };
15
- function loadConfig() {
16
- if (!(0, node_fs_1.existsSync)(CONFIG_FILE)) {
9
+ export function loadConfig() {
10
+ if (!existsSync(CONFIG_FILE)) {
17
11
  return DEFAULT_CONFIG;
18
12
  }
19
13
  try {
20
- const content = (0, node_fs_1.readFileSync)(CONFIG_FILE, "utf-8");
14
+ const content = readFileSync(CONFIG_FILE, "utf-8");
21
15
  return { ...DEFAULT_CONFIG, ...JSON.parse(content) };
22
16
  }
23
17
  catch {
24
18
  return DEFAULT_CONFIG;
25
19
  }
26
20
  }
27
- function saveConfig(config) {
28
- if (!(0, node_fs_1.existsSync)(CONFIG_DIR)) {
29
- (0, node_fs_1.mkdirSync)(CONFIG_DIR, { recursive: true });
21
+ export function saveConfig(config) {
22
+ if (!existsSync(CONFIG_DIR)) {
23
+ mkdirSync(CONFIG_DIR, { recursive: true });
30
24
  }
31
25
  const existing = loadConfig();
32
26
  const merged = { ...existing, ...config };
33
- (0, node_fs_1.writeFileSync)(CONFIG_FILE, JSON.stringify(merged, null, 2));
27
+ writeFileSync(CONFIG_FILE, JSON.stringify(merged, null, 2));
34
28
  }
35
- function getApiToken() {
29
+ export function getApiToken() {
36
30
  // Check environment variable first
37
31
  if (process.env.CONVEXT_TOKEN) {
38
32
  return process.env.CONVEXT_TOKEN;
@@ -41,7 +35,7 @@ function getApiToken() {
41
35
  const config = loadConfig();
42
36
  return config.apiToken;
43
37
  }
44
- function getApiUrl() {
38
+ export function getApiUrl() {
45
39
  // Check environment variable first
46
40
  if (process.env.CONVEXT_URL) {
47
41
  return process.env.CONVEXT_URL;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AAgBA,gCAWC;AAED,gCAQC;AAED,kCASC;AAED,8BAQC;AA1DD,qCAA6E;AAC7E,qCAAkC;AAClC,yCAAiC;AAOjC,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAW;IAC7B,MAAM,EAAE,qBAAqB;CAC9B,CAAC;AAEF,SAAgB,UAAU;IACxB,IAAI,CAAC,IAAA,oBAAU,EAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,MAAuB;IAChD,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,IAAA,mBAAS,EAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,IAAA,uBAAa,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,WAAW;IACzB,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED,SAAgB,SAAS;IACvB,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD,MAAM,cAAc,GAAW;IAC7B,MAAM,EAAE,qBAAqB;CAC9B,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,mCAAmC;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,4 +3,5 @@ export { getRules, getStandards, getRuleSets, getProjectContext, registerProject
3
3
  export { syncCommand } from "./commands/sync.js";
4
4
  export { checkCommand } from "./commands/check.js";
5
5
  export { initCommand } from "./commands/init.js";
6
+ export { loginCommand, logoutCommand } from "./commands/login.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,24 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initCommand = exports.checkCommand = exports.syncCommand = exports.ApiError = exports.getEngineeringContext = exports.registerProject = exports.getProjectContext = exports.getRuleSets = exports.getStandards = exports.getRules = exports.getApiUrl = exports.getApiToken = exports.saveConfig = exports.loadConfig = void 0;
4
1
  // Code Charter CLI - main exports for programmatic use
5
- var config_js_1 = require("./config.js");
6
- Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return config_js_1.loadConfig; } });
7
- Object.defineProperty(exports, "saveConfig", { enumerable: true, get: function () { return config_js_1.saveConfig; } });
8
- Object.defineProperty(exports, "getApiToken", { enumerable: true, get: function () { return config_js_1.getApiToken; } });
9
- Object.defineProperty(exports, "getApiUrl", { enumerable: true, get: function () { return config_js_1.getApiUrl; } });
10
- var api_js_1 = require("./api.js");
11
- Object.defineProperty(exports, "getRules", { enumerable: true, get: function () { return api_js_1.getRules; } });
12
- Object.defineProperty(exports, "getStandards", { enumerable: true, get: function () { return api_js_1.getStandards; } });
13
- Object.defineProperty(exports, "getRuleSets", { enumerable: true, get: function () { return api_js_1.getRuleSets; } });
14
- Object.defineProperty(exports, "getProjectContext", { enumerable: true, get: function () { return api_js_1.getProjectContext; } });
15
- Object.defineProperty(exports, "registerProject", { enumerable: true, get: function () { return api_js_1.registerProject; } });
16
- Object.defineProperty(exports, "getEngineeringContext", { enumerable: true, get: function () { return api_js_1.getEngineeringContext; } });
17
- Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return api_js_1.ApiError; } });
18
- var sync_js_1 = require("./commands/sync.js");
19
- Object.defineProperty(exports, "syncCommand", { enumerable: true, get: function () { return sync_js_1.syncCommand; } });
20
- var check_js_1 = require("./commands/check.js");
21
- Object.defineProperty(exports, "checkCommand", { enumerable: true, get: function () { return check_js_1.checkCommand; } });
22
- var init_js_1 = require("./commands/init.js");
23
- Object.defineProperty(exports, "initCommand", { enumerable: true, get: function () { return init_js_1.initCommand; } });
2
+ export { loadConfig, saveConfig, getApiToken, getApiUrl } from "./config.js";
3
+ export { getRules, getStandards, getRuleSets, getProjectContext, registerProject, getEngineeringContext, ApiError, } from "./api.js";
4
+ export { syncCommand } from "./commands/sync.js";
5
+ export { checkCommand } from "./commands/check.js";
6
+ export { initCommand } from "./commands/init.js";
7
+ export { loginCommand, logoutCommand } from "./commands/login.js";
24
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,yCAA6E;AAApE,uGAAA,UAAU,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,sGAAA,SAAS,OAAA;AACvD,mCAYkB;AAXhB,kGAAA,QAAQ,OAAA;AACR,sGAAA,YAAY,OAAA;AACZ,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,+GAAA,qBAAqB,OAAA;AACrB,kGAAA,QAAQ,OAAA;AAMV,8CAAiD;AAAxC,sGAAA,WAAW,OAAA;AACpB,gDAAmD;AAA1C,wGAAA,YAAY,OAAA;AACrB,8CAAiD;AAAxC,sGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,QAAQ,GAKT,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,35 +1,31 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureParentDir = ensureParentDir;
4
- exports.backupFile = backupFile;
5
- const node_fs_1 = require("node:fs");
6
- const node_path_1 = require("node:path");
1
+ import { existsSync, mkdirSync, renameSync, statSync } from "node:fs";
2
+ import { dirname, join, resolve } from "node:path";
7
3
  function ensureDir(path) {
8
- if (!(0, node_fs_1.existsSync)(path)) {
9
- (0, node_fs_1.mkdirSync)(path, { recursive: true });
4
+ if (!existsSync(path)) {
5
+ mkdirSync(path, { recursive: true });
10
6
  }
11
7
  }
12
- function ensureParentDir(filePath) {
13
- const dir = (0, node_path_1.dirname)(filePath);
8
+ export function ensureParentDir(filePath) {
9
+ const dir = dirname(filePath);
14
10
  ensureDir(dir);
15
11
  }
16
- function backupFile(filePath) {
17
- const absolutePath = (0, node_path_1.resolve)(filePath);
18
- if (!(0, node_fs_1.existsSync)(absolutePath)) {
12
+ export function backupFile(filePath) {
13
+ const absolutePath = resolve(filePath);
14
+ if (!existsSync(absolutePath)) {
19
15
  return null;
20
16
  }
21
- const stats = (0, node_fs_1.statSync)(absolutePath);
17
+ const stats = statSync(absolutePath);
22
18
  if (!stats.isFile()) {
23
19
  return null;
24
20
  }
25
21
  const projectRoot = process.cwd();
26
- const backupsDir = (0, node_path_1.join)(projectRoot, ".convext", "backups");
22
+ const backupsDir = join(projectRoot, ".convext", "backups");
27
23
  ensureDir(backupsDir);
28
24
  const fileName = absolutePath.replace(projectRoot, "").replace(/^\/+/, "").replace(/\//g, "__");
29
25
  const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
30
- const backupPath = (0, node_path_1.join)(backupsDir, `${fileName}.${timestamp}.bak`);
26
+ const backupPath = join(backupsDir, `${fileName}.${timestamp}.bak`);
31
27
  ensureParentDir(backupPath);
32
- (0, node_fs_1.renameSync)(absolutePath, backupPath);
28
+ renameSync(absolutePath, backupPath);
33
29
  return backupPath;
34
30
  }
35
31
  //# sourceMappingURL=fileManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../src/utils/fileManager.ts"],"names":[],"mappings":";;AASA,0CAGC;AAED,gCAsBC;AApCD,qCAAsE;AACtE,yCAAmD;AAEnD,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAA,mBAAS,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACzC,MAAM,YAAY,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAA,gBAAI,EAAC,UAAU,EAAE,GAAG,QAAQ,IAAI,SAAS,MAAM,CAAC,CAAC;IAEpE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5B,IAAA,oBAAU,EAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrC,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../src/utils/fileManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,SAAS,CAAC,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5D,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChG,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,QAAQ,IAAI,SAAS,MAAM,CAAC,CAAC;IAEpE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5B,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACrC,OAAO,UAAU,CAAC;AACpB,CAAC"}