@a5gard/asgard 0.0.1

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 (207) hide show
  1. package/.env +2 -0
  2. package/.gitignore copy +6 -0
  3. package/.vscode/ntrsync/.vscode/ocrmnavigator/id.txt +1 -0
  4. package/.vscode/ntrsync/.vscode/ocrmnavigator.code-snippets +3664 -0
  5. package/.vscode/ntrsync/00002_CRM URGENT_todo.md +79 -0
  6. package/.vscode/ntrsync/10005_notes repo url.md +3 -0
  7. package/.vscode/ntrsync/10012_vscode_color_settings.md +133 -0
  8. package/.vscode/ntrsync/10013_Googles Snapchat Upload Hack note.md +11 -0
  9. package/.vscode/ntrsync/10014_APP IDEA - Lawyer CRM.md +229 -0
  10. package/.vscode/ntrsync/10015_APP IDEA - Onlyfans.md +293 -0
  11. package/.vscode/ntrsync/10016_notes repo url.md +3 -0
  12. package/.vscode/ntrsync/10504_adhd symptom.md +3 -0
  13. package/.vscode/ntrsync/10505_APP IDEA - GMAIL.md +39 -0
  14. package/.vscode/ntrsync/10506_container home - build mats.md +18 -0
  15. package/.vscode/ntrsync/10507_cleint facing site meta and loader function.md +25 -0
  16. package/.vscode/ntrsync/10508_Sabaak VSCode 1-8 players - private teams, solo q, duos q.md +11 -0
  17. package/.vscode/ntrsync/10509_schema dump.md +80 -0
  18. package/.vscode/ntrsync/10510_APPT BEACONHILL_reminder.md +7 -0
  19. package/.vscode/ntrsync/10512_clipboard very usefull should use asap within all apps.md +101 -0
  20. package/.vscode/ntrsync/10516_DevStack_todo.md +130 -0
  21. package/.vscode/ntrsync/10517_CRM_todo.md +95 -0
  22. package/.vscode/ntrsync/10518_Catalyst POS_todo.md +73 -0
  23. package/.vscode/ntrsync/10519_Catalyst Software_todo.md +497 -0
  24. package/.vscode/ntrsync/10523_new note.md +6 -0
  25. package/.vscode/ntrsync/10524_New Reminder_reminder.md +5 -0
  26. package/.vscode/ntrsync/10525_Mobile - Notes, To-Dos And Things_todo.md +4 -0
  27. package/.vscode/ntrsync/90002_COMPLETED_todo.md +97 -0
  28. package/.vscode/ntrsync/README.md +1 -0
  29. package/.vscode/ocrmnavigator/id.txt +1 -0
  30. package/.vscode/ocrmnavigator.code-snippets +349 -0
  31. package/.vscode/settings.json +1 -0
  32. package/CHANGELOG.md +6 -0
  33. package/LICENSE.md +21 -0
  34. package/README.md +1612 -0
  35. package/bin/dev.cmd +3 -0
  36. package/bin/dev.js +17 -0
  37. package/bin/run.cmd +3 -0
  38. package/bin/run.js +5 -0
  39. package/config.asgard +8 -0
  40. package/dist/commands/add-source.d.ts +9 -0
  41. package/dist/commands/add-source.d.ts.map +1 -0
  42. package/dist/commands/add-source.js +68 -0
  43. package/dist/commands/add-source.js.map +1 -0
  44. package/dist/commands/baldr.d.ts +5 -0
  45. package/dist/commands/baldr.d.ts.map +1 -0
  46. package/dist/commands/baldr.js +35 -0
  47. package/dist/commands/baldr.js.map +1 -0
  48. package/dist/commands/combine-timelines.d.ts +5 -0
  49. package/dist/commands/combine-timelines.d.ts.map +1 -0
  50. package/dist/commands/combine-timelines.js +53 -0
  51. package/dist/commands/combine-timelines.js.map +1 -0
  52. package/dist/commands/create-project.d.ts +10 -0
  53. package/dist/commands/create-project.d.ts.map +1 -0
  54. package/dist/commands/create-project.js +195 -0
  55. package/dist/commands/create-project.js.map +1 -0
  56. package/dist/commands/create-timeline.d.ts +8 -0
  57. package/dist/commands/create-timeline.d.ts.map +1 -0
  58. package/dist/commands/create-timeline.js +54 -0
  59. package/dist/commands/create-timeline.js.map +1 -0
  60. package/dist/commands/delete-project.d.ts +5 -0
  61. package/dist/commands/delete-project.d.ts.map +1 -0
  62. package/dist/commands/delete-project.js +47 -0
  63. package/dist/commands/delete-project.js.map +1 -0
  64. package/dist/commands/delete-source.d.ts +8 -0
  65. package/dist/commands/delete-source.d.ts.map +1 -0
  66. package/dist/commands/delete-source.js +57 -0
  67. package/dist/commands/delete-source.js.map +1 -0
  68. package/dist/commands/delete-timeline.d.ts +8 -0
  69. package/dist/commands/delete-timeline.d.ts.map +1 -0
  70. package/dist/commands/delete-timeline.js +54 -0
  71. package/dist/commands/delete-timeline.js.map +1 -0
  72. package/dist/commands/delete-version.d.ts +8 -0
  73. package/dist/commands/delete-version.d.ts.map +1 -0
  74. package/dist/commands/delete-version.js +65 -0
  75. package/dist/commands/delete-version.js.map +1 -0
  76. package/dist/commands/download-file.d.ts +17 -0
  77. package/dist/commands/download-file.d.ts.map +1 -0
  78. package/dist/commands/download-file.js +87 -0
  79. package/dist/commands/download-file.js.map +1 -0
  80. package/dist/commands/download-folder.d.ts +18 -0
  81. package/dist/commands/download-folder.d.ts.map +1 -0
  82. package/dist/commands/download-folder.js +111 -0
  83. package/dist/commands/download-folder.js.map +1 -0
  84. package/dist/commands/download-source.d.ts +12 -0
  85. package/dist/commands/download-source.d.ts.map +1 -0
  86. package/dist/commands/download-source.js +46 -0
  87. package/dist/commands/download-source.js.map +1 -0
  88. package/dist/commands/gh-setup.d.ts +7 -0
  89. package/dist/commands/gh-setup.d.ts.map +1 -0
  90. package/dist/commands/gh-setup.js +106 -0
  91. package/dist/commands/gh-setup.js.map +1 -0
  92. package/dist/commands/load-project.d.ts +5 -0
  93. package/dist/commands/load-project.d.ts.map +1 -0
  94. package/dist/commands/load-project.js +56 -0
  95. package/dist/commands/load-project.js.map +1 -0
  96. package/dist/commands/menu.d.ts +5 -0
  97. package/dist/commands/menu.d.ts.map +1 -0
  98. package/dist/commands/menu.js +41 -0
  99. package/dist/commands/menu.js.map +1 -0
  100. package/dist/commands/midgardr.d.ts +5 -0
  101. package/dist/commands/midgardr.d.ts.map +1 -0
  102. package/dist/commands/midgardr.js +24 -0
  103. package/dist/commands/midgardr.js.map +1 -0
  104. package/dist/commands/publish-project.d.ts +5 -0
  105. package/dist/commands/publish-project.d.ts.map +1 -0
  106. package/dist/commands/publish-project.js +102 -0
  107. package/dist/commands/publish-project.js.map +1 -0
  108. package/dist/commands/replace-timeline.d.ts +8 -0
  109. package/dist/commands/replace-timeline.d.ts.map +1 -0
  110. package/dist/commands/replace-timeline.js +63 -0
  111. package/dist/commands/replace-timeline.js.map +1 -0
  112. package/dist/commands/restore-version.d.ts +8 -0
  113. package/dist/commands/restore-version.d.ts.map +1 -0
  114. package/dist/commands/restore-version.js +67 -0
  115. package/dist/commands/restore-version.js.map +1 -0
  116. package/dist/commands/save-project.d.ts +8 -0
  117. package/dist/commands/save-project.d.ts.map +1 -0
  118. package/dist/commands/save-project.js +43 -0
  119. package/dist/commands/save-project.js.map +1 -0
  120. package/dist/commands/set-source.d.ts +9 -0
  121. package/dist/commands/set-source.d.ts.map +1 -0
  122. package/dist/commands/set-source.js +59 -0
  123. package/dist/commands/set-source.js.map +1 -0
  124. package/dist/commands/switch-timeline.d.ts +8 -0
  125. package/dist/commands/switch-timeline.d.ts.map +1 -0
  126. package/dist/commands/switch-timeline.js +61 -0
  127. package/dist/commands/switch-timeline.js.map +1 -0
  128. package/dist/commands/sync-source.d.ts +5 -0
  129. package/dist/commands/sync-source.d.ts.map +1 -0
  130. package/dist/commands/sync-source.js +29 -0
  131. package/dist/commands/sync-source.js.map +1 -0
  132. package/dist/commands/upload-project+++.d.ts +5 -0
  133. package/dist/commands/upload-project+++.d.ts.map +1 -0
  134. package/dist/commands/upload-project+++.js +32 -0
  135. package/dist/commands/upload-project+++.js.map +1 -0
  136. package/dist/commands/upload-project++.d.ts +5 -0
  137. package/dist/commands/upload-project++.d.ts.map +1 -0
  138. package/dist/commands/upload-project++.js +33 -0
  139. package/dist/commands/upload-project++.js.map +1 -0
  140. package/dist/commands/upload-project+.d.ts +5 -0
  141. package/dist/commands/upload-project+.d.ts.map +1 -0
  142. package/dist/commands/upload-project+.js +40 -0
  143. package/dist/commands/upload-project+.js.map +1 -0
  144. package/dist/commands/upload-project.d.ts +5 -0
  145. package/dist/commands/upload-project.d.ts.map +1 -0
  146. package/dist/commands/upload-project.js +29 -0
  147. package/dist/commands/upload-project.js.map +1 -0
  148. package/dist/commands/view-timeline.d.ts +5 -0
  149. package/dist/commands/view-timeline.d.ts.map +1 -0
  150. package/dist/commands/view-timeline.js +39 -0
  151. package/dist/commands/view-timeline.js.map +1 -0
  152. package/dist/commands/view-versions.d.ts +5 -0
  153. package/dist/commands/view-versions.d.ts.map +1 -0
  154. package/dist/commands/view-versions.js +45 -0
  155. package/dist/commands/view-versions.js.map +1 -0
  156. package/dist/git/helpers.d.ts +10 -0
  157. package/dist/git/helpers.d.ts.map +1 -0
  158. package/dist/git/helpers.js +300 -0
  159. package/dist/git/helpers.js.map +1 -0
  160. package/dist/git/sync-repo.d.ts +2 -0
  161. package/dist/git/sync-repo.d.ts.map +1 -0
  162. package/dist/git/sync-repo.js +17 -0
  163. package/dist/git/sync-repo.js.map +1 -0
  164. package/dist/index.d.ts +2 -0
  165. package/dist/index.d.ts.map +1 -0
  166. package/dist/index.js +3 -0
  167. package/dist/index.js.map +1 -0
  168. package/dist/utils/box.d.ts +11 -0
  169. package/dist/utils/box.d.ts.map +1 -0
  170. package/dist/utils/box.js +158 -0
  171. package/dist/utils/box.js.map +1 -0
  172. package/ideas.md +46 -0
  173. package/package.json +53 -0
  174. package/src/commands/add-source.js +72 -0
  175. package/src/commands/baldr.js +38 -0
  176. package/src/commands/combine-timelines.js +65 -0
  177. package/src/commands/create-project.js +216 -0
  178. package/src/commands/create-timeline.js +60 -0
  179. package/src/commands/delete-project.js +54 -0
  180. package/src/commands/delete-source.js +63 -0
  181. package/src/commands/delete-timeline.js +63 -0
  182. package/src/commands/delete-version.js +74 -0
  183. package/src/commands/download-file.js +101 -0
  184. package/src/commands/download-folder.js +123 -0
  185. package/src/commands/download-source.js +51 -0
  186. package/src/commands/gh-setup.js +77 -0
  187. package/src/commands/load-project.js +63 -0
  188. package/src/commands/menu.js +46 -0
  189. package/src/commands/midgardr.js +25 -0
  190. package/src/commands/publish-project.js +167 -0
  191. package/src/commands/replace-timeline.js +76 -0
  192. package/src/commands/restore-version.js +80 -0
  193. package/src/commands/save-project.js +48 -0
  194. package/src/commands/set-source.js +65 -0
  195. package/src/commands/switch-timeline.js +69 -0
  196. package/src/commands/sync-source.js +32 -0
  197. package/src/commands/upload-project+++.js +34 -0
  198. package/src/commands/upload-project++.js +35 -0
  199. package/src/commands/upload-project+.js +47 -0
  200. package/src/commands/upload-project.js +31 -0
  201. package/src/commands/view-timeline.js +43 -0
  202. package/src/commands/view-versions.js +50 -0
  203. package/src/git/helpers.js +333 -0
  204. package/src/git/sync-repo.js +16 -0
  205. package/src/index.js +2 -0
  206. package/src/utils/box.js +282 -0
  207. package/tsconfig.json +23 -0
@@ -0,0 +1,106 @@
1
+ import { Command } from '@oclif/core';
2
+ import { execSync } from 'child_process';
3
+ import { existsSync } from 'fs';
4
+ import { homedir } from 'os';
5
+ import { join } from 'path';
6
+ import { boxStart, boxEnd, boxLine, boxDivider, boxList, boxPrompt } from '../utils/box.js';
7
+ class GhSetup extends Command {
8
+ async run() {
9
+ try {
10
+ boxStart('Asgard: GitHub CLI Setup');
11
+ boxLine('1. Download & Install the official GitHub CLI');
12
+ boxLine(' Direct Link: https://cli.github.com/');
13
+ boxLine(' (Or run: winget install --id GitHub.cli)');
14
+ boxLine('Press [ENTER] once you have finished the installation...', 'warning');
15
+ await this.waitForEnter();
16
+ this.refreshWindowsPath();
17
+ boxDivider();
18
+ boxLine('2. SSH Key Setup');
19
+ boxLine('Do you have SSH keys for GitHub CLI?');
20
+ const hasKeyChoice = await boxList('Do you have SSH keys for GitHub CLI?', [
21
+ 'Yes, I have existing SSH keys',
22
+ 'No, create new SSH keys'
23
+ ]);
24
+ const hasKey = hasKeyChoice.value === 0;
25
+ let sshKeyPath;
26
+ if (hasKey) {
27
+ const keyName = await boxPrompt('Enter your SSH key name (without path):');
28
+ sshKeyPath = join(homedir(), '.ssh', keyName || 'id_ed25519');
29
+ if (!existsSync(sshKeyPath) || !existsSync(`${sshKeyPath}.pub`)) {
30
+ boxLine(`SSH key not found at ${sshKeyPath}`, 'error');
31
+ boxEnd(false, 'Setup Failed');
32
+ return;
33
+ }
34
+ boxLine(`✓ Using SSH key: ${keyName || 'id_ed25519'}`, 'success');
35
+ }
36
+ else {
37
+ const keyName = await boxPrompt('Enter a name for your new SSH key:');
38
+ sshKeyPath = join(homedir(), '.ssh', keyName || 'id_ed25519');
39
+ boxLine(`Generating SSH key: ${keyName || 'id_ed25519'}...`, 'info');
40
+ boxDivider();
41
+ try {
42
+ execSync(`ssh-keygen -t ed25519 -f "${sshKeyPath}" -N ""`, { stdio: 'inherit' });
43
+ boxDivider();
44
+ boxLine('✓ SSH key generated successfully', 'success');
45
+ }
46
+ catch (error) {
47
+ boxLine('Failed to generate SSH key', 'error');
48
+ boxLine(`Error: ${error.message}`, 'error');
49
+ if (error.stderr)
50
+ boxLine(`Details: ${error.stderr.toString()}`, 'error');
51
+ boxEnd(false, 'Setup Failed');
52
+ return;
53
+ }
54
+ }
55
+ boxDivider();
56
+ boxLine('3. Authenticating with GitHub...', 'info');
57
+ boxLine(' The browser will open to link your account.', 'info');
58
+ boxLine(' Choose SSH when prompted for preferred protocol.', 'warning');
59
+ boxDivider();
60
+ try {
61
+ execSync(`gh auth login`, { stdio: 'inherit' });
62
+ boxDivider();
63
+ boxLine('✓ GitHub CLI is now ready to use!', 'success');
64
+ boxEnd(true, 'Setup Complete');
65
+ }
66
+ catch (error) {
67
+ boxLine('Authentication was cancelled or failed.', 'error');
68
+ boxLine(`Error: ${error.message}`, 'error');
69
+ if (error.stderr)
70
+ boxLine(`Details: ${error.stderr.toString()}`, 'error');
71
+ boxLine('Note: If you just installed it, you might need to try opening a new terminal.', 'warning');
72
+ boxEnd(false, 'Setup Failed');
73
+ }
74
+ }
75
+ catch (error) {
76
+ console.error('Fatal error:');
77
+ console.error(error.message);
78
+ console.error(error.stack);
79
+ process.exit(1);
80
+ }
81
+ }
82
+ refreshWindowsPath() {
83
+ if (process.platform === 'win32') {
84
+ try {
85
+ const updatedPath = execSync(`powershell -NoProfile -Command "[Environment]::GetEnvironmentVariable('Path', 'Machine') + ';' + [Environment]::GetEnvironmentVariable('Path', 'User')"`).toString().trim();
86
+ if (updatedPath) {
87
+ process.env.PATH = updatedPath;
88
+ }
89
+ }
90
+ catch (e) {
91
+ }
92
+ }
93
+ }
94
+ async waitForEnter() {
95
+ return new Promise((resolve) => {
96
+ process.stdin.resume();
97
+ process.stdin.once('data', () => {
98
+ process.stdin.pause();
99
+ resolve();
100
+ });
101
+ });
102
+ }
103
+ }
104
+ GhSetup.description = 'Step-by-step guide to install and authenticate GitHub CLI';
105
+ export default GhSetup;
106
+ //# sourceMappingURL=gh-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gh-setup.js","sourceRoot":"","sources":["../../src/commands/gh-setup.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export default class LoadProject extends Command {
2
+ run(): Promise<void>;
3
+ }
4
+ import { Command } from '@oclif/core';
5
+ //# sourceMappingURL=load-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-project.d.ts","sourceRoot":"","sources":["../../src/commands/load-project.js"],"names":[],"mappings":"AAMA;IAGE,qBAoDC;CACF;wBA9DuB,aAAa"}
@@ -0,0 +1,56 @@
1
+ import { Command } from '@oclif/core';
2
+ import { execSync } from 'child_process';
3
+ import { ux } from '@oclif/core';
4
+ import ora from 'ora';
5
+ import { boxStart, boxDivider, boxEnd, boxLine } from '../utils/box.js';
6
+ class LoadProject extends Command {
7
+ async run() {
8
+ const cwd = process.cwd();
9
+ boxStart('Load Project');
10
+ const spinner = ora('Loading stash list...').start();
11
+ try {
12
+ let stashRaw = '';
13
+ try {
14
+ stashRaw = execSync('git stash list', { cwd, encoding: 'utf8' }).trim();
15
+ }
16
+ catch (e) {
17
+ // Git returns error if not a repo
18
+ }
19
+ spinner.stop();
20
+ if (!stashRaw) {
21
+ boxLine('No stashes found', 'warning');
22
+ boxDivider();
23
+ boxEnd(false, 'No stashes available');
24
+ return;
25
+ }
26
+ const stashes = stashRaw.split('\n').map((line, index) => ({
27
+ label: line,
28
+ value: index
29
+ }));
30
+ boxLine('Please select a stash to restore:');
31
+ boxDivider();
32
+ const stashIndex = await ux.select({
33
+ message: 'Select stash to restore',
34
+ options: stashes
35
+ });
36
+ boxDivider();
37
+ const restoreSpinner = ora('Restoring stash...').start();
38
+ // Using pop to restore and remove from list
39
+ execSync(`git stash pop stash@{${stashIndex}}`, { cwd, stdio: 'pipe' });
40
+ restoreSpinner.stop();
41
+ boxLine('Stash restored', 'success');
42
+ boxDivider();
43
+ boxEnd(true, 'Complete');
44
+ }
45
+ catch (error) {
46
+ spinner.stop();
47
+ const msg = error.stderr ? error.stderr.toString() : error.message;
48
+ boxLine(msg, 'error');
49
+ boxDivider();
50
+ boxEnd(false, 'Load failed');
51
+ }
52
+ }
53
+ }
54
+ LoadProject.description = 'Restore stashed work';
55
+ export default LoadProject;
56
+ //# sourceMappingURL=load-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-project.js","sourceRoot":"","sources":["../../src/commands/load-project.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAqB,WAAY,SAAQ,OAAO;IAG9C,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,kCAAkC;YACpC,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;gBACvC,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzD,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,KAAK;aACb,CAAC,CAAC,CAAC;YAEJ,OAAO,CAAC,mCAAmC,CAAC,CAAC;YAC7C,UAAU,EAAE,CAAC;YAEb,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;gBACjC,OAAO,EAAE,yBAAyB;gBAClC,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,UAAU,EAAE,CAAC;YAEb,MAAM,cAAc,GAAG,GAAG,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;YACzD,4CAA4C;YAC5C,QAAQ,CAAC,wBAAwB,UAAU,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAExE,cAAc,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;YACrC,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACnE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACtB,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;;AAtDM,uBAAW,GAAG,sBAAsB,CAAC;eADzB,WAAW"}
@@ -0,0 +1,5 @@
1
+ export default class Index extends Command {
2
+ run(): Promise<void>;
3
+ }
4
+ import { Command } from '@oclif/core';
5
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/commands/menu.js"],"names":[],"mappings":"AAIA;IAGE,qBAqCC;CACF;wBA7CuB,aAAa"}
@@ -0,0 +1,41 @@
1
+ import { Command } from '@oclif/core';
2
+ import { ux } from '@oclif/core';
3
+ import { boxStart, boxDivider, boxEnd, boxLine } from '../utils/box.js';
4
+ class Index extends Command {
5
+ async run() {
6
+ boxStart('Asgard CLI');
7
+ boxLine('Select a command to run:');
8
+ boxDivider();
9
+ const command = await ux.select({
10
+ message: 'What would you like to do?',
11
+ options: [
12
+ { label: 'Install BALDR Icons - Icons library for react applications', value: 'baldr' },
13
+ { label: 'GH Setup - githubs CLI is required for some functionality', value: 'create-project' },
14
+ { label: 'Create Project - Create a new project with GitHub repository', value: 'create-project' },
15
+ { label: 'Publish Project - Create GitHub repository for existing project', value: 'publish-project' },
16
+ { label: 'Download - Clone a GitHub repository', value: 'download' },
17
+ { label: 'Download File - Download a specific file from a repository', value: 'download-file' },
18
+ { label: 'Download Folder - Download a specific folder from a repository', value: 'download-folder' },
19
+ { label: 'Save - Add, commit, and push changes', value: 'save' },
20
+ { label: 'Load Project - Restore stashed work', value: 'load-project' },
21
+ { label: 'Create Timeline - Create a new branch', value: 'create-timeline' },
22
+ { label: 'Delete Timeline - Delete a branch', value: 'delete-timeline' },
23
+ { label: 'Replace Timeline - Merge branch into main and delete source', value: 'replace-timeline' },
24
+ { label: 'Delete Version - Delete git tags', value: 'delete-version' },
25
+ { label: 'Set Source - Replace remote URL', value: 'set-source' },
26
+ { label: 'Delete Source - Remove a remote', value: 'delete-source' },
27
+ { label: 'Exit', value: 'exit' }
28
+ ]
29
+ });
30
+ boxDivider();
31
+ if (command === 'exit') {
32
+ boxEnd(true, 'Goodbye!');
33
+ return;
34
+ }
35
+ boxEnd(true, `Running ${command}...`);
36
+ await this.config.runCommand(command);
37
+ }
38
+ }
39
+ Index.description = 'Asgard CLI - Interactive menu';
40
+ export default Index;
41
+ //# sourceMappingURL=menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/commands/menu.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAqB,KAAM,SAAQ,OAAO;IAGxC,KAAK,CAAC,GAAG;QACP,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACpC,UAAU,EAAE,CAAC;QAEb,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;YAC9B,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,4DAA4D,EAAE,KAAK,EAAE,OAAO,EAAE;gBACvF,EAAE,KAAK,EAAE,2DAA2D,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC/F,EAAE,KAAK,EAAE,8DAA8D,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAClG,EAAE,KAAK,EAAE,iEAAiE,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACtG,EAAE,KAAK,EAAE,sCAAsC,EAAE,KAAK,EAAE,UAAU,EAAE;gBACpE,EAAE,KAAK,EAAE,4DAA4D,EAAE,KAAK,EAAE,eAAe,EAAE;gBAC/F,EAAE,KAAK,EAAE,gEAAgE,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACrG,EAAE,KAAK,EAAE,sCAAsC,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChE,EAAE,KAAK,EAAE,qCAAqC,EAAE,KAAK,EAAE,cAAc,EAAE;gBACvE,EAAE,KAAK,EAAE,uCAAuC,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBAC5E,EAAE,KAAK,EAAE,mCAAmC,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBACxE,EAAE,KAAK,EAAE,6DAA6D,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBACnG,EAAE,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACtE,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,YAAY,EAAE;gBACjE,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,eAAe,EAAE;gBACpE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;aACjC;SACF,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC;QAEb,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,EAAE,WAAW,OAAO,KAAK,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;;AAvCM,iBAAW,GAAG,+BAA+B,CAAC;eADlC,KAAK"}
@@ -0,0 +1,5 @@
1
+ export default class MidgardrCommand extends Command {
2
+ run(): Promise<void>;
3
+ }
4
+ import { Command } from '@oclif/core';
5
+ //# sourceMappingURL=midgardr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"midgardr.d.ts","sourceRoot":"","sources":["../../src/commands/midgardr.js"],"names":[],"mappings":"AAIA;IAIE,qBAeC;CACF;wBAvBuB,aAAa"}
@@ -0,0 +1,24 @@
1
+ // src/commands/midgardr.js
2
+ import { Command } from '@oclif/core';
3
+ import { execSync } from 'child_process';
4
+ class MidgardrCommand extends Command {
5
+ async run() {
6
+ const { argv } = await this.parse(MidgardrCommand);
7
+ const cwd = process.cwd();
8
+ // SILENTLY check if midgardr is installed
9
+ try {
10
+ execSync('midgardr --version', { cwd, stdio: 'inherit' });
11
+ }
12
+ catch {
13
+ // SILENTLY install if not found
14
+ execSync('npm install -g @a5gard/midgardr-cli', { cwd, stdio: 'inherit' });
15
+ }
16
+ // COMPLETE PASSTHROUGH - run midgardr with all arguments
17
+ // This shows midgardr's output exactly as if user ran it directly
18
+ execSync(`midgardr ${argv}`, { cwd, stdio: 'inherit' });
19
+ }
20
+ }
21
+ MidgardrCommand.description = 'UI components installation and management';
22
+ MidgardrCommand.strict = false;
23
+ export default MidgardrCommand;
24
+ //# sourceMappingURL=midgardr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"midgardr.js","sourceRoot":"","sources":["../../src/commands/midgardr.js"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAqB,eAAgB,SAAQ,OAAO;IAIlD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,0CAA0C;QAC1C,IAAI,CAAC;YACH,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;YAChC,QAAQ,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,yDAAyD;QACzD,kEAAkE;QAClE,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE,EAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAG,CAAC,CAAA;IACzD,CAAC;;AAlBM,2BAAW,GAAG,2CAA2C,CAAA;AACzD,sBAAM,GAAG,KAAK,CAAA;eAFF,eAAe"}
@@ -0,0 +1,5 @@
1
+ export default class PublishProject extends Command {
2
+ run(): Promise<void>;
3
+ }
4
+ import { Command } from '@oclif/core';
5
+ //# sourceMappingURL=publish-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-project.d.ts","sourceRoot":"","sources":["../../src/commands/publish-project.js"],"names":[],"mappings":"AAQA;IAGE,qBAqGC;CACF;wBAjHuB,aAAa"}
@@ -0,0 +1,102 @@
1
+ import { Command } from '@oclif/core';
2
+ import { execSync } from 'child_process';
3
+ import fs from 'fs-extra';
4
+ import path from 'path';
5
+ import ora from 'ora';
6
+ import { getLicenseContent, ensureGitConfig } from '../git/helpers.js';
7
+ import { boxStart, boxDivider, boxEnd, boxLine } from '../utils/box.js';
8
+ class PublishProject extends Command {
9
+ async run() {
10
+ boxStart('Publish Project');
11
+ await ensureGitConfig();
12
+ const cwd = process.cwd();
13
+ const configPath = path.join(cwd, 'config.asgard');
14
+ const spinner = ora('Preparing project...').start();
15
+ try {
16
+ execSync('gh auth status', { stdio: 'ignore' });
17
+ }
18
+ catch (e) {
19
+ boxLine('You are not logged into GitHub CLI.', 'warning');
20
+ boxLine('Please run: asgard gh-setup', 'info');
21
+ return;
22
+ }
23
+ try {
24
+ const projectName = path.basename(cwd);
25
+ let owner = '';
26
+ try {
27
+ owner = execSync('git config user.name', { encoding: 'utf8' }).trim();
28
+ }
29
+ catch (e) {
30
+ owner = 'unknown';
31
+ }
32
+ if (!fs.existsSync(path.join(cwd, 'CHANGELOG.md'))) {
33
+ const changelog = `# Changelog\n\n## [0.0.1] - ${new Date().toISOString().split('T')[0]}\n\n### Added\n- Initial project setup\n`;
34
+ await fs.writeFile(path.join(cwd, 'CHANGELOG.md'), changelog);
35
+ }
36
+ if (!fs.existsSync(path.join(cwd, 'README.md'))) {
37
+ const readme = `# ${projectName}\n\nProject created with @a5gard/asgard\n`;
38
+ await fs.writeFile(path.join(cwd, 'README.md'), readme);
39
+ }
40
+ if (!fs.existsSync(path.join(cwd, 'LICENSE.md'))) {
41
+ const licenseContent = getLicenseContent('MIT', owner);
42
+ await fs.writeFile(path.join(cwd, 'LICENSE.md'), licenseContent);
43
+ }
44
+ if (!fs.existsSync(configPath)) {
45
+ await fs.writeJson(configPath, {
46
+ repo: projectName,
47
+ owner: owner,
48
+ branch: 'main',
49
+ license: 'MIT',
50
+ autoPushRepo: true,
51
+ packageManager: 'pnpm'
52
+ }, { spaces: 2 });
53
+ }
54
+ spinner.stop();
55
+ boxLine('Project prepared', 'success');
56
+ let isRepo = true;
57
+ try {
58
+ execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
59
+ }
60
+ catch (e) {
61
+ isRepo = false;
62
+ }
63
+ if (!isRepo) {
64
+ spinner.text = 'Initializing git repository...';
65
+ spinner.start();
66
+ execSync('git init', { cwd });
67
+ execSync('git checkout -b main', { cwd });
68
+ execSync('git add .', { cwd });
69
+ execSync('git commit -m "Initial commit"', { cwd });
70
+ spinner.stop();
71
+ boxLine('Git repository initialized', 'success');
72
+ }
73
+ spinner.text = 'Creating and pushing to GitHub...';
74
+ spinner.start();
75
+ execSync(`gh repo create ${projectName} --private --source=. --push`, {
76
+ cwd,
77
+ stdio: 'pipe'
78
+ });
79
+ spinner.stop();
80
+ boxLine('GitHub repository created and project pushed', 'success');
81
+ boxDivider();
82
+ boxEnd(true, 'Project published successfully');
83
+ }
84
+ catch (error) {
85
+ spinner.stop();
86
+ const msg = error.stderr ? error.stderr.toString() : error.message;
87
+ if (msg.includes('gh: not found') || msg.includes('is not recognized')) {
88
+ boxLine('Error: GitHub CLI (gh) is required for this command.', 'error');
89
+ boxLine('Install it from: https://cli.github.com/');
90
+ }
91
+ else {
92
+ boxLine(msg, 'error');
93
+ }
94
+ boxDivider();
95
+ boxEnd(false, 'Publish failed');
96
+ process.exit(1);
97
+ }
98
+ }
99
+ }
100
+ PublishProject.description = 'Create GitHub repository for existing project';
101
+ export default PublishProject;
102
+ //# sourceMappingURL=publish-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish-project.js","sourceRoot":"","sources":["../../src/commands/publish-project.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAExE,MAAqB,cAAe,SAAQ,OAAO;IAGjD,KAAK,CAAC,GAAG;QACP,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAE5B,MAAM,eAAe,EAAE,CAAC;QAExB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEpD,IAAI,CAAC;YACP,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,qCAAqC,EAAE,SAAS,CAAC,CAAC;YAC1D,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QAEG,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,KAAK,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,+BAA+B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC;gBAClI,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,WAAW,2CAA2C,CAAC;gBAC3E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,CAAC;YAC1D,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,cAAc,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE;oBAC7B,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI;oBAClB,cAAc,EAAE,MAAM;iBACvB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;YAED,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YAEvC,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC;gBACH,QAAQ,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,GAAG,gCAAgC,CAAC;gBAChD,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9B,QAAQ,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1C,QAAQ,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC/B,QAAQ,CAAC,gCAAgC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,CAAC,IAAI,GAAG,mCAAmC,CAAC;YACnD,OAAO,CAAC,KAAK,EAAE,CAAC;YAEhB,QAAQ,CAAC,kBAAkB,WAAW,8BAA8B,EAAE;gBACpE,GAAG;gBACH,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;YAEnE,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YAEnE,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACvE,OAAO,CAAC,sDAAsD,EAAE,OAAO,CAAC,CAAC;gBACzE,OAAO,CAAC,0CAA0C,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACxB,CAAC;YAED,UAAU,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;;AAvGM,0BAAW,GAAG,+CAA+C,CAAC;eADlD,cAAc"}
@@ -0,0 +1,8 @@
1
+ export default class ReplaceTimeline extends Command {
2
+ static flags: {
3
+ branch: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
4
+ };
5
+ run(): Promise<void>;
6
+ }
7
+ import { Command } from '@oclif/core';
8
+ //# sourceMappingURL=replace-timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-timeline.d.ts","sourceRoot":"","sources":["../../src/commands/replace-timeline.js"],"names":[],"mappings":"AAMA;IAGE;;MAEE;IAEF,qBA6DC;CACF;wBA3E8B,aAAa"}
@@ -0,0 +1,63 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { execSync } from 'child_process';
3
+ import { ux } from '@oclif/core';
4
+ import ora from 'ora';
5
+ import { boxStart, boxDivider, boxEnd, boxLine } from '../utils/box.js';
6
+ class ReplaceTimeline extends Command {
7
+ async run() {
8
+ const cwd = process.cwd();
9
+ boxStart('Replace Timeline');
10
+ const { flags } = await this.parse(ReplaceTimeline);
11
+ let branchName = flags.branch;
12
+ const spinner = ora('Loading branches...').start();
13
+ const current = execSync('git branch --show-current', { cwd, encoding: 'utf8' }).trim();
14
+ if (current !== 'main') {
15
+ spinner.stop();
16
+ boxLine('Must be on main branch', 'warning');
17
+ boxDivider();
18
+ boxEnd(false, 'Not on main branch');
19
+ return;
20
+ }
21
+ const branchListRaw = execSync('git branch --format="%(refname:short)"', { cwd, encoding: 'utf8' });
22
+ const mergeable = branchListRaw.split('\n').map(b => b.trim()).filter(b => b && b !== 'main');
23
+ spinner.stop();
24
+ if (mergeable.length === 0) {
25
+ boxLine('No branches available to merge', 'warning');
26
+ boxDivider();
27
+ boxEnd(false, 'No mergeable branches');
28
+ return;
29
+ }
30
+ if (!branchName) {
31
+ boxLine('Please select a branch to merge and delete:');
32
+ boxDivider();
33
+ branchName = await ux.select({
34
+ message: 'Select branch to merge and delete',
35
+ options: mergeable.map(b => ({ label: b, value: b }))
36
+ });
37
+ boxDivider();
38
+ }
39
+ const mergeSpinner = ora('Merging...').start();
40
+ try {
41
+ execSync(`git merge ${branchName} --no-edit`, { cwd, stdio: 'pipe' });
42
+ mergeSpinner.text = 'Deleting branch...';
43
+ execSync(`git branch -d ${branchName}`, { cwd, stdio: 'pipe' });
44
+ mergeSpinner.stop();
45
+ boxLine(`Merged and deleted '${branchName}'`, 'success');
46
+ boxDivider();
47
+ boxEnd(true, 'Complete');
48
+ }
49
+ catch (error) {
50
+ mergeSpinner.stop();
51
+ const msg = error.stderr ? error.stderr.toString() : error.message;
52
+ boxLine(msg, 'error');
53
+ boxDivider();
54
+ boxEnd(false, 'Operation failed');
55
+ }
56
+ }
57
+ }
58
+ ReplaceTimeline.description = 'Merge branch into main and delete source';
59
+ ReplaceTimeline.flags = {
60
+ branch: Flags.string({ char: 'b', description: 'Branch to merge and delete' })
61
+ };
62
+ export default ReplaceTimeline;
63
+ //# sourceMappingURL=replace-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-timeline.js","sourceRoot":"","sources":["../../src/commands/replace-timeline.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export default class ReplaceTimeline extends Command {
2
+ static flags: {
3
+ branch: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
4
+ };
5
+ run(): Promise<void>;
6
+ }
7
+ import { Command } from '@oclif/core';
8
+ //# sourceMappingURL=restore-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-version.d.ts","sourceRoot":"","sources":["../../src/commands/restore-version.js"],"names":[],"mappings":"AAMA;IAGE;;MAEE;IAEF,qBAiEC;CACF;wBA/E8B,aAAa"}
@@ -0,0 +1,67 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { execSync } from 'child_process';
3
+ import { ux } from '@oclif/core';
4
+ import ora from 'ora';
5
+ import { boxStart, boxDivider, boxEnd, boxLine } from '../utils/box.js';
6
+ class ReplaceTimeline extends Command {
7
+ async run() {
8
+ const cwd = process.cwd();
9
+ boxStart('Replace Timeline');
10
+ const { flags } = await this.parse(ReplaceTimeline);
11
+ let branchName = flags.branch;
12
+ const spinner = ora('Loading branches...').start();
13
+ // Get current branch
14
+ const current = execSync('git branch --show-current', { cwd, encoding: 'utf8' }).trim();
15
+ if (current !== 'main') {
16
+ spinner.stop();
17
+ boxLine('Must be on main branch', 'warning');
18
+ boxDivider();
19
+ boxEnd(false, 'Not on main branch');
20
+ return;
21
+ }
22
+ // Get all local branches except main
23
+ const branchListRaw = execSync('git branch --format="%(refname:short)"', { cwd, encoding: 'utf8' });
24
+ const mergeable = branchListRaw.split('\n').map(b => b.trim()).filter(b => b && b !== 'main');
25
+ spinner.stop();
26
+ if (mergeable.length === 0) {
27
+ boxLine('No branches available to merge', 'warning');
28
+ boxDivider();
29
+ boxEnd(false, 'No mergeable branches');
30
+ return;
31
+ }
32
+ if (!branchName) {
33
+ boxLine('Please select a branch to merge and delete:');
34
+ boxDivider();
35
+ branchName = await ux.select({
36
+ message: 'Select branch to merge and delete',
37
+ options: mergeable.map(b => ({ label: b, value: b }))
38
+ });
39
+ boxDivider();
40
+ }
41
+ const mergeSpinner = ora('Merging...').start();
42
+ try {
43
+ // Perform the merge
44
+ execSync(`git merge ${branchName} --no-edit`, { cwd, stdio: 'pipe' });
45
+ mergeSpinner.text = 'Deleting branch...';
46
+ // Delete the branch locally
47
+ execSync(`git branch -d ${branchName}`, { cwd, stdio: 'pipe' });
48
+ mergeSpinner.stop();
49
+ boxLine(`Merged and deleted '${branchName}'`, 'success');
50
+ boxDivider();
51
+ boxEnd(true, 'Complete');
52
+ }
53
+ catch (error) {
54
+ mergeSpinner.stop();
55
+ const msg = error.stderr ? error.stderr.toString() : error.message;
56
+ boxLine(msg, 'error');
57
+ boxDivider();
58
+ boxEnd(false, 'Operation failed');
59
+ }
60
+ }
61
+ }
62
+ ReplaceTimeline.description = 'Merge branch into main and delete source';
63
+ ReplaceTimeline.flags = {
64
+ branch: Flags.string({ char: 'b', description: 'Branch to merge and delete' })
65
+ };
66
+ export default ReplaceTimeline;
67
+ //# sourceMappingURL=restore-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restore-version.js","sourceRoot":"","sources":["../../src/commands/restore-version.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export default class Save extends Command {
2
+ static flags: {
3
+ message: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
4
+ };
5
+ run(): Promise<void>;
6
+ }
7
+ import { Command } from '@oclif/core';
8
+ //# sourceMappingURL=save-project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-project.d.ts","sourceRoot":"","sources":["../../src/commands/save-project.js"],"names":[],"mappings":"AAKA;IAGE;;MAEE;IAEF,qBAkCC;CACF;wBA/C8B,aAAa"}