@radkode/neo 0.3.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 (67) hide show
  1. package/README.md +167 -0
  2. package/bin/cli.js +2 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +74 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands/config/index.d.ts +3 -0
  8. package/dist/commands/config/index.d.ts.map +1 -0
  9. package/dist/commands/config/index.js +43 -0
  10. package/dist/commands/config/index.js.map +1 -0
  11. package/dist/commands/git/index.d.ts +3 -0
  12. package/dist/commands/git/index.d.ts.map +1 -0
  13. package/dist/commands/git/index.js +8 -0
  14. package/dist/commands/git/index.js.map +1 -0
  15. package/dist/commands/git/push/index.d.ts +3 -0
  16. package/dist/commands/git/push/index.d.ts.map +1 -0
  17. package/dist/commands/git/push/index.js +140 -0
  18. package/dist/commands/git/push/index.js.map +1 -0
  19. package/dist/commands/index.d.ts +6 -0
  20. package/dist/commands/index.d.ts.map +1 -0
  21. package/dist/commands/index.js +12 -0
  22. package/dist/commands/index.js.map +1 -0
  23. package/dist/commands/init/index.d.ts +3 -0
  24. package/dist/commands/init/index.d.ts.map +1 -0
  25. package/dist/commands/init/index.js +136 -0
  26. package/dist/commands/init/index.js.map +1 -0
  27. package/dist/core/errors/index.d.ts +168 -0
  28. package/dist/core/errors/index.d.ts.map +1 -0
  29. package/dist/core/errors/index.js +260 -0
  30. package/dist/core/errors/index.js.map +1 -0
  31. package/dist/core/interfaces/index.d.ts +292 -0
  32. package/dist/core/interfaces/index.d.ts.map +1 -0
  33. package/dist/core/interfaces/index.js +9 -0
  34. package/dist/core/interfaces/index.js.map +1 -0
  35. package/dist/index.d.ts +5 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +5 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/types/index.d.ts +17 -0
  40. package/dist/types/index.d.ts.map +1 -0
  41. package/dist/types/index.js +2 -0
  42. package/dist/types/index.js.map +1 -0
  43. package/dist/utils/banner.d.ts +2 -0
  44. package/dist/utils/banner.d.ts.map +1 -0
  45. package/dist/utils/banner.js +13 -0
  46. package/dist/utils/banner.js.map +1 -0
  47. package/dist/utils/completions.d.ts +6 -0
  48. package/dist/utils/completions.d.ts.map +1 -0
  49. package/dist/utils/completions.js +108 -0
  50. package/dist/utils/completions.js.map +1 -0
  51. package/dist/utils/config.d.ts +38 -0
  52. package/dist/utils/config.d.ts.map +1 -0
  53. package/dist/utils/config.js +128 -0
  54. package/dist/utils/config.js.map +1 -0
  55. package/dist/utils/installer.d.ts +28 -0
  56. package/dist/utils/installer.d.ts.map +1 -0
  57. package/dist/utils/installer.js +219 -0
  58. package/dist/utils/installer.js.map +1 -0
  59. package/dist/utils/logger.d.ts +13 -0
  60. package/dist/utils/logger.d.ts.map +1 -0
  61. package/dist/utils/logger.js +29 -0
  62. package/dist/utils/logger.js.map +1 -0
  63. package/dist/utils/shell.d.ts +31 -0
  64. package/dist/utils/shell.d.ts.map +1 -0
  65. package/dist/utils/shell.js +213 -0
  66. package/dist/utils/shell.js.map +1 -0
  67. package/package.json +83 -0
package/README.md ADDED
@@ -0,0 +1,167 @@
1
+ # @radkode/neo
2
+
3
+ ⚡ Lightning-fast TypeScript CLI framework
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add -g @radkode/neo
9
+ ```
10
+
11
+ Or install as a dev dependency:
12
+
13
+ ```bash
14
+ pnpm add -D @radkode/neo
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ```bash
20
+ # Initialize a new project
21
+ neo init my-project
22
+
23
+ # Build the project
24
+ neo build --watch
25
+
26
+ # Deploy to production
27
+ neo deploy production
28
+
29
+ # Manage configuration
30
+ neo config set api.key YOUR_KEY
31
+ neo config get api.key
32
+ neo config list
33
+ ```
34
+
35
+ ## Commands
36
+
37
+ ### `init [name]`
38
+ Initialize a new project with optional name.
39
+
40
+ Options:
41
+ - `-t, --template <type>` - Project template (default: "default")
42
+ - `--skip-install` - Skip dependency installation
43
+ - `--force` - Overwrite existing files
44
+
45
+ ### `build`
46
+ Build the project.
47
+
48
+ Options:
49
+ - `-w, --watch` - Watch for changes
50
+ - `-m, --minify` - Minify output
51
+ - `--source-maps` - Generate source maps
52
+ - `-o, --output <dir>` - Output directory (default: "dist")
53
+
54
+ ### `deploy [environment]`
55
+ Deploy the project to specified environment.
56
+
57
+ Options:
58
+ - `--dry-run` - Perform a dry run without deploying
59
+ - `--skip-build` - Skip the build step
60
+ - `--force` - Force deployment without confirmation
61
+
62
+ ### `config`
63
+ Manage configuration values.
64
+
65
+ Subcommands:
66
+ - `config get <key>` - Get a configuration value
67
+ - `config set <key> <value>` - Set a configuration value
68
+ - `config list` - List all configuration values
69
+
70
+ ## Global Options
71
+
72
+ - `-v, --verbose` - Enable verbose logging
73
+ - `-c, --config <path>` - Path to config file
74
+ - `--no-color` - Disable colored output
75
+ - `--no-banner` - Hide banner
76
+ - `-h, --help` - Display help
77
+ - `-V, --version` - Display version
78
+
79
+ ## Development
80
+
81
+ ### Setup
82
+
83
+ ```bash
84
+ git clone https://github.com/jacekradko/radkode/neo.git
85
+ cd radkode/neo
86
+ pnpm install
87
+ ```
88
+
89
+ ### Build
90
+
91
+ ```bash
92
+ pnpm run build
93
+ ```
94
+
95
+ ### Test
96
+
97
+ ```bash
98
+ pnpm test
99
+ pnpm run test:watch
100
+ pnpm run test:coverage
101
+ ```
102
+
103
+ ### Local Development
104
+
105
+ ```bash
106
+ # Link for local testing
107
+ pnpm run link-local
108
+
109
+ # Test the CLI
110
+ neo --help
111
+
112
+ # Unlink when done
113
+ pnpm run unlink-local
114
+ ```
115
+
116
+ ### Versioning & Releases
117
+
118
+ This project uses [Changesets](https://github.com/changesets/changesets) for version management and publishing.
119
+
120
+ #### Creating a Changeset
121
+
122
+ When you make changes that should be released, create a changeset:
123
+
124
+ ```bash
125
+ # Create a new changeset
126
+ pnpm changeset
127
+ ```
128
+
129
+ This will:
130
+ 1. Prompt you to select which packages to version (this project has one)
131
+ 2. Ask for the type of change (patch, minor, major)
132
+ 3. Request a description of the changes
133
+ 4. Generate a changeset file in `.changeset/`
134
+
135
+ #### Release Workflow
136
+
137
+ ```bash
138
+ # Check current changeset status
139
+ pnpm changeset:status
140
+
141
+ # Consume changesets and update version
142
+ pnpm version-packages
143
+
144
+ # Publish to npm (after tests pass)
145
+ pnpm release
146
+ ```
147
+
148
+ #### Change Types
149
+
150
+ - **patch**: Bug fixes, small improvements (0.1.0 → 0.1.1)
151
+ - **minor**: New features, enhancements (0.1.0 → 0.2.0)
152
+ - **major**: Breaking changes (0.1.0 → 1.0.0)
153
+
154
+ #### CI Integration
155
+
156
+ The changeset workflow integrates with:
157
+ - GitHub releases and changelogs
158
+ - Automated version bumping
159
+ - NPM publishing pipeline
160
+
161
+ ## License
162
+
163
+ MIT © Jacek Radko
164
+
165
+ ---
166
+
167
+ Built with ⚡ by [Radkode](https://github.com/jacekradko)
package/bin/cli.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import('../dist/cli.js');
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function createCLI(): Command;
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAatD,wBAAgB,SAAS,IAAI,OAAO,CA6CnC"}
package/dist/cli.js ADDED
@@ -0,0 +1,74 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import chalk from 'chalk';
3
+ import { showBanner } from './utils/banner.js';
4
+ import { logger } from './utils/logger.js';
5
+ import { registerCommands } from './commands/index.js';
6
+ import { readFileSync } from 'fs';
7
+ import { fileURLToPath } from 'url';
8
+ import { dirname, join } from 'path';
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = dirname(__filename);
11
+ const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
12
+ export function createCLI() {
13
+ const program = new Command();
14
+ program
15
+ .name('neo')
16
+ .description(packageJson.description)
17
+ .version(packageJson.version)
18
+ .option('-v, --verbose', 'enable verbose logging')
19
+ .option('-c, --config <path>', 'path to config file')
20
+ .option('--no-color', 'disable colored output')
21
+ .option('--no-banner', 'hide banner')
22
+ .hook('preAction', (thisCommand, actionCommand) => {
23
+ const opts = thisCommand.opts();
24
+ const commandName = actionCommand.name();
25
+ const skipBanner = opts.banner === false ||
26
+ commandName === 'version' ||
27
+ commandName === 'help' ||
28
+ process.argv.includes('--version') ||
29
+ process.argv.includes('-V') ||
30
+ process.argv.includes('--help') ||
31
+ process.argv.includes('-h');
32
+ if (!skipBanner) {
33
+ showBanner();
34
+ }
35
+ if (opts.verbose) {
36
+ logger.setVerbose(true);
37
+ logger.debug(`Executing command: ${commandName}`);
38
+ }
39
+ if (opts.color === false) {
40
+ chalk.level = 0;
41
+ }
42
+ });
43
+ registerCommands(program);
44
+ return program;
45
+ }
46
+ if (import.meta.url === `file://${process.argv[1]}` || process.argv[1]?.endsWith('cli.js')) {
47
+ const program = createCLI();
48
+ if (process.argv.length <= 2) {
49
+ program.help();
50
+ }
51
+ program.exitOverride();
52
+ try {
53
+ program.parse();
54
+ }
55
+ catch (err) {
56
+ if (err && typeof err === 'object' && 'code' in err) {
57
+ if (err.code === 'commander.helpDisplayed' || err.code === 'commander.help') {
58
+ process.exit(0);
59
+ }
60
+ if (err.code === 'commander.version') {
61
+ process.exit(0);
62
+ }
63
+ if (err.code === 'commander.missingArgument' || err.code === 'commander.unknownCommand') {
64
+ console.error(`\n${chalk.red('Error:')} ${err instanceof Error ? err.message : String(err)}`);
65
+ console.log(`\nRun ${chalk.cyan('neo --help')} for usage information.`);
66
+ process.exit(1);
67
+ }
68
+ }
69
+ const errorMessage = err instanceof Error ? err.message : String(err);
70
+ logger.error(errorMessage);
71
+ process.exit(1);
72
+ }
73
+ }
74
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function createConfigCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,wBAAgB,mBAAmB,IAAI,OAAO,CAU7C"}
@@ -0,0 +1,43 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import chalk from 'chalk';
3
+ import { logger } from '../../utils/logger.js';
4
+ export function createConfigCommand() {
5
+ const command = new Command('config');
6
+ command
7
+ .description('Manage configuration')
8
+ .addCommand(createConfigGetCommand())
9
+ .addCommand(createConfigSetCommand())
10
+ .addCommand(createConfigListCommand());
11
+ return command;
12
+ }
13
+ function createConfigGetCommand() {
14
+ const command = new Command('get');
15
+ command
16
+ .description('Get a configuration value')
17
+ .argument('<key>', 'configuration key')
18
+ .action((key) => {
19
+ logger.info(`Getting config: ${chalk.cyan(key)}`);
20
+ });
21
+ return command;
22
+ }
23
+ function createConfigSetCommand() {
24
+ const command = new Command('set');
25
+ command
26
+ .description('Set a configuration value')
27
+ .argument('<key>', 'configuration key')
28
+ .argument('<value>', 'configuration value')
29
+ .action((key, value) => {
30
+ logger.success(`Config set: ${chalk.cyan(key)} = ${chalk.green(value)}`);
31
+ });
32
+ return command;
33
+ }
34
+ function createConfigListCommand() {
35
+ const command = new Command('list');
36
+ command.description('List all configuration values').action(() => {
37
+ logger.info('Configuration values:');
38
+ logger.log(` ${chalk.cyan('api.key')}: ${chalk.green('****')}`);
39
+ logger.log(` ${chalk.cyan('theme')}: ${chalk.green('dark')}`);
40
+ });
41
+ return command;
42
+ }
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;SACJ,WAAW,CAAC,sBAAsB,CAAC;SACnC,UAAU,CAAC,sBAAsB,EAAE,CAAC;SACpC,UAAU,CAAC,sBAAsB,EAAE,CAAC;SACpC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;SACJ,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACtC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;QAEtB,MAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO;SACJ,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;SACtC,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;SAC1C,MAAM,CAAC,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;QAErC,MAAM,CAAC,OAAO,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE;QAE/D,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function createGitCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,wBAAgB,gBAAgB,IAAI,OAAO,CAM1C"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import { createPushCommand } from '../git/push/index.js';
3
+ export function createGitCommand() {
4
+ const command = new Command('git');
5
+ command.description('Git operations and utilities').addCommand(createPushCommand());
6
+ return command;
7
+ }
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/git/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAEnC,OAAO,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function createPushCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/git/push/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,wBAAgB,iBAAiB,IAAI,OAAO,CAmK3C"}
@@ -0,0 +1,140 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import { execa } from 'execa';
5
+ import inquirer from 'inquirer';
6
+ import { logger } from '../../../utils/logger.js';
7
+ export function createPushCommand() {
8
+ const command = new Command('push');
9
+ command
10
+ .description('Push changes to remote repository')
11
+ .option('-f, --force', 'force push (overwrites remote)')
12
+ .option('-u, --set-upstream <branch>', 'set upstream branch')
13
+ .option('--dry-run', 'show what would be pushed without actually pushing')
14
+ .option('--tags', 'push tags along with commits')
15
+ .action(async (options) => {
16
+ let branchName = '';
17
+ const spinner = ora('Pushing to remote...');
18
+ try {
19
+ const { stdout: currentBranch } = await execa('git', ['branch', '--show-current']);
20
+ branchName = currentBranch.trim();
21
+ logger.debug(`Current branch: ${branchName}`);
22
+ if (branchName === 'main') {
23
+ logger.log(chalk.yellow.bold('⚠️ You are about to push directly to the main branch.'));
24
+ logger.log(chalk.gray('This is generally not recommended as it bypasses code review processes.'));
25
+ const { confirmPush } = await inquirer.prompt([
26
+ {
27
+ type: 'confirm',
28
+ name: 'confirmPush',
29
+ message: 'Are you sure you want to continue?',
30
+ default: false,
31
+ },
32
+ ]);
33
+ if (!confirmPush) {
34
+ logger.log(chalk.green("\n✅ Push cancelled. Here's how to push your changes safely:"));
35
+ logger.log(chalk.gray(' 1. Create a feature branch:') +
36
+ chalk.cyan(` git checkout -b feature/your-feature-name`));
37
+ logger.log(chalk.gray(' 2. Push to your branch:') +
38
+ chalk.cyan(` git push -u origin feature/your-feature-name`));
39
+ logger.log(chalk.gray(' 3. Create a pull request to merge into main'));
40
+ logger.log(chalk.gray('\nThis protects the main branch from accidental changes.'));
41
+ process.exit(0);
42
+ }
43
+ logger.log(chalk.blue('\n→ Proceeding with push to main branch...'));
44
+ }
45
+ spinner.start();
46
+ logger.debug(`Force push: ${options.force || false}`);
47
+ logger.debug(`Set upstream: ${options.setUpstream || 'none'}`);
48
+ logger.debug(`Dry run: ${options.dryRun || false}`);
49
+ logger.debug(`Push tags: ${options.tags || false}`);
50
+ if (options.dryRun) {
51
+ spinner.stop();
52
+ logger.info(chalk.yellow('Dry run mode - no changes will be pushed'));
53
+ logger.info(`Would push from branch: ${chalk.cyan(branchName)}`);
54
+ try {
55
+ const { stdout: commits } = await execa('git', [
56
+ 'log',
57
+ '--oneline',
58
+ `origin/${branchName}..HEAD`,
59
+ ]);
60
+ if (commits.trim()) {
61
+ logger.info('Would push the following commits:');
62
+ commits
63
+ .trim()
64
+ .split('\n')
65
+ .forEach((commit) => {
66
+ logger.log(` • ${commit}`);
67
+ });
68
+ }
69
+ else {
70
+ logger.info('No new commits to push');
71
+ }
72
+ }
73
+ catch {
74
+ logger.info('Would push current branch (unable to determine commit differences)');
75
+ }
76
+ return;
77
+ }
78
+ const pushArgs = ['push'];
79
+ if (options.force) {
80
+ pushArgs.push('--force');
81
+ }
82
+ if (options.tags) {
83
+ pushArgs.push('--tags');
84
+ }
85
+ if (options.setUpstream) {
86
+ pushArgs.push('-u', 'origin', options.setUpstream);
87
+ }
88
+ else {
89
+ pushArgs.push('origin', branchName);
90
+ }
91
+ logger.debug(`Executing: git ${pushArgs.join(' ')}`);
92
+ const pushResult = await execa('git', pushArgs, {
93
+ stdio: 'pipe',
94
+ encoding: 'utf8',
95
+ });
96
+ spinner.succeed(chalk.green('Successfully pushed to remote!'));
97
+ if (pushResult.stdout) {
98
+ logger.log(chalk.gray(pushResult.stdout));
99
+ }
100
+ if (options.setUpstream) {
101
+ logger.info(`Set upstream branch: ${chalk.cyan(options.setUpstream)}`);
102
+ }
103
+ }
104
+ catch (error) {
105
+ spinner.stop();
106
+ if (error instanceof Error) {
107
+ if (error.message?.includes('not a git repository')) {
108
+ logger.error(chalk.red('❌ Not a git repository!'));
109
+ logger.log(chalk.yellow('Make sure you are in a git repository directory.'));
110
+ process.exit(1);
111
+ }
112
+ if (error.message?.includes('no upstream branch')) {
113
+ logger.error(chalk.red('❌ No upstream branch configured!'));
114
+ logger.log(chalk.yellow('Use --set-upstream to set the upstream branch:'));
115
+ logger.log(chalk.cyan(` git push -u origin ${branchName || 'your-branch'}`));
116
+ process.exit(1);
117
+ }
118
+ if (error.message?.includes('rejected')) {
119
+ logger.error(chalk.red('❌ Push was rejected!'));
120
+ logger.log(chalk.yellow('The remote branch has changes that conflict with your local branch.'));
121
+ logger.log(chalk.gray('Try pulling the latest changes first:'));
122
+ logger.log(chalk.cyan(` git pull origin ${branchName || 'your-branch'}`));
123
+ logger.log(chalk.gray('Or use --force to overwrite (use with caution):'));
124
+ logger.log(chalk.cyan(' git push --force'));
125
+ process.exit(1);
126
+ }
127
+ if (error.message?.includes('authentication')) {
128
+ logger.error(chalk.red('❌ Authentication failed!'));
129
+ logger.log(chalk.yellow('Check your git credentials or SSH keys.'));
130
+ process.exit(1);
131
+ }
132
+ }
133
+ logger.error(chalk.red('❌ Failed to push to remote'));
134
+ logger.error(chalk.gray(error instanceof Error ? error.message : String(error)));
135
+ process.exit(1);
136
+ }
137
+ });
138
+ return command;
139
+ }
140
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/git/push/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function registerCommands(program: Command): void;
3
+ export { createInitCommand } from './init/index.js';
4
+ export { createConfigCommand } from './config/index.js';
5
+ export { createGitCommand } from './git/index.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAIvD;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { createInitCommand } from './init/index.js';
2
+ import { createConfigCommand } from './config/index.js';
3
+ import { createGitCommand } from './git/index.js';
4
+ export function registerCommands(program) {
5
+ program.addCommand(createInitCommand());
6
+ program.addCommand(createConfigCommand());
7
+ program.addCommand(createGitCommand());
8
+ }
9
+ export { createInitCommand } from './init/index.js';
10
+ export { createConfigCommand } from './config/index.js';
11
+ export { createGitCommand } from './git/index.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from '@commander-js/extra-typings';
2
+ export declare function createInitCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAYtD,wBAAgB,iBAAiB,IAAI,OAAO,CA6J3C"}