airpilot 0.0.2 → 0.7.8

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 (67) hide show
  1. package/README.md +32 -18
  2. package/dist/airpilot/builders/config.d.ts +3 -0
  3. package/dist/airpilot/builders/config.d.ts.map +1 -0
  4. package/dist/airpilot/builders/config.js +168 -0
  5. package/dist/airpilot/builders/config.js.map +1 -0
  6. package/dist/airpilot/builders/content.d.ts +6 -0
  7. package/dist/airpilot/builders/content.d.ts.map +1 -0
  8. package/dist/airpilot/builders/content.js +276 -0
  9. package/dist/airpilot/builders/content.js.map +1 -0
  10. package/dist/airpilot/builders/domains.d.ts +2 -0
  11. package/dist/airpilot/builders/domains.d.ts.map +1 -0
  12. package/dist/airpilot/builders/domains.js +212 -0
  13. package/dist/airpilot/builders/domains.js.map +1 -0
  14. package/dist/airpilot/builders/scaffold.d.ts +2 -0
  15. package/dist/airpilot/builders/scaffold.d.ts.map +1 -0
  16. package/dist/airpilot/builders/scaffold.js +218 -0
  17. package/dist/airpilot/builders/scaffold.js.map +1 -0
  18. package/dist/airpilot/cli.d.ts +4 -0
  19. package/dist/airpilot/cli.d.ts.map +1 -0
  20. package/dist/airpilot/cli.js +87 -0
  21. package/dist/airpilot/cli.js.map +1 -0
  22. package/dist/airpilot/commands/init.d.ts +2 -0
  23. package/dist/airpilot/commands/init.d.ts.map +1 -0
  24. package/dist/airpilot/commands/init.js +257 -0
  25. package/dist/airpilot/commands/init.js.map +1 -0
  26. package/dist/airpilot/commands/license.d.ts +2 -0
  27. package/dist/airpilot/commands/license.d.ts.map +1 -0
  28. package/dist/airpilot/commands/license.js +213 -0
  29. package/dist/airpilot/commands/license.js.map +1 -0
  30. package/dist/airpilot/commands/sync.d.ts +3 -0
  31. package/dist/airpilot/commands/sync.d.ts.map +1 -0
  32. package/dist/airpilot/commands/sync.js +42 -0
  33. package/dist/airpilot/commands/sync.js.map +1 -0
  34. package/dist/airpilot/license.d.ts +26 -0
  35. package/dist/airpilot/license.d.ts.map +1 -0
  36. package/dist/airpilot/license.js +249 -0
  37. package/dist/airpilot/license.js.map +1 -0
  38. package/dist/airpilot/types.d.ts +69 -0
  39. package/dist/airpilot/types.d.ts.map +1 -0
  40. package/dist/airpilot/types.js +3 -0
  41. package/dist/airpilot/types.js.map +1 -0
  42. package/dist/airpilot/ui/panels.d.ts +27 -0
  43. package/dist/airpilot/ui/panels.d.ts.map +1 -0
  44. package/dist/airpilot/ui/panels.js +425 -0
  45. package/dist/airpilot/ui/panels.js.map +1 -0
  46. package/dist/airpilot/ui/prompts.d.ts +4 -0
  47. package/dist/airpilot/ui/prompts.d.ts.map +1 -0
  48. package/dist/airpilot/ui/prompts.js +52 -0
  49. package/dist/airpilot/ui/prompts.js.map +1 -0
  50. package/dist/airpilot/ui/textFormatter.d.ts +25 -0
  51. package/dist/airpilot/ui/textFormatter.d.ts.map +1 -0
  52. package/dist/airpilot/ui/textFormatter.js +174 -0
  53. package/dist/airpilot/ui/textFormatter.js.map +1 -0
  54. package/dist/airpilot/utils/backup.d.ts +4 -0
  55. package/dist/airpilot/utils/backup.d.ts.map +1 -0
  56. package/dist/airpilot/utils/backup.js +73 -0
  57. package/dist/airpilot/utils/backup.js.map +1 -0
  58. package/dist/airpilot/utils/git.d.ts +2 -0
  59. package/dist/airpilot/utils/git.d.ts.map +1 -0
  60. package/dist/airpilot/utils/git.js +74 -0
  61. package/dist/airpilot/utils/git.js.map +1 -0
  62. package/dist/airpilot/utils/version.d.ts +2 -0
  63. package/dist/airpilot/utils/version.d.ts.map +1 -0
  64. package/dist/airpilot/utils/version.js +59 -0
  65. package/dist/airpilot/utils/version.js.map +1 -0
  66. package/package.json +59 -19
  67. package/index.js +0 -44
@@ -0,0 +1,174 @@
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.TextFormatter = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ class TextFormatter {
9
+ static formatStructured(content) {
10
+ const lines = [];
11
+ content.items.forEach(item => {
12
+ switch (item.type) {
13
+ case 'title':
14
+ lines.push(chalk_1.default.bold.white(item.content || ''));
15
+ break;
16
+ case 'subtitle':
17
+ lines.push(chalk_1.default.bold.blue(item.content || ''));
18
+ break;
19
+ case 'body':
20
+ let bodyText = chalk_1.default.gray(item.content || '');
21
+ bodyText = bodyText.replace(/\b(Congratulations!)\b/g, chalk_1.default.green('$1'));
22
+ bodyText = bodyText.replace(/\b(Note:)\b/g, chalk_1.default.yellow('$1'));
23
+ bodyText = bodyText.replace(/(\.air)(?=\s)/g, chalk_1.default.cyan('$1'));
24
+ bodyText = bodyText.replace(/\b(air\s+\w+)\b/g, chalk_1.default.cyan('$1'));
25
+ lines.push(bodyText);
26
+ break;
27
+ case 'header':
28
+ lines.push(chalk_1.default.bold.white(`${item.content}:`));
29
+ break;
30
+ case 'command':
31
+ const command = chalk_1.default.cyan(item.command || '');
32
+ let cmdDesc;
33
+ if (typeof item.description === 'string') {
34
+ cmdDesc = chalk_1.default.gray(item.description);
35
+ }
36
+ else if (item.description && item.description.type === 'inline') {
37
+ cmdDesc = item.description.segments.map(segment => {
38
+ switch (segment.style) {
39
+ case 'command': return chalk_1.default.cyan(segment.text);
40
+ case 'option': return chalk_1.default.yellow(segment.text);
41
+ case 'path': return chalk_1.default.blackBright(segment.text);
42
+ case 'url': return chalk_1.default.blackBright(segment.text);
43
+ default: return chalk_1.default.gray(segment.text);
44
+ }
45
+ }).join('');
46
+ }
47
+ else {
48
+ cmdDesc = '';
49
+ }
50
+ const paddedCommand = (item.command || '').padEnd(26);
51
+ lines.push(` ${chalk_1.default.cyan(paddedCommand)}${cmdDesc}`);
52
+ break;
53
+ case 'option':
54
+ const option = chalk_1.default.yellow(item.command || '');
55
+ let optDesc;
56
+ if (typeof item.description === 'string') {
57
+ optDesc = chalk_1.default.gray(item.description);
58
+ }
59
+ else if (item.description && item.description.type === 'inline') {
60
+ optDesc = item.description.segments.map(segment => {
61
+ switch (segment.style) {
62
+ case 'command': return chalk_1.default.cyan(segment.text);
63
+ case 'option': return chalk_1.default.yellow(segment.text);
64
+ case 'path': return chalk_1.default.blackBright(segment.text);
65
+ case 'url': return chalk_1.default.blackBright(segment.text);
66
+ default: return chalk_1.default.gray(segment.text);
67
+ }
68
+ }).join('');
69
+ }
70
+ else {
71
+ optDesc = '';
72
+ }
73
+ const paddedOption = (item.command || '').padEnd(26);
74
+ lines.push(` ${chalk_1.default.yellow(paddedOption)}${optDesc}`);
75
+ break;
76
+ case 'bullet':
77
+ lines.push(`• ${chalk_1.default.gray(item.content || '')}`);
78
+ break;
79
+ case 'text':
80
+ let text = chalk_1.default.gray(item.content || '');
81
+ text = text.replace(/\b(Note:)\b/g, chalk_1.default.yellow('$1'));
82
+ text = text.replace(/(\.air)(?=\s)/g, chalk_1.default.cyan('$1'));
83
+ text = text.replace(/\b(air\s+\w+)\b/g, chalk_1.default.cyan('$1'));
84
+ lines.push(text);
85
+ break;
86
+ case 'note':
87
+ lines.push(chalk_1.default.yellow(item.content || ''));
88
+ break;
89
+ case 'inline':
90
+ if (item.segments) {
91
+ const styledSegments = item.segments.map(segment => {
92
+ switch (segment.style) {
93
+ case 'command':
94
+ return chalk_1.default.cyan(segment.text);
95
+ case 'option':
96
+ return chalk_1.default.yellow(segment.text);
97
+ case 'path':
98
+ return chalk_1.default.blackBright(segment.text);
99
+ case 'url':
100
+ return chalk_1.default.blackBright(segment.text);
101
+ default:
102
+ return chalk_1.default.gray(segment.text);
103
+ }
104
+ });
105
+ lines.push(styledSegments.join(''));
106
+ }
107
+ else {
108
+ lines.push(chalk_1.default.gray(item.content || ''));
109
+ }
110
+ break;
111
+ case 'success':
112
+ lines.push(chalk_1.default.green(item.content || ''));
113
+ break;
114
+ case 'version':
115
+ lines.push(chalk_1.default.green(item.content || ''));
116
+ break;
117
+ case 'path':
118
+ lines.push(chalk_1.default.blackBright(item.content || ''));
119
+ break;
120
+ case 'url':
121
+ lines.push(chalk_1.default.blackBright(item.content || ''));
122
+ break;
123
+ case 'space':
124
+ lines.push('');
125
+ break;
126
+ }
127
+ });
128
+ return lines.join('\n');
129
+ }
130
+ static format(text) {
131
+ return text
132
+ .replace(/^(AirPilot[^:]*?)$/gm, (match) => {
133
+ return `${chalk_1.default.bold.white(match)}`;
134
+ })
135
+ .replace(/^([A-Z][a-zA-Z\s]+):$/gm, (match, header) => {
136
+ return `${chalk_1.default.bold.white(header)}:`;
137
+ })
138
+ .replace(/^(\s+)([a-z]+(?:\s+<[^>]+>)?)(\s+)(.+)$/gm, (match, spaces, command, whitespace, description) => {
139
+ return `${spaces}${chalk_1.default.cyan(command)}${whitespace}${chalk_1.default.gray(description)}`;
140
+ })
141
+ .replace(/^(\s+)(air\s+[\w\s\-<>]+)(\s+)(.+)$/gm, (match, spaces, command, whitespace, description) => {
142
+ return `${spaces}${chalk_1.default.cyan(command.trim())}${whitespace}${chalk_1.default.gray(description)}`;
143
+ })
144
+ .replace(/^(\s+)(--[\w-]+)(\s+)(.+)$/gm, (match, spaces, option, whitespace, description) => {
145
+ return `${spaces}${chalk_1.default.yellow(option)}${whitespace}${chalk_1.default.gray(description)}`;
146
+ })
147
+ .replace(/\.air(?=\s)/g, () => {
148
+ return chalk_1.default.cyan('.air');
149
+ })
150
+ .replace(/\b(Congratulations!|Note:|SUCCESS:|ERROR:|WARNING:)\b/g, (match) => {
151
+ if (match === 'Congratulations!')
152
+ return chalk_1.default.green(match);
153
+ if (match === 'Note:')
154
+ return chalk_1.default.yellow(match);
155
+ if (match === 'SUCCESS:')
156
+ return chalk_1.default.green(match);
157
+ if (match === 'ERROR:')
158
+ return chalk_1.default.red(match);
159
+ if (match === 'WARNING:')
160
+ return chalk_1.default.yellow(match);
161
+ return match;
162
+ });
163
+ }
164
+ static autoFormat(content) {
165
+ if (typeof content === 'string') {
166
+ return this.format(content);
167
+ }
168
+ else {
169
+ return this.formatStructured(content);
170
+ }
171
+ }
172
+ }
173
+ exports.TextFormatter = TextFormatter;
174
+ //# sourceMappingURL=textFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textFormatter.js","sourceRoot":"","sources":["../../../src/airpilot/ui/textFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function backupExistingAir(airDir: string): Promise<string>;
2
+ export declare function backupAiVendors(projectDir: string): Promise<void>;
3
+ export declare function detectAirStandard(airDir: string): Promise<boolean>;
4
+ //# sourceMappingURL=backup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../../src/airpilot/utils/backup.ts"],"names":[],"mappings":"AAYA,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKvE;AAKD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvE;AAKD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAIxE"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.backupExistingAir = backupExistingAir;
37
+ exports.backupAiVendors = backupAiVendors;
38
+ exports.detectAirStandard = detectAirStandard;
39
+ const fs = __importStar(require("fs-extra"));
40
+ const path = __importStar(require("path"));
41
+ const panels_1 = require("../ui/panels");
42
+ async function backupExistingAir(airDir) {
43
+ const timestamp = Math.floor(Date.now() / 1000);
44
+ const backupPath = path.join(path.dirname(airDir), `.air.backup.${timestamp}`);
45
+ await fs.move(airDir, backupPath);
46
+ return backupPath;
47
+ }
48
+ async function backupAiVendors(projectDir) {
49
+ const vendorDirs = ['.claude', '.cursor', '.cline', '.clinerules', '.github/copilot-instructions'];
50
+ const foundVendors = [];
51
+ for (const vendor of vendorDirs) {
52
+ const vendorPath = path.join(projectDir, vendor);
53
+ if (await fs.pathExists(vendorPath)) {
54
+ foundVendors.push(vendor);
55
+ }
56
+ }
57
+ if (foundVendors.length > 0) {
58
+ const message = {
59
+ items: [
60
+ { type: 'header', content: 'Found existing AI vendor directories' },
61
+ ...foundVendors.map(v => ({ type: 'bullet', content: v })),
62
+ { type: 'space' },
63
+ { type: 'text', content: 'Note: These will be backed up by AirPilot VSCode extension on first sync' }
64
+ ]
65
+ };
66
+ console.log(panels_1.PanelRenderer.createRichPanel(message, 'AI Vendor Directories Detected'));
67
+ }
68
+ }
69
+ async function detectAirStandard(airDir) {
70
+ const rulesIndex = path.join(airDir, 'rules', 'index.md');
71
+ return await fs.pathExists(rulesIndex);
72
+ }
73
+ //# sourceMappingURL=backup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../src/airpilot/utils/backup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,8CAKC;AAKD,0CAuBC;AAKD,8CAIC;AAjDD,6CAA+B;AAC/B,2CAA6B;AAC7B,yCAA6C;AAKtC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,SAAS,EAAE,CAAC,CAAC;IAC/E,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,OAAO,UAAU,CAAC;AACpB,CAAC;AAKM,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,8BAA8B,CAAC,CAAC;IACnG,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG;YACd,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,sCAAsC,EAAE;gBAC5E,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnE,EAAE,IAAI,EAAE,OAAgB,EAAE;gBAC1B,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,0EAA0E,EAAE;aAC/G;SACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,sBAAa,CAAC,eAAe,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,iBAAiB,CAAC,MAAc;IAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function initGitIfNeeded(projectDir: string): Promise<void>;
2
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/airpilot/utils/git.ts"],"names":[],"mappings":"AAaA,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCvE"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.initGitIfNeeded = initGitIfNeeded;
37
+ const fs = __importStar(require("fs-extra"));
38
+ const path = __importStar(require("path"));
39
+ const child_process_1 = require("child_process");
40
+ const panels_1 = require("../ui/panels");
41
+ async function initGitIfNeeded(projectDir) {
42
+ const gitDir = path.join(projectDir, '.git');
43
+ if (!(await fs.pathExists(gitDir))) {
44
+ try {
45
+ (0, child_process_1.execSync)('git init', { cwd: projectDir, stdio: 'pipe' });
46
+ const successContent = {
47
+ items: [
48
+ { type: 'success', content: 'Git repository initialized successfully' }
49
+ ]
50
+ };
51
+ console.log(panels_1.PanelRenderer.createRichPanel(successContent, 'Git Initialized', 'green'));
52
+ }
53
+ catch (error) {
54
+ try {
55
+ (0, child_process_1.execSync)('git --version', { stdio: 'pipe' });
56
+ const warningContent = {
57
+ items: [
58
+ { type: 'text', content: 'Could not initialize Git (git init failed)' }
59
+ ]
60
+ };
61
+ console.log(panels_1.PanelRenderer.createRichPanel(warningContent, 'Git Warning', 'yellow'));
62
+ }
63
+ catch {
64
+ const warningContent = {
65
+ items: [
66
+ { type: 'text', content: 'Git not found - skipping Git initialization' }
67
+ ]
68
+ };
69
+ console.log(panels_1.PanelRenderer.createRichPanel(warningContent, 'Git Warning', 'yellow'));
70
+ }
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/airpilot/utils/git.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,0CAmCC;AA3CD,6CAA+B;AAC/B,2CAA6B;AAC7B,iDAAyC;AACzC,yCAA6C;AAKtC,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE7C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAA,wBAAQ,EAAC,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzD,MAAM,cAAc,GAAG;gBACrB,KAAK,EAAE;oBACL,EAAE,IAAI,EAAE,SAAkB,EAAE,OAAO,EAAE,yCAAyC,EAAE;iBACjF;aACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,sBAAa,CAAC,eAAe,CAAC,cAAc,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC;gBACH,IAAA,wBAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAE7C,MAAM,cAAc,GAAG;oBACrB,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,4CAA4C,EAAE;qBACjF;iBACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,sBAAa,CAAC,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtF,CAAC;YAAC,MAAM,CAAC;gBAEP,MAAM,cAAc,GAAG;oBACrB,KAAK,EAAE;wBACL,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,6CAA6C,EAAE;qBAClF;iBACF,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,sBAAa,CAAC,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function getVersion(): string;
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/airpilot/utils/version.ts"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,IAAI,MAAM,CAuBnC"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getVersion = getVersion;
37
+ const fs = __importStar(require("fs-extra"));
38
+ const path = __importStar(require("path"));
39
+ function getVersion() {
40
+ try {
41
+ let currentDir = __dirname;
42
+ while (currentDir !== path.dirname(currentDir)) {
43
+ const packageJsonPath = path.join(currentDir, 'package.json');
44
+ if (fs.existsSync(packageJsonPath)) {
45
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
46
+ if (!packageJson.version) {
47
+ throw new Error('package.json found but version field is missing');
48
+ }
49
+ return packageJson.version;
50
+ }
51
+ currentDir = path.dirname(currentDir);
52
+ }
53
+ throw new Error('package.json not found in directory tree');
54
+ }
55
+ catch (error) {
56
+ throw new Error(`Failed to get version: ${error instanceof Error ? error.message : 'Unknown error'}`);
57
+ }
58
+ }
59
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/airpilot/utils/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,gCAuBC;AA7BD,6CAA+B;AAC/B,2CAA6B;AAK7B,SAAgB,UAAU;IACxB,IAAI,CAAC;QAEH,IAAI,UAAU,GAAG,SAAS,CAAC;QAE3B,OAAO,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAE9D,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO,WAAW,CAAC,OAAO,CAAC;YAC7B,CAAC;YAED,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACxG,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,35 +1,75 @@
1
1
  {
2
2
  "name": "airpilot",
3
- "version": "0.0.2",
4
- "description": "Universal AI Rules Pilot",
5
- "main": "index.js",
6
- "bin": {
7
- "airpilot": "./index.js",
8
- "air": "./index.js"
9
- },
10
- "scripts": {
11
- "test": "echo \"Placeholder package - AirPilot coming soon!\""
12
- },
3
+ "version": "0.7.8",
4
+ "description": "AirPilot CLI - Universal Intelligence Control through the Air Standard",
13
5
  "keywords": [
14
6
  "ai",
15
- "assistant",
7
+ "claude",
8
+ "cursor",
9
+ "cline",
10
+ "copilot",
16
11
  "rules",
17
- "management",
18
- "vscode",
19
- "cli",
20
- "configuration"
12
+ "intelligence-control",
13
+ "air-standard"
21
14
  ],
22
15
  "author": "Shane Holloman <shaneholloman@gmail.com>",
23
- "license": "SEE LICENSE IN LICENSE",
16
+ "license": "Elastic-2.0",
24
17
  "repository": {
25
18
  "type": "git",
26
- "url": "https://github.com/shaneholloman/airpilot.git"
19
+ "url": "https://github.com/shaneholloman/airpilot-cli-ts.git"
27
20
  },
28
21
  "bugs": {
29
22
  "url": "https://github.com/shaneholloman/airpilot/issues"
30
23
  },
31
- "homepage": "https://github.com/shaneholloman/airpilot#readme",
24
+ "homepage": "https://github.com/shaneholloman/airpilot",
25
+ "bin": {
26
+ "airpilot": "dist/airpilot/cli.js",
27
+ "air": "dist/airpilot/cli.js"
28
+ },
29
+ "main": "dist/airpilot/cli.js",
30
+ "files": [
31
+ "dist/**/*",
32
+ "README.md",
33
+ "LICENSE"
34
+ ],
35
+ "scripts": {
36
+ "build": "tsc",
37
+ "build:watch": "tsc --watch",
38
+ "dev": "tsx src/airpilot/cli.ts",
39
+ "start": "node dist/airpilot/cli.js",
40
+ "test": "jest",
41
+ "test:watch": "jest --watch",
42
+ "test:coverage": "jest --coverage",
43
+ "lint": "eslint src/**/*.ts",
44
+ "lint:fix": "eslint src/**/*.ts --fix",
45
+ "clean": "rimraf dist",
46
+ "prepublishOnly": "npm run clean && npm run build"
47
+ },
48
+ "dependencies": {
49
+ "@clack/prompts": "^0.7.0",
50
+ "ansi-styles": "^6.2.1",
51
+ "boxen": "^8.0.1",
52
+ "chalk": "^5.3.0",
53
+ "chokidar": "^4.0.3",
54
+ "cli-highlight": "^2.1.11",
55
+ "figures": "^6.1.0",
56
+ "fs-extra": "^11.2.0",
57
+ "simple-git": "^3.20.0"
58
+ },
59
+ "devDependencies": {
60
+ "@types/fs-extra": "^11.0.4",
61
+ "@types/jest": "^29.5.8",
62
+ "@types/node": "^20.10.0",
63
+ "@typescript-eslint/eslint-plugin": "^6.12.0",
64
+ "@typescript-eslint/parser": "^6.12.0",
65
+ "eslint": "^8.54.0",
66
+ "jest": "^29.7.0",
67
+ "rimraf": "^5.0.5",
68
+ "ts-jest": "^29.1.1",
69
+ "tsx": "^4.6.0",
70
+ "typescript": "^5.3.0"
71
+ },
32
72
  "engines": {
33
- "node": ">=16.0.0"
73
+ "node": ">=18.0.0"
34
74
  }
35
75
  }
package/index.js DELETED
@@ -1,44 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- const args = process.argv.slice(2);
4
-
5
- if (args.includes('--help') || args.includes('-h')) {
6
- console.log(`
7
- AirPilot - Universal AI Rules Pilot
8
-
9
- Usage: airpilot [options]
10
-
11
- Options:
12
- -h, --help Show this help message
13
- --version Show version number
14
-
15
- This is a placeholder package to reserve the 'airpilot' namespace.
16
- The full AirPilot CLI is coming soon!
17
-
18
- For more information:
19
- Repository: https://github.com/shaneholloman/airpilot
20
- Issues: https://github.com/shaneholloman/airpilot/issues
21
- `);
22
- } else if (args.includes('--version') || args.includes('-v')) {
23
- console.log('airpilot v0.0.1 (placeholder)');
24
- } else {
25
- console.log(`
26
- AirPilot - Universal AI Rules Pilot
27
-
28
- This is a placeholder package to reserve the 'airpilot' namespace.
29
-
30
- The full AirPilot platform is coming soon, featuring:
31
- - VSCode Extension for AI assistant rule management
32
- - Command-line interface for advanced configuration
33
- - Cross-platform AI assistant compatibility
34
-
35
- Run 'airpilot --help' for more information.
36
-
37
- Visit: https://github.com/shaneholloman/airpilot
38
- Contact: Shane Holloman
39
-
40
- Stay tuned for the official release!
41
- `);
42
- }
43
-
44
- process.exit(0);