@aigencydev/cli 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 (104) hide show
  1. package/README.md +83 -0
  2. package/dist/agent/chunker.js +59 -0
  3. package/dist/agent/chunker.js.map +1 -0
  4. package/dist/agent/history.js +35 -0
  5. package/dist/agent/history.js.map +1 -0
  6. package/dist/agent/loop.js +219 -0
  7. package/dist/agent/loop.js.map +1 -0
  8. package/dist/agent/memory.js +177 -0
  9. package/dist/agent/memory.js.map +1 -0
  10. package/dist/api-client/auth.js +43 -0
  11. package/dist/api-client/auth.js.map +1 -0
  12. package/dist/api-client/base.js +154 -0
  13. package/dist/api-client/base.js.map +1 -0
  14. package/dist/api-client/stream.js +123 -0
  15. package/dist/api-client/stream.js.map +1 -0
  16. package/dist/api-client/updates.js +31 -0
  17. package/dist/api-client/updates.js.map +1 -0
  18. package/dist/api-client/usage.js +15 -0
  19. package/dist/api-client/usage.js.map +1 -0
  20. package/dist/auth/oauth.js +178 -0
  21. package/dist/auth/oauth.js.map +1 -0
  22. package/dist/auth/pkce.js +19 -0
  23. package/dist/auth/pkce.js.map +1 -0
  24. package/dist/auth/session.js +48 -0
  25. package/dist/auth/session.js.map +1 -0
  26. package/dist/auth/storage.js +142 -0
  27. package/dist/auth/storage.js.map +1 -0
  28. package/dist/cli.js +161 -0
  29. package/dist/cli.js.map +1 -0
  30. package/dist/commands/chat.js +76 -0
  31. package/dist/commands/chat.js.map +1 -0
  32. package/dist/commands/help.js +61 -0
  33. package/dist/commands/help.js.map +1 -0
  34. package/dist/commands/init.js +43 -0
  35. package/dist/commands/init.js.map +1 -0
  36. package/dist/commands/login.js +153 -0
  37. package/dist/commands/login.js.map +1 -0
  38. package/dist/commands/logout.js +30 -0
  39. package/dist/commands/logout.js.map +1 -0
  40. package/dist/commands/update.js +88 -0
  41. package/dist/commands/update.js.map +1 -0
  42. package/dist/commands/usage.js +64 -0
  43. package/dist/commands/usage.js.map +1 -0
  44. package/dist/config/defaults.js +54 -0
  45. package/dist/config/defaults.js.map +1 -0
  46. package/dist/config/hooks.js +99 -0
  47. package/dist/config/hooks.js.map +1 -0
  48. package/dist/config/paths.js +62 -0
  49. package/dist/config/paths.js.map +1 -0
  50. package/dist/config/settings.js +80 -0
  51. package/dist/config/settings.js.map +1 -0
  52. package/dist/index.js +36 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/security/command-filter.js +121 -0
  55. package/dist/security/command-filter.js.map +1 -0
  56. package/dist/security/sandbox.js +182 -0
  57. package/dist/security/sandbox.js.map +1 -0
  58. package/dist/security/sanitize.js +59 -0
  59. package/dist/security/sanitize.js.map +1 -0
  60. package/dist/tools/bash.js +206 -0
  61. package/dist/tools/bash.js.map +1 -0
  62. package/dist/tools/diff.js +56 -0
  63. package/dist/tools/diff.js.map +1 -0
  64. package/dist/tools/edit-file.js +165 -0
  65. package/dist/tools/edit-file.js.map +1 -0
  66. package/dist/tools/list-files.js +116 -0
  67. package/dist/tools/list-files.js.map +1 -0
  68. package/dist/tools/read-file.js +107 -0
  69. package/dist/tools/read-file.js.map +1 -0
  70. package/dist/tools/registry.js +54 -0
  71. package/dist/tools/registry.js.map +1 -0
  72. package/dist/tools/search-files.js +159 -0
  73. package/dist/tools/search-files.js.map +1 -0
  74. package/dist/tools/types.js +5 -0
  75. package/dist/tools/types.js.map +1 -0
  76. package/dist/tools/write-file.js +141 -0
  77. package/dist/tools/write-file.js.map +1 -0
  78. package/dist/types/index.js +8 -0
  79. package/dist/types/index.js.map +1 -0
  80. package/dist/ui/App.js +264 -0
  81. package/dist/ui/App.js.map +1 -0
  82. package/dist/ui/InputBar.js +22 -0
  83. package/dist/ui/InputBar.js.map +1 -0
  84. package/dist/ui/MessageList.js +82 -0
  85. package/dist/ui/MessageList.js.map +1 -0
  86. package/dist/ui/ModeIndicator.js +23 -0
  87. package/dist/ui/ModeIndicator.js.map +1 -0
  88. package/dist/ui/PermissionPrompt.js +61 -0
  89. package/dist/ui/PermissionPrompt.js.map +1 -0
  90. package/dist/ui/StatusBar.js +39 -0
  91. package/dist/ui/StatusBar.js.map +1 -0
  92. package/dist/ui/theme.js +42 -0
  93. package/dist/ui/theme.js.map +1 -0
  94. package/dist/utils/abort.js +61 -0
  95. package/dist/utils/abort.js.map +1 -0
  96. package/dist/utils/errors.js +63 -0
  97. package/dist/utils/errors.js.map +1 -0
  98. package/dist/utils/formatting.js +102 -0
  99. package/dist/utils/formatting.js.map +1 -0
  100. package/dist/utils/logger.js +43 -0
  101. package/dist/utils/logger.js.map +1 -0
  102. package/dist/version.js +10 -0
  103. package/dist/version.js.map +1 -0
  104. package/package.json +64 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * AIGENCY CLI — hata sınıfları.
3
+ *
4
+ * Tüm kontrollü hatalar CliError'dan türer. CLI entry point bunları
5
+ * yakalayıp insan dostu mesajla çıkış yapar.
6
+ */
7
+ export class CliError extends Error {
8
+ code;
9
+ status;
10
+ details;
11
+ hint;
12
+ constructor(message, options) {
13
+ super(message);
14
+ this.name = "CliError";
15
+ this.code = options.code;
16
+ this.status = options.status;
17
+ this.details = options.details;
18
+ this.hint = options.hint;
19
+ if (options.cause !== undefined) {
20
+ this.cause = options.cause;
21
+ }
22
+ }
23
+ }
24
+ export class AuthError extends CliError {
25
+ constructor(message, hint) {
26
+ super(message, { code: "auth_error", status: 401, hint });
27
+ this.name = "AuthError";
28
+ }
29
+ }
30
+ export class NetworkError extends CliError {
31
+ constructor(message, cause) {
32
+ super(message, {
33
+ code: "network_error",
34
+ hint: "İnternet bağlantınızı kontrol edin veya birazdan tekrar deneyin.",
35
+ cause,
36
+ });
37
+ this.name = "NetworkError";
38
+ }
39
+ }
40
+ export class ConfigError extends CliError {
41
+ constructor(message, hint) {
42
+ super(message, { code: "config_error", hint });
43
+ this.name = "ConfigError";
44
+ }
45
+ }
46
+ export class QuotaError extends CliError {
47
+ constructor(message, details) {
48
+ super(message, {
49
+ code: "quota_exceeded",
50
+ status: 429,
51
+ details,
52
+ hint: "Aylık AIGENCY CLI kotanız doldu. `aigency usage --upgrade` ile paketinizi yükseltin.",
53
+ });
54
+ this.name = "QuotaError";
55
+ }
56
+ }
57
+ export class ValidationError extends CliError {
58
+ constructor(message, details) {
59
+ super(message, { code: "validation_error", status: 400, details });
60
+ this.name = "ValidationError";
61
+ }
62
+ }
63
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAS;IACb,MAAM,CAAU;IAChB,OAAO,CAAW;IAClB,IAAI,CAAU;IAE9B,YACE,OAAe,EACf,OAMC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,IAA4B,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,QAAQ;IACrC,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,kEAAkE;YACxE,KAAK;SACN,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,GAAG;YACX,OAAO;YACP,IAAI,EAAE,sFAAsF;SAC7F,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * AIGENCY CLI — ANSI renk ve biçimlendirme yardımcıları.
3
+ *
4
+ * Dış bir paket (chalk vs.) eklemeden doğrudan ANSI escape sequence'leri
5
+ * kullanıyoruz — binary boyutunu küçük tutar, Bun compile'da bağımlılık
6
+ * çakışması olmaz.
7
+ */
8
+ const ESC = "\u001b[";
9
+ function wrap(code, text) {
10
+ if (!process.stdout.isTTY)
11
+ return text;
12
+ return `${ESC}${code}m${text}${ESC}0m`;
13
+ }
14
+ export const color = {
15
+ dim: (s) => wrap(2, s),
16
+ bold: (s) => wrap(1, s),
17
+ underline: (s) => wrap(4, s),
18
+ red: (s) => wrap(31, s),
19
+ green: (s) => wrap(32, s),
20
+ yellow: (s) => wrap(33, s),
21
+ blue: (s) => wrap(34, s),
22
+ magenta: (s) => wrap(35, s),
23
+ cyan: (s) => wrap(36, s),
24
+ gray: (s) => wrap(90, s),
25
+ white: (s) => wrap(97, s),
26
+ };
27
+ export const symbols = {
28
+ tick: process.platform === "win32" ? "√" : "✓",
29
+ cross: process.platform === "win32" ? "×" : "✗",
30
+ info: process.platform === "win32" ? "i" : "ℹ",
31
+ warning: process.platform === "win32" ? "!" : "⚠",
32
+ arrow: process.platform === "win32" ? "->" : "→",
33
+ bullet: "•",
34
+ ellipsis: "…",
35
+ };
36
+ export function formatTable(rows) {
37
+ if (rows.length === 0)
38
+ return "";
39
+ const headers = Object.keys(rows[0]);
40
+ const widths = {};
41
+ for (const h of headers) {
42
+ widths[h] = Math.max(h.length, ...rows.map((r) => String(r[h] ?? "").length));
43
+ }
44
+ const headerLine = headers
45
+ .map((h) => color.bold(h.padEnd(widths[h])))
46
+ .join(" ");
47
+ const separator = headers.map((h) => "─".repeat(widths[h])).join(" ");
48
+ const dataLines = rows.map((r) => headers.map((h) => String(r[h] ?? "").padEnd(widths[h])).join(" "));
49
+ return [headerLine, color.dim(separator), ...dataLines].join("\n");
50
+ }
51
+ export function formatNumber(n) {
52
+ return n.toLocaleString("tr-TR");
53
+ }
54
+ export function formatBytes(bytes) {
55
+ if (bytes < 1024)
56
+ return `${bytes} B`;
57
+ if (bytes < 1024 * 1024)
58
+ return `${(bytes / 1024).toFixed(1)} KB`;
59
+ if (bytes < 1024 * 1024 * 1024)
60
+ return `${(bytes / 1024 / 1024).toFixed(1)} MB`;
61
+ return `${(bytes / 1024 / 1024 / 1024).toFixed(2)} GB`;
62
+ }
63
+ export function formatDuration(ms) {
64
+ if (ms < 1000)
65
+ return `${ms}ms`;
66
+ if (ms < 60_000)
67
+ return `${(ms / 1000).toFixed(1)}s`;
68
+ const minutes = Math.floor(ms / 60_000);
69
+ const seconds = Math.floor((ms % 60_000) / 1000);
70
+ return `${minutes}dk ${seconds}s`;
71
+ }
72
+ export function formatRelativeTime(iso) {
73
+ const now = Date.now();
74
+ const then = new Date(iso).getTime();
75
+ const diff = now - then;
76
+ if (diff < 60_000)
77
+ return "az önce";
78
+ if (diff < 3_600_000)
79
+ return `${Math.floor(diff / 60_000)} dk önce`;
80
+ if (diff < 86_400_000)
81
+ return `${Math.floor(diff / 3_600_000)} saat önce`;
82
+ return `${Math.floor(diff / 86_400_000)} gün önce`;
83
+ }
84
+ export function progressBar(percent, width = 24) {
85
+ const clamped = Math.max(0, Math.min(100, percent));
86
+ const filled = Math.round((clamped / 100) * width);
87
+ const empty = width - filled;
88
+ const bar = "█".repeat(filled) + "░".repeat(empty);
89
+ if (clamped >= 85)
90
+ return color.red(bar);
91
+ if (clamped >= 60)
92
+ return color.yellow(bar);
93
+ return color.green(bar);
94
+ }
95
+ export function indent(text, spaces = 2) {
96
+ const prefix = " ".repeat(spaces);
97
+ return text
98
+ .split("\n")
99
+ .map((line) => (line ? prefix + line : line))
100
+ .join("\n");
101
+ }
102
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/utils/formatting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * AIGENCY CLI — basit logger.
3
+ *
4
+ * stdout'a insan dostu mesaj yazar. Debug mesajları sadece AIGENCY_CLI_DEBUG=1
5
+ * ortam değişkeni varsa görünür.
6
+ *
7
+ * Not: Dosya loglama Faz 4'te eklenecek (rotating file). Şimdilik sadece konsol.
8
+ */
9
+ import { color, symbols } from "./formatting.js";
10
+ const DEBUG_ENABLED = process.env.AIGENCY_CLI_DEBUG === "1" ||
11
+ process.env.AIGENCY_CLI_DEBUG === "true";
12
+ export const log = {
13
+ info(message) {
14
+ process.stdout.write(`${color.cyan(symbols.info)} ${message}\n`);
15
+ },
16
+ success(message) {
17
+ process.stdout.write(`${color.green(symbols.tick)} ${message}\n`);
18
+ },
19
+ warn(message) {
20
+ process.stderr.write(`${color.yellow(symbols.warning)} ${message}\n`);
21
+ },
22
+ error(message) {
23
+ process.stderr.write(`${color.red(symbols.cross)} ${message}\n`);
24
+ },
25
+ dim(message) {
26
+ process.stdout.write(`${color.dim(message)}\n`);
27
+ },
28
+ plain(message) {
29
+ process.stdout.write(`${message}\n`);
30
+ },
31
+ debug(message) {
32
+ if (!DEBUG_ENABLED)
33
+ return;
34
+ process.stderr.write(`${color.gray(`[debug] ${message}`)}\n`);
35
+ },
36
+ hint(message) {
37
+ process.stdout.write(` ${color.dim(symbols.arrow)} ${color.dim(message)}\n`);
38
+ },
39
+ newline() {
40
+ process.stdout.write("\n");
41
+ },
42
+ };
43
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;IACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAC;AAE3C,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,CAAC,OAAe;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED,OAAO;QACL,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * AIGENCY CLI — sürüm sabiti.
3
+ *
4
+ * Bu dosya build sırasında otomatik güncellenir. Hard-code tutulmasının
5
+ * sebebi: compiled binary'de package.json okumaya gerek bırakmaz.
6
+ */
7
+ export const CLI_VERSION = "0.1.0";
8
+ export const CLI_NAME = "aigency";
9
+ export const CLI_DISPLAY_NAME = "AIGENCY CLI";
10
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC"}
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@aigencydev/cli",
3
+ "version": "0.1.0",
4
+ "description": "AIGENCY CLI — terminalden yapay zeka destekli kod üretimi, dosya yönetimi ve proje otomasyonu.",
5
+ "type": "module",
6
+ "bin": {
7
+ "aigency": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc -p tsconfig.json",
16
+ "clean": "node -e \"import('node:fs').then(fs => fs.rmSync('dist', { recursive: true, force: true }))\"",
17
+ "typecheck": "tsc -p tsconfig.json --noEmit",
18
+ "test": "vitest run",
19
+ "test:watch": "vitest",
20
+ "dev": "node --import tsx src/index.ts",
21
+ "start": "node dist/index.js",
22
+ "release": "node scripts/build-release.mjs",
23
+ "prepublishOnly": "npm run clean && npm run build && npm test"
24
+ },
25
+ "engines": {
26
+ "node": ">=18.18.0"
27
+ },
28
+ "dependencies": {
29
+ "commander": "^12.1.0",
30
+ "ink": "^5.0.1",
31
+ "ink-text-input": "^6.0.0",
32
+ "react": "^18.3.1",
33
+ "zod": "^3.23.8"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^20.14.0",
37
+ "@types/react": "^18.3.12",
38
+ "tsx": "^4.19.0",
39
+ "typescript": "^5.6.0",
40
+ "vitest": "^4.1.4"
41
+ },
42
+ "keywords": [
43
+ "aigency",
44
+ "cli",
45
+ "agent",
46
+ "terminal",
47
+ "codegen",
48
+ "ai",
49
+ "coding-assistant"
50
+ ],
51
+ "homepage": "https://aigency.dev/forge",
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "https://github.com/aigencydev/cli.git"
55
+ },
56
+ "bugs": {
57
+ "url": "https://aigency.dev/contact"
58
+ },
59
+ "author": "AIGENCY",
60
+ "license": "SEE LICENSE IN LICENSE.md",
61
+ "publishConfig": {
62
+ "access": "public"
63
+ }
64
+ }