atxp 1.0.2 → 1.0.4

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.
package/README.md CHANGED
@@ -1,42 +1,80 @@
1
1
  # ATXP CLI
2
2
 
3
- The official ATXP (Authorization Token Exchange Protocol) CLI tool for creating projects and running demos.
3
+ Command line tool for creating ATXP projects and running demos.
4
4
 
5
- ## Quick Start
5
+ ## Installation
6
6
 
7
- ### Create a new ATXP project
8
7
  ```bash
9
- npm create atxp
8
+ # Run directly with npx (recommended)
9
+ npx atxp
10
+
11
+ # Or install globally
12
+ npm install -g atxp
10
13
  ```
11
- Creates a new project with interactive prompts for:
12
- - Project name and template
13
- - Solana network configuration
14
- - Environment setup
15
- - Git initialization
16
14
 
17
- ### Run the ATXP demo
15
+ ## Quick Start
16
+
18
17
  ```bash
18
+ # Show help and available commands
19
19
  npx atxp
20
+
21
+ # Run the interactive demo
22
+ npx atxp demo
23
+
24
+ # Create a new project
25
+ npx atxp create my-app
20
26
  ```
21
- Downloads and runs the latest ATXP agent demo from GitHub, showcasing a full web-based agent with MCP servers.
22
27
 
23
- ## What is ATXP?
28
+ ## Commands
29
+
30
+ ### `npx atxp`
31
+ Shows help information and available commands.
24
32
 
25
- ATXP is a framework for building agents that can interact with the world through secure OAuth authentication and Solana payments. It provides:
33
+ ### `npx atxp demo [options]`
34
+ Runs the interactive ATXP demo application.
26
35
 
27
- - 🔐 OAuth-based authentication
28
- - 💰 Solana payment integration
29
- - 🤖 MCP (Model Context Protocol) support
30
- - Fast and secure architecture
36
+ **Options:**
37
+ - `--verbose, -v` - Show detailed logs
38
+ - `--refresh` - Force refresh demo from GitHub
39
+ - `--port, -p` - Specify port number (default: 8016)
40
+ - `--dir, -d` - Specify demo directory (default: ~/.cache/atxp/demo)
31
41
 
32
- ## Templates
42
+ **Examples:**
43
+ ```bash
44
+ npx atxp demo
45
+ npx atxp demo --verbose
46
+ npx atxp demo --port 3000
47
+ npx atxp demo --dir ./my-demo
48
+ npx atxp demo --port 3000 --dir ./my-demo --verbose
49
+ npx atxp demo --refresh
50
+ ```
33
51
 
34
- - **Basic Client**: CLI client example
35
- - **Server**: MCP server with payments
36
- - **Full Stack**: Complete client + server setup
52
+ ### `npx atxp create [project-name]`
53
+ Creates a new ATXP project with the specified name.
54
+
55
+ **Examples:**
56
+ ```bash
57
+ npx atxp create my-app
58
+ npx atxp create my-agent-project
59
+ ```
60
+
61
+ ### `npx atxp help`
62
+ Displays help information (same as running `npx atxp`).
63
+
64
+ ## About ATXP
65
+
66
+ ATXP is a platform for building web agents with OAuth and payment capabilities. This CLI tool helps you:
67
+
68
+ - Explore ATXP features through interactive demos
69
+ - Bootstrap new projects with ATXP integration
70
+ - Set up development environments quickly
37
71
 
38
72
  ## Learn More
39
73
 
40
- - [Documentation](https://docs.atxp.ai)
41
- - [GitHub Repository](https://github.com/atxp-dev/sdk)
42
- - [Examples](https://github.com/atxp-dev/sdk/tree/main/examples)
74
+ - Website: https://atxp.dev
75
+ - GitHub: https://github.com/atxp-dev/cli
76
+ - Documentation: https://docs.atxp.dev
77
+
78
+ ## License
79
+
80
+ MIT
@@ -0,0 +1,12 @@
1
+ interface DependencyCheck {
2
+ name: string;
3
+ command: string;
4
+ args: string[];
5
+ requiredFor: string[];
6
+ installInstructions: string;
7
+ }
8
+ export declare function checkDependency(dependency: DependencyCheck): Promise<boolean>;
9
+ export declare function checkAllDependencies(command?: string): Promise<boolean>;
10
+ export declare function showDependencyError(command: string): void;
11
+ export {};
12
+ //# sourceMappingURL=check-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-dependencies.d.ts","sourceRoot":"","sources":["../src/check-dependencies.ts"],"names":[],"mappings":"AAGA,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAmBD,wBAAsB,eAAe,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAcnF;AAED,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqB7E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAOzD"}
@@ -0,0 +1,58 @@
1
+ import { spawn } from 'child_process';
2
+ import chalk from 'chalk';
3
+ const DEPENDENCIES = [
4
+ {
5
+ name: 'Git',
6
+ command: 'git',
7
+ args: ['--version'],
8
+ requiredFor: ['demo', 'create'],
9
+ installInstructions: 'Please install Git from https://git-scm.com/downloads'
10
+ },
11
+ {
12
+ name: 'npm',
13
+ command: 'npm',
14
+ args: ['--version'],
15
+ requiredFor: ['demo'],
16
+ installInstructions: 'Please install Node.js (which includes npm) from https://nodejs.org/'
17
+ }
18
+ ];
19
+ export async function checkDependency(dependency) {
20
+ return new Promise((resolve) => {
21
+ const process = spawn(dependency.command, dependency.args, {
22
+ stdio: 'ignore'
23
+ });
24
+ process.on('close', (code) => {
25
+ resolve(code === 0);
26
+ });
27
+ process.on('error', () => {
28
+ resolve(false);
29
+ });
30
+ });
31
+ }
32
+ export async function checkAllDependencies(command) {
33
+ let allDependenciesOk = true;
34
+ for (const dependency of DEPENDENCIES) {
35
+ // If a specific command is provided, only check dependencies for that command
36
+ if (command && !dependency.requiredFor.includes(command)) {
37
+ continue;
38
+ }
39
+ const isAvailable = await checkDependency(dependency);
40
+ if (!isAvailable) {
41
+ console.error(chalk.red(`✗ ${dependency.name} is not installed or not available in PATH`));
42
+ console.error(chalk.yellow(` Required for: ${dependency.requiredFor.join(', ')}`));
43
+ console.error(chalk.white(` ${dependency.installInstructions}`));
44
+ console.error('');
45
+ allDependenciesOk = false;
46
+ }
47
+ }
48
+ return allDependenciesOk;
49
+ }
50
+ export function showDependencyError(command) {
51
+ console.error(chalk.red(`Cannot run "${command}" command due to missing dependencies.`));
52
+ console.error(chalk.yellow('Please install the required dependencies and try again.'));
53
+ console.error('');
54
+ console.error(chalk.white('For help with installation, visit:'));
55
+ console.error(chalk.blue(' Git: https://git-scm.com/downloads'));
56
+ console.error(chalk.blue(' Node.js/npm: https://nodejs.org/'));
57
+ }
58
+ //# sourceMappingURL=check-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-dependencies.js","sourceRoot":"","sources":["../src/check-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,YAAY,GAAsB;IACtC;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,WAAW,CAAC;QACnB,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC/B,mBAAmB,EAAE,uDAAuD;KAC7E;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,WAAW,CAAC;QACnB,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,mBAAmB,EAAE,sEAAsE;KAC5F;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,UAA2B;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE;YACzD,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgB;IACzD,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAE7B,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,8EAA8E;QAC9E,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,4CAA4C,CAAC,CAAC,CAAC;YAC3F,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClB,iBAAiB,GAAG,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,wCAAwC,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=check-dependencies.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-dependencies.test.d.ts","sourceRoot":"","sources":["../src/check-dependencies.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { checkDependency } from './check-dependencies.js';
3
+ describe('checkDependency', () => {
4
+ it('should return true for available commands', async () => {
5
+ const nodeDependency = {
6
+ name: 'Node.js',
7
+ command: 'node',
8
+ args: ['--version'],
9
+ requiredFor: ['demo'],
10
+ installInstructions: 'Please install Node.js'
11
+ };
12
+ const result = await checkDependency(nodeDependency);
13
+ expect(result).toBe(true);
14
+ });
15
+ it('should return false for unavailable commands', async () => {
16
+ const fakeDependency = {
17
+ name: 'Fake Command',
18
+ command: 'nonexistent-command-12345',
19
+ args: ['--version'],
20
+ requiredFor: ['demo'],
21
+ installInstructions: 'This command does not exist'
22
+ };
23
+ const result = await checkDependency(fakeDependency);
24
+ expect(result).toBe(false);
25
+ });
26
+ });
27
+ //# sourceMappingURL=check-dependencies.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-dependencies.test.js","sourceRoot":"","sources":["../src/check-dependencies.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,WAAW,EAAE,CAAC,MAAM,CAAC;YACrB,mBAAmB,EAAE,wBAAwB;SAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,2BAA2B;YACpC,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,WAAW,EAAE,CAAC,MAAM,CAAC;YACrB,mBAAmB,EAAE,6BAA6B;SACnD,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -6,7 +6,7 @@ import { spawn } from 'child_process';
6
6
  // Template repositories
7
7
  const TEMPLATES = {
8
8
  agent: {
9
- url: 'https://github.com/atxp-dev/agent-demo.git',
9
+ url: 'https://github.com/atxp-dev/atxp-express-example.git',
10
10
  humanText: 'Agent Demo (Full-stack web agent)'
11
11
  }
12
12
  };
@@ -109,7 +109,14 @@ async function cloneTemplate(template, projectPath) {
109
109
  }
110
110
  return new Promise((resolve, reject) => {
111
111
  console.log(chalk.blue('Downloading template from GitHub...'));
112
- const git = spawn('git', ['clone', templateConfig.url, projectPath], {
112
+ const git = spawn('git', [
113
+ 'clone',
114
+ '--depth', '1', // Shallow clone - only latest commit
115
+ '--single-branch', // Only clone the default branch
116
+ '--branch', 'main', // Explicitly target main branch
117
+ templateConfig.url,
118
+ projectPath
119
+ ], {
113
120
  stdio: 'inherit'
114
121
  });
115
122
  git.on('close', (code) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../src/create-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-project.js","sourceRoot":"","sources":["../src/create-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=create-project.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-project.test.d.ts","sourceRoot":"","sources":["../src/create-project.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ describe('createProject', () => {
3
+ it('should validate project names correctly', () => {
4
+ const validateProjectName = (input) => {
5
+ if (!input.trim())
6
+ return 'Project name is required';
7
+ if (!/^[a-zA-Z0-9-_]+$/.test(input)) {
8
+ return 'Project name can only contain letters, numbers, hyphens, and underscores';
9
+ }
10
+ return true;
11
+ };
12
+ expect(validateProjectName('my-project')).toBe(true);
13
+ expect(validateProjectName('project_123')).toBe(true);
14
+ expect(validateProjectName('')).toBe('Project name is required');
15
+ expect(validateProjectName('invalid name')).toBe('Project name can only contain letters, numbers, hyphens, and underscores');
16
+ expect(validateProjectName('invalid@name')).toBe('Project name can only contain letters, numbers, hyphens, and underscores');
17
+ });
18
+ });
19
+ //# sourceMappingURL=create-project.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-project.test.js","sourceRoot":"","sources":["../src/create-project.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAAE,OAAO,0BAA0B,CAAC;YACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAO,0EAA0E,CAAC;YACpF,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACjE,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QAC7H,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=git-optimization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-optimization.test.d.ts","sourceRoot":"","sources":["../src/git-optimization.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ describe('Git optimization', () => {
3
+ it('should use shallow clone parameters for demo repository', () => {
4
+ // This test documents the expected git clone parameters for optimal performance
5
+ const expectedCloneArgs = [
6
+ 'clone',
7
+ '--depth', '1', // Shallow clone - only latest commit
8
+ '--single-branch', // Only clone the default branch
9
+ '--branch', 'main', // Explicitly target main branch
10
+ 'DEMO_REPO_URL',
11
+ 'demoDir'
12
+ ];
13
+ expect(expectedCloneArgs).toContain('--depth');
14
+ expect(expectedCloneArgs).toContain('1');
15
+ expect(expectedCloneArgs).toContain('--single-branch');
16
+ expect(expectedCloneArgs).toContain('--branch');
17
+ expect(expectedCloneArgs).toContain('main');
18
+ });
19
+ it('should use shallow clone parameters for project templates', () => {
20
+ // This test documents the expected git clone parameters for project creation
21
+ const expectedCloneArgs = [
22
+ 'clone',
23
+ '--depth', '1', // Shallow clone - only latest commit
24
+ '--single-branch', // Only clone the default branch
25
+ '--branch', 'main', // Explicitly target main branch
26
+ 'templateUrl',
27
+ 'projectPath'
28
+ ];
29
+ expect(expectedCloneArgs).toContain('--depth');
30
+ expect(expectedCloneArgs).toContain('1');
31
+ expect(expectedCloneArgs).toContain('--single-branch');
32
+ expect(expectedCloneArgs).toContain('--branch');
33
+ expect(expectedCloneArgs).toContain('main');
34
+ });
35
+ it('should use optimized pull parameters for demo updates', () => {
36
+ // This test documents the expected git pull parameters for updates
37
+ const expectedPullArgs = [
38
+ 'pull',
39
+ '--depth', '1', // Keep shallow history during pull
40
+ 'origin', 'main' // Explicitly pull from main branch
41
+ ];
42
+ expect(expectedPullArgs).toContain('--depth');
43
+ expect(expectedPullArgs).toContain('1');
44
+ expect(expectedPullArgs).toContain('origin');
45
+ expect(expectedPullArgs).toContain('main');
46
+ });
47
+ });
48
+ //# sourceMappingURL=git-optimization.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-optimization.test.js","sourceRoot":"","sources":["../src/git-optimization.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,gFAAgF;QAChF,MAAM,iBAAiB,GAAG;YACxB,OAAO;YACP,SAAS,EAAE,GAAG,EAAY,qCAAqC;YAC/D,iBAAiB,EAAS,kCAAkC;YAC5D,UAAU,EAAE,MAAM,EAAQ,gCAAgC;YAC1D,eAAe;YACf,SAAS;SACV,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,6EAA6E;QAC7E,MAAM,iBAAiB,GAAG;YACxB,OAAO;YACP,SAAS,EAAE,GAAG,EAAY,qCAAqC;YAC/D,iBAAiB,EAAS,gCAAgC;YAC1D,UAAU,EAAE,MAAM,EAAQ,gCAAgC;YAC1D,aAAa;YACb,aAAa;SACd,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACvD,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,mEAAmE;QACnE,MAAM,gBAAgB,GAAG;YACvB,MAAM;YACN,SAAS,EAAE,GAAG,EAAY,mCAAmC;YAC7D,QAAQ,EAAE,MAAM,CAAU,mCAAmC;SAC9D,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/help.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function showHelp(): void;
2
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,IAAI,IAAI,CAqC/B"}
package/dist/help.js ADDED
@@ -0,0 +1,35 @@
1
+ import chalk from 'chalk';
2
+ export function showHelp() {
3
+ console.log(chalk.bold(chalk.blue('ATXP CLI')));
4
+ console.log(chalk.gray('Command line tool for creating ATXP projects and running demos'));
5
+ console.log();
6
+ console.log(chalk.bold('Usage:'));
7
+ console.log(' npx atxp <command> [options]');
8
+ console.log();
9
+ console.log(chalk.bold('Commands:'));
10
+ console.log(' ' + chalk.cyan('demo') + ' ' + 'Run the ATXP demo application');
11
+ console.log(' ' + chalk.cyan('create') + ' ' + 'Create a new ATXP project');
12
+ console.log(' ' + chalk.cyan('help') + ' ' + 'Show this help message');
13
+ console.log();
14
+ console.log(chalk.bold('Demo Options:'));
15
+ console.log(' ' + chalk.yellow('--verbose, -v') + ' ' + 'Show detailed logs');
16
+ console.log(' ' + chalk.yellow('--refresh') + ' ' + 'Force refresh the demo from GitHub');
17
+ console.log(' ' + chalk.yellow('--frontend-port, --fp') + ' ' + 'Specify frontend port (default: 8016)');
18
+ console.log(' ' + chalk.yellow('--backend-port, --bp') + ' ' + 'Specify backend port (default: 8017)');
19
+ console.log(' ' + chalk.yellow('--dir, -d') + ' ' + 'Specify demo directory (default: ~/.cache/atxp/demo)');
20
+ console.log();
21
+ console.log(chalk.bold('Examples:'));
22
+ console.log(' npx atxp demo # Run the demo with defaults (frontend: 8016, backend: 8017)');
23
+ console.log(' npx atxp demo --verbose # Run demo with detailed logs');
24
+ console.log(' npx atxp demo --frontend-port 4000 # Run demo with frontend on port 4000');
25
+ console.log(' npx atxp demo --backend-port 4001 # Run demo with backend on port 4001');
26
+ console.log(' npx atxp demo --dir ./my-demo # Use custom demo directory');
27
+ console.log(' npx atxp demo --frontend-port 4000 --backend-port 4001 # Custom ports');
28
+ console.log(' npx atxp demo --dir ./my-demo --frontend-port 4000 # Custom directory and port');
29
+ console.log(' npx atxp create # Create a new project');
30
+ console.log();
31
+ console.log(chalk.bold('Learn more:'));
32
+ console.log(' Website: ' + chalk.underline('https://atxp.dev'));
33
+ console.log(' GitHub: ' + chalk.underline('https://github.com/atxp-dev/cli'));
34
+ }
35
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,16 +1,89 @@
1
1
  #!/usr/bin/env node
2
+ import path from 'path';
3
+ import os from 'os';
2
4
  import { createProject } from './create-project.js';
3
5
  import { runDemo } from './run-demo.js';
6
+ import { showHelp } from './help.js';
7
+ import { checkAllDependencies, showDependencyError } from './check-dependencies.js';
8
+ // Parse command line arguments
9
+ function parseArgs() {
10
+ const command = process.argv[2];
11
+ // Parse demo options
12
+ const getArgValue = (flag, shortFlag) => {
13
+ const index = process.argv.findIndex(arg => arg === flag || arg === shortFlag);
14
+ return index !== -1 ? process.argv[index + 1] : undefined;
15
+ };
16
+ const frontendPort = (() => {
17
+ const portValue = getArgValue('--frontend-port', '--fp');
18
+ if (portValue) {
19
+ const parsed = parseInt(portValue, 10);
20
+ if (parsed > 0 && parsed < 65536)
21
+ return parsed;
22
+ }
23
+ return 8016; // default frontend port
24
+ })();
25
+ const backendPort = (() => {
26
+ const portValue = getArgValue('--backend-port', '--bp');
27
+ if (portValue) {
28
+ const parsed = parseInt(portValue, 10);
29
+ if (parsed > 0 && parsed < 65536)
30
+ return parsed;
31
+ }
32
+ return 8017; // default backend port
33
+ })();
34
+ const dir = (() => {
35
+ const dirValue = getArgValue('--dir', '-d');
36
+ return dirValue ? path.resolve(dirValue) : path.join(os.homedir(), '.cache', 'atxp', 'demo');
37
+ })();
38
+ const verbose = process.argv.includes('--verbose') || process.argv.includes('-v');
39
+ const refresh = process.argv.includes('--refresh');
40
+ return {
41
+ command,
42
+ demoOptions: { frontendPort, backendPort, dir, verbose, refresh }
43
+ };
44
+ }
45
+ const { command, demoOptions } = parseArgs();
4
46
  // Detect if we're in create mode (npm create atxp or npx atxp create)
5
47
  const isCreateMode = process.env.npm_config_argv?.includes('create') ||
6
48
  process.argv.includes('--create') ||
7
- process.argv[2] === 'create';
8
- if (isCreateMode) {
9
- console.log('Creating new ATXP project...');
10
- createProject();
11
- }
12
- else {
13
- console.log('Starting ATXP demo...');
14
- runDemo();
49
+ command === 'create';
50
+ // Handle different commands
51
+ async function main() {
52
+ if (isCreateMode) {
53
+ console.log('Creating new ATXP project...');
54
+ const dependenciesOk = await checkAllDependencies('create');
55
+ if (!dependenciesOk) {
56
+ showDependencyError('create');
57
+ process.exit(1);
58
+ }
59
+ createProject();
60
+ }
61
+ else if (command === 'demo') {
62
+ console.log('Starting ATXP demo...');
63
+ const dependenciesOk = await checkAllDependencies('demo');
64
+ if (!dependenciesOk) {
65
+ showDependencyError('demo');
66
+ process.exit(1);
67
+ }
68
+ runDemo(demoOptions);
69
+ }
70
+ else if (command === 'help' || command === '--help' || command === '-h') {
71
+ showHelp();
72
+ }
73
+ else if (!command) {
74
+ // No command provided - show help instead of running demo
75
+ showHelp();
76
+ }
77
+ else {
78
+ // Unknown command - show help instead of just error
79
+ console.log(`Unknown command: ${command}`);
80
+ console.log();
81
+ showHelp();
82
+ process.exit(1);
83
+ }
15
84
  }
85
+ main().catch((error) => {
86
+ console.error('An unexpected error occurred:', error.message);
87
+ process.exit(1);
88
+ });
16
89
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,sEAAsE;AACtE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAElD,IAAI,YAAY,EAAE,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,aAAa,EAAE,CAAC;AAClB,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
  describe('ATXP CLI', () => {
3
- it('should be importable', () => {
4
- expect(() => import('./index.js')).not.toThrow();
3
+ it('should detect create mode logic', () => {
4
+ // Test the logic without importing the actual module
5
+ const testCreateMode = (npmConfigArgv, argv = []) => {
6
+ return npmConfigArgv?.includes('create') ||
7
+ argv.includes('--create') ||
8
+ argv[2] === 'create';
9
+ };
10
+ expect(testCreateMode('create')).toBe(true);
11
+ expect(testCreateMode(undefined, ['node', 'script', 'create'])).toBe(true);
12
+ expect(testCreateMode(undefined, ['node', 'script', '--create'])).toBe(true);
13
+ expect(testCreateMode()).toBe(false);
5
14
  });
6
15
  });
7
16
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE7C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,qDAAqD;QACrD,MAAM,cAAc,GAAG,CAAC,aAAsB,EAAE,OAAiB,EAAE,EAAE,EAAE;YACrE,OAAO,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACzB,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;QAC9B,CAAC,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +1,10 @@
1
- export declare function runDemo(): Promise<void>;
1
+ interface DemoOptions {
2
+ frontendPort: number;
3
+ backendPort: number;
4
+ dir: string;
5
+ verbose: boolean;
6
+ refresh: boolean;
7
+ }
8
+ export declare function runDemo(options: DemoOptions): Promise<void>;
9
+ export {};
2
10
  //# sourceMappingURL=run-demo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-demo.d.ts","sourceRoot":"","sources":["../src/run-demo.ts"],"names":[],"mappings":"AAcA,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CA2B7C"}
1
+ {"version":3,"file":"run-demo.d.ts","sourceRoot":"","sources":["../src/run-demo.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BjE"}
package/dist/run-demo.js CHANGED
@@ -1,45 +1,49 @@
1
1
  import chalk from 'chalk';
2
2
  import { spawn } from 'child_process';
3
3
  import fs from 'fs-extra';
4
- import path from 'path';
5
4
  import open from 'open';
6
- import os from 'os';
7
- const DEMO_REPO_URL = 'https://github.com/atxp-dev/agent-demo.git';
8
- const DEMO_DIR = path.join(os.homedir(), '.cache', 'atxp', 'demo');
9
- const DEMO_PORT = 8016;
10
- const isVerbose = process.argv.includes('--verbose') || process.argv.includes('-v');
11
- const shouldRefresh = process.argv.includes('--refresh');
12
- export async function runDemo() {
5
+ import path from 'path';
6
+ const DEMO_REPO_URL = 'https://github.com/atxp-dev/atxp-express-example.git';
7
+ export async function runDemo(options) {
13
8
  try {
14
9
  // Check if demo directory exists, if not clone it
15
- if (!await fs.pathExists(DEMO_DIR)) {
10
+ if (!await fs.pathExists(options.dir)) {
16
11
  console.log(chalk.blue('Downloading demo from GitHub...'));
17
- await cloneDemoRepo();
12
+ await cloneDemoRepo(options.dir, options.verbose);
18
13
  }
19
- else if (shouldRefresh) {
14
+ else if (options.refresh) {
20
15
  // Force refresh if --refresh flag is used
21
16
  console.log(chalk.blue('Forcing demo refresh...'));
22
- await fs.remove(DEMO_DIR);
23
- await cloneDemoRepo();
17
+ await fs.remove(options.dir);
18
+ await cloneDemoRepo(options.dir, options.verbose);
24
19
  }
25
20
  else {
26
21
  console.log(chalk.blue('Using existing demo...'));
27
22
  // Pull latest changes
28
- await updateDemoRepo();
23
+ await updateDemoRepo(options.dir, options.verbose);
29
24
  }
30
25
  // Install dependencies if needed
31
- await installDependencies();
26
+ await installDependencies(options.dir, options.verbose);
27
+ // Create .env files for configuration
28
+ await createEnvFiles(options.dir, options.frontendPort, options.backendPort, options.verbose);
32
29
  // Start the demo and open browser
33
- await startDemo();
30
+ await startDemo(options.frontendPort, options.backendPort, options.dir, options.verbose);
34
31
  }
35
32
  catch (error) {
36
33
  console.error(chalk.red('Error starting demo:'), error.message);
37
34
  process.exit(1);
38
35
  }
39
36
  }
40
- async function cloneDemoRepo() {
37
+ async function cloneDemoRepo(demoDir, isVerbose) {
41
38
  return new Promise((resolve, reject) => {
42
- const git = spawn('git', ['clone', DEMO_REPO_URL, DEMO_DIR], {
39
+ const git = spawn('git', [
40
+ 'clone',
41
+ '--depth', '1', // Shallow clone - only latest commit
42
+ '--single-branch', // Only clone the default branch
43
+ '--branch', 'main', // Explicitly target main branch
44
+ DEMO_REPO_URL,
45
+ demoDir
46
+ ], {
43
47
  stdio: isVerbose ? 'inherit' : 'pipe'
44
48
  });
45
49
  git.on('close', (code) => {
@@ -56,10 +60,14 @@ async function cloneDemoRepo() {
56
60
  });
57
61
  });
58
62
  }
59
- async function updateDemoRepo() {
63
+ async function updateDemoRepo(demoDir, isVerbose) {
60
64
  return new Promise((resolve, _reject) => {
61
- const git = spawn('git', ['pull'], {
62
- cwd: DEMO_DIR,
65
+ const git = spawn('git', [
66
+ 'pull',
67
+ '--depth', '1', // Keep shallow history during pull
68
+ 'origin', 'main' // Explicitly pull from main branch
69
+ ], {
70
+ cwd: demoDir,
63
71
  stdio: isVerbose ? 'inherit' : 'pipe'
64
72
  });
65
73
  git.on('close', (code) => {
@@ -78,13 +86,13 @@ async function updateDemoRepo() {
78
86
  });
79
87
  });
80
88
  }
81
- async function installDependencies() {
89
+ async function installDependencies(demoDir, isVerbose) {
82
90
  console.log(chalk.blue('Installing dependencies...'));
83
91
  return new Promise((resolve, reject) => {
84
92
  // Use --silent flag to reduce npm output
85
93
  const npmArgs = isVerbose ? ['run', 'install-all'] : ['run', 'install-all', '--silent'];
86
94
  const npm = spawn('npm', npmArgs, {
87
- cwd: DEMO_DIR,
95
+ cwd: demoDir,
88
96
  stdio: isVerbose ? 'inherit' : 'pipe'
89
97
  });
90
98
  npm.on('close', (code) => {
@@ -101,9 +109,10 @@ async function installDependencies() {
101
109
  });
102
110
  });
103
111
  }
104
- async function startDemo() {
112
+ async function startDemo(frontendPort, backendPort, demoDir, isVerbose) {
105
113
  console.log(chalk.blue('Starting demo application...'));
106
- console.log(chalk.green(`Demo will be available at: http://localhost:${DEMO_PORT}`));
114
+ console.log(chalk.green(`Demo will be available at: http://localhost:${frontendPort}`));
115
+ console.log(chalk.gray(`Demo directory: ${demoDir}`));
107
116
  console.log(chalk.yellow('Press Ctrl+C to stop the demo'));
108
117
  if (!isVerbose) {
109
118
  console.log(chalk.gray('Run with --verbose to see detailed logs'));
@@ -112,14 +121,19 @@ async function startDemo() {
112
121
  // Set the port environment variable for the demo
113
122
  const env = {
114
123
  ...process.env,
115
- PORT: DEMO_PORT.toString(),
124
+ // Backend will use PORT from its .env file, frontend will use PORT from its .env file
125
+ // We don't set PORT globally to avoid conflicts - let each service read its own .env
126
+ FRONTEND_PORT: frontendPort.toString(),
127
+ BACKEND_PORT: backendPort.toString(),
128
+ REACT_APP_BACKEND_PORT: backendPort.toString(),
129
+ NODE_ENV: 'production',
116
130
  // Suppress deprecation warnings
117
131
  NODE_NO_WARNINGS: '1',
118
132
  // Suppress React warnings in development
119
133
  CI: 'false'
120
134
  };
121
- const demo = spawn('npm', ['run', 'dev'], {
122
- cwd: DEMO_DIR,
135
+ const demo = spawn('npm', ['run', 'start'], {
136
+ cwd: demoDir,
123
137
  stdio: 'pipe', // Always use pipe to capture output
124
138
  env
125
139
  });
@@ -159,11 +173,11 @@ async function startDemo() {
159
173
  if (!demoOpenedBrowser) {
160
174
  try {
161
175
  console.log(chalk.blue('Opening browser...'));
162
- await open(`http://localhost:${DEMO_PORT}`);
176
+ await open(`http://localhost:${frontendPort}`);
163
177
  }
164
178
  catch {
165
179
  console.log(chalk.yellow('Could not open browser automatically'));
166
- console.log(chalk.white(`Please open http://localhost:${DEMO_PORT} in your browser`));
180
+ console.log(chalk.white(`Please open http://localhost:${frontendPort} in your browser`));
167
181
  }
168
182
  }
169
183
  }, 2000);
@@ -191,6 +205,31 @@ async function startDemo() {
191
205
  });
192
206
  });
193
207
  }
208
+ async function createEnvFiles(demoDir, frontendPort, backendPort, isVerbose) {
209
+ if (isVerbose) {
210
+ console.log(chalk.blue('Creating .env files...'));
211
+ }
212
+ try {
213
+ // Create backend .env file
214
+ const backendEnvPath = path.join(demoDir, 'backend', '.env');
215
+ const backendEnvContent = `PORT=${backendPort}\nFRONTEND_PORT=${frontendPort}\n`;
216
+ await fs.writeFile(backendEnvPath, backendEnvContent);
217
+ if (isVerbose) {
218
+ console.log(chalk.gray(`Created backend .env: ${backendEnvPath}`));
219
+ }
220
+ // Create frontend .env file
221
+ const frontendEnvPath = path.join(demoDir, 'frontend', '.env');
222
+ const frontendEnvContent = `PORT=${frontendPort}\nREACT_APP_BACKEND_PORT=${backendPort}\n`;
223
+ await fs.writeFile(frontendEnvPath, frontendEnvContent);
224
+ if (isVerbose) {
225
+ console.log(chalk.gray(`Created frontend .env: ${frontendEnvPath}`));
226
+ }
227
+ }
228
+ catch (error) {
229
+ console.log(chalk.yellow(`Warning: Could not create .env files: ${error.message}`));
230
+ console.log(chalk.gray('Demo will use environment variables passed directly'));
231
+ }
232
+ }
194
233
  async function cleanup() {
195
234
  try {
196
235
  // Optionally clean up the demo directory
@@ -1 +1 @@
1
- {"version":3,"file":"run-demo.js","sourceRoot":"","sources":["../src/run-demo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,aAAa,GAAG,4CAA4C,CAAC;AACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACnE,MAAM,SAAS,GAAG,IAAI,CAAC;AAEvB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpF,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,kDAAkD;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC3D,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,0CAA0C;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,sBAAsB;YACtB,MAAM,cAAc,EAAE,CAAC;QACzB,CAAC;QAED,iCAAiC;QACjC,MAAM,mBAAmB,EAAE,CAAC;QAE5B,kCAAkC;QAClC,MAAM,SAAS,EAAE,CAAC;IAEpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE;YAC3D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACzD,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE;YACjC,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBAC3E,OAAO,EAAE,CAAC,CAAC,6BAA6B;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;YAC3E,OAAO,EAAE,CAAC,CAAC,6BAA6B;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,yCAAyC;QACzC,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAExF,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE;YAChC,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;SACtC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAChE,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,iDAAiD;QACjD,MAAM,GAAG,GAAG;YACV,GAAG,OAAO,CAAC,GAAG;YACd,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC1B,gCAAgC;YAChC,gBAAgB,EAAE,GAAG;YACrB,yCAAyC;YACzC,EAAE,EAAE,OAAO;SACZ,CAAC;QAEF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YACxC,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,MAAM,EAAE,oCAAoC;YACnD,GAAG;SACJ,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,6BAA6B;QAC7B,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,UAAU,IAAI,MAAM,CAAC;YAErB,IAAI,SAAS,EAAE,CAAC;gBACd,mCAAmC;gBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/B,IAAI,SAAS,EAAE,CAAC;gBACd,mCAAmC;gBACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAElE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC9C,MAAM,IAAI,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,SAAS,kBAAkB,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBACtD,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzD,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,IAAI,CAAC;QACH,yCAAyC;QACzC,wEAAwE;QACxE,6BAA6B;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"run-demo.js","sourceRoot":"","sources":["../src/run-demo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=run-demo.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-demo.test.d.ts","sourceRoot":"","sources":["../src/run-demo.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ describe('runDemo', () => {
3
+ it('should parse command line flags correctly', () => {
4
+ const parseFlags = (argv) => {
5
+ return {
6
+ isVerbose: argv.includes('--verbose') || argv.includes('-v'),
7
+ shouldRefresh: argv.includes('--refresh')
8
+ };
9
+ };
10
+ expect(parseFlags(['node', 'script'])).toEqual({ isVerbose: false, shouldRefresh: false });
11
+ expect(parseFlags(['node', 'script', '--verbose'])).toEqual({ isVerbose: true, shouldRefresh: false });
12
+ expect(parseFlags(['node', 'script', '-v'])).toEqual({ isVerbose: true, shouldRefresh: false });
13
+ expect(parseFlags(['node', 'script', '--refresh'])).toEqual({ isVerbose: false, shouldRefresh: true });
14
+ expect(parseFlags(['node', 'script', '--verbose', '--refresh'])).toEqual({ isVerbose: true, shouldRefresh: true });
15
+ });
16
+ });
17
+ //# sourceMappingURL=run-demo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-demo.test.js","sourceRoot":"","sources":["../src/run-demo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE;YACpC,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC5D,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;aAC1C,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACvG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAChG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,16 +1,15 @@
1
1
  {
2
2
  "name": "atxp",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "ATXP CLI - Command line tool for creating ATXP projects and running demos",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
- "url": "git+https://github.com/atxp-dev/sdk.git",
9
- "directory": "packages/atxp"
8
+ "url": "git+https://github.com/atxp-dev/cli.git"
10
9
  },
11
10
  "main": "dist/index.js",
12
11
  "bin": {
13
- "atxp": "./dist/index.js"
12
+ "atxp": "dist/index.js"
14
13
  },
15
14
  "type": "module",
16
15
  "files": [