55 Commits

Author SHA1 Message Date
emilioacc f4bf6f0610 fix: construct full URL when using --token for headless login (#21)
When using `npx atxp login --token <token>`, the raw token was saved
directly to the config file. However, the @atxp/client library expects
a full URL format with the connection_token parameter.

This caused "Invalid URL" errors when trying to use any ATXP tools
after headless login.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.2.6
2026-01-26 17:03:39 -05:00
GitHub Action 9a91659dc3 bump version to 1.2.5 [skip ci] 2026-01-26 21:04:30 +00:00
Emilio Amaya e72fd06a55 fix: sync package-lock.json v1.2.5 2026-01-26 16:03:47 -05:00
Emilio Amaya 17be61fc80 fix: reset atxp dependency to published version 2026-01-26 16:02:07 -05:00
Emilio Amaya 80ef032721 chore: remove duplicate publish workflow 2026-01-26 15:54:19 -05:00
GitHub Action fcf9c9f22c bump version to 1.2.4 [skip ci] 2026-01-26 20:52:38 +00:00
Emilio Amaya 8bf19e0e16 ci: trigger publish on GitHub release v1.2.4 2026-01-26 15:45:15 -05:00
Emilio Amaya 7c2eef00c0 ci: add manual trigger for publish workflow 2026-01-26 15:37:50 -05:00
Emilio Amaya aeb1b1cfcb chore: trigger publish [skip ci] 2026-01-26 15:37:39 -05:00
Emilio Amaya 1927b96fd2 ci: add npm publish workflow 2026-01-26 15:37:31 -05:00
Emilio Amaya 0c39069e7d bump version to 1.2.3 [skip ci] 2026-01-26 15:36:51 -05:00
emilioacc da3e4fa083 feat: add QR code fallback for login (#20)
- Add --qr flag for explicit QR code login
- Detect headless environments (SSH, Docker, CI, no DISPLAY) and auto-fallback to QR
- Try browser first, fall back to QR if browser fails to open
- Add qrcode-terminal dependency for terminal QR rendering

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 15:34:15 -05:00
emilioacc ba4eef2c42 feat: add --token flag for headless login (#19)
Add --token (-t) option to the login command to support headless
authentication in CI/CD and automated testing environments.

Usage: npx atxp login --token $ATXP_CONNECTION_TOKEN

This allows users to provide a connection token directly without
needing browser-based OAuth flow.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 15:04:30 -05:00
GitHub Action 834f14f7cc bump version to 1.2.2 [skip ci] 2026-01-26 19:07:13 +00:00
emilioacc 7df2a1b9ca feat: browser-based login with localhost callback (#18)
Replace manual connection string entry with OAuth-style browser login:
- CLI starts localhost server on random port
- Opens browser to accounts.atxp.ai with cli_redirect param
- Receives connection string via localhost callback
- Saves to ~/.atxp/config

Same pattern as Claude Code uses for authentication.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.2.2
2026-01-26 14:06:21 -05:00
emilioacc e1102aced4 Add Agent Skill documentation to README (#17)
Documents the ATXP skill installation and capabilities for AI assistants.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 13:53:30 -05:00
emilioacc 392cf42f49 Add ATXP Agent Skill for Claude Code (#16)
Implements skill following Anthropic's Agent Skills standard for teaching
AI assistants how to use ATXP tools (search, image, music, video, x).

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 13:49:02 -05:00
GitHub Action d073065ec9 bump version to 1.2.1 [skip ci] 2026-01-26 16:52:11 +00:00
emilioacc 11ac95dd38 Fix tool names for MCP servers (#15)
- search.mcp.atxp.ai: search -> search_search
- image.mcp.atxp.ai: generate_image -> image_create_image
- music.mcp.atxp.ai: generate_music -> music_create
- video.mcp.atxp.ai: generate_video -> create_video

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.2.1
2026-01-26 11:51:19 -05:00
GitHub Action f4f1608966 bump version to 1.2.0 [skip ci] 2026-01-26 16:40:20 +00:00
emilioacc d7a81272a0 Update README with new tool commands (#14)
- Add login command documentation
- Add tool commands (search, image, music, video, x)
- Update demo/create to use dev subcommand
- Reorganize structure to match new CLI

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
v1.2.0
2026-01-26 11:39:18 -05:00
emilioacc 85f047f21e Add login and tool commands (search, image, music, video, x) (#13)
* Add login and tool commands (search, image, music, video, x)

- Add `login` command to save ATXP connection string to ~/.atxp/config
- Add tool commands that wrap @atxp/client:
  - `search <query>` - web search via search.mcp.atxp.ai
  - `image <prompt>` - image generation via image.mcp.atxp.ai
  - `music <prompt>` - music generation via music.mcp.atxp.ai
  - `video <prompt>` - video generation via video.mcp.atxp.ai
  - `x <query>` - X/Twitter search via x-live-search.mcp.atxp.ai
- Move demo and create commands under `dev` subcommand
- Maintain backwards compatibility for `npx atxp demo` and `npx atxp create`
- Update help text with new command structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add and update tests for new tool commands

- Update index.test.ts with tests for dev subcommand and tool argument parsing
- Add login.test.ts for config file format and login options
- Add call-tool.test.ts for server mapping and result parsing
- Add commands/commands.test.ts for all tool commands (search, image, music, video, x)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Fix lint errors

- Wrap case block in braces to fix no-case-declarations error in index.ts
- Remove unused fs import from login.test.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 11:35:36 -05:00
GitHub Action 847477e508 bump version to 1.1.1 [skip ci] 2025-11-06 17:55:35 +00:00
zach wick 2b8260f20e Merge pull request #12 from atxp-dev/zach/mastra
Placeholder for mastra framework support
v1.1.1
2025-11-06 09:54:27 -08:00
zach wick 26f5ecc0fd Placeholder for mastra framework example
Signed-off-by: zach wick <zwick@novellum.ai>
2025-11-06 09:53:42 -08:00
GitHub Action f9ef2f7d70 bump version to 1.1.0 [skip ci] 2025-10-14 13:53:52 +00:00
Rob Di Marco bcc78d29b4 ATXP-407: Integrate Cloudflare Workers template into atxp create command (#11)
* ATXP-407: Integrate Cloudflare Workers template into atxp create command

Added support for creating projects with the Cloudflare Workers AI agent template alongside the existing Express template. Users can now choose between frameworks using the --framework flag.

Changes:
- Added 'cloudflare' as a new framework option
- Updated Framework type to include 'cloudflare'
- Added Cloudflare template configuration pointing to atxp-cloudflare-agent-example
- Updated README with cloudflare framework examples
- Added framework-specific installation instructions (npm install vs npm run install-all)
- Updated tests to validate both express and cloudflare frameworks
v1.1.0
2025-10-13 17:03:15 -04:00
GitHub Action d789060490 bump version to 1.0.8 [skip ci] 2025-09-19 14:06:23 +00:00
Rob Di Marco dff18630b4 Fix bugs in create process v1.0.8 2025-09-19 10:05:17 -04:00
GitHub Action 557bd693c4 bump version to 1.0.7 [skip ci] 2025-09-19 13:59:54 +00:00
Rob Di Marco d52158d531 ATXP-266: Walk users through creating .env file when running atxp create (#10)
- Add interactive environment variable configuration during project creation
- Parse comments from env.example to use as variable descriptions
- Detect placeholder values (empty, your_, TODO, etc.) that need configuration
- Prompt users to configure each placeholder variable with helpful descriptions
- Allow users to skip configuration or set variables to empty strings
- Only show env reminders when .env file actually exists
v1.0.7
2025-09-10 18:14:14 -04:00
GitHub Action 600b4bf572 bump version to 1.0.6 [skip ci] 2025-09-10 21:50:01 +00:00
Rob Di Marco 57d88541ba ATXP-242: Update templates in create-project.ts (#9)
Core Features

Updated template repository from atxp-express-example to atxp-express-starter
Added Framework type for type safety and extensibility
Changed createProject to require app name as first parameter (eliminates interactive prompt)
Added command line argument support for framework selection (--framework)
Added smart git initialization with --git and --no-git flags
Fixed help flag handling to show help instead of running commands

Wrapper Package Updates

Updated create-atxp wrapper to support new API
Fixed argument passing from npm create atxp to underlying atxp create command
v1.0.6
2025-09-10 17:43:42 -04:00
GitHub Action 78648851b7 bump version to 1.0.5 [skip ci] 2025-09-10 14:01:46 +00:00
Rob Di Marco 63ad2d205c ATXP-260: Switch demo to single server and use npm run (#8)
* Fix git divergent branches error in demo update

Replace git pull with fetch + reset --hard to avoid divergent branch conflicts.
This ensures the demo repository always matches the remote exactly, discarding
any local changes that might have been made during demo usage.

* Refactor demo to use single port instead of frontend/backend ports

- Replace frontendPort and backendPort with single port parameter
- Update CLI args to use --port/-p instead of --frontend-port/--backend-port
- Default port changed to 8017 (previously backend port)
- Simplify .env file creation to single root .env instead of separate files
- Update environment variables and browser opening to use single port
- Aligns with new architecture of unified server handling both frontend and backend

* Remove .env file creation logic from demo

The demo server no longer needs .env files as it will use environment
variables passed directly through the spawn process. This simplifies
the demo setup and aligns with the unified server architecture.
v1.0.5
2025-09-10 10:00:55 -04:00
GitHub Action 1fa5382709 bump version to 1.0.4 [skip ci] 2025-09-10 00:13:06 +00:00
Rob Di Marco 8488d4dbd7 Put registry-url back in v1.0.4 2025-09-09 19:41:03 -04:00
Rob Di Marco e5d1a81f52 Ran npm pkg fix 2025-09-09 19:39:33 -04:00
Rob Di Marco f12990c805 Ran npm pkg fix 2025-09-09 19:39:22 -04:00
Rob Di Marco c33c0c07e3 Get rid of scope for publishing 2025-09-09 19:37:44 -04:00
Rob Di Marco e758befb90 Tweak workflow to correctly update dependency 2025-09-09 19:31:16 -04:00
Rob Di Marco 4289116f4b Run the demo application in production mode 2025-09-09 19:23:58 -04:00
Rob Di Marco 16d22a36d7 Add separate frontend and backend port configuration for demo command (#7)
* Add separate frontend and backend port configuration for demo command

Implement ATXP-243: Allow users to specify separate frontend and backend ports
when running the demo, replacing the single --port option with more granular control.

## Changes Made

### Command Line Interface
- Replace `--port, -p` with `--frontend-port, --fp` and `--backend-port, --bp`
- Update default ports: frontend 3000, backend 3001 (matching atxp-express-example defaults)
- Maintain backward compatibility by using sensible defaults

### Updated Documentation
- Comprehensive help text with new port options and examples
- Clear usage examples showing frontend/backend port combinations
- Updated default port information throughout

## Implementation Details

The demo command now:
1. Parses separate frontend/backend port arguments
2. Creates appropriate .env files in the cloned repository
3. Passes environment variables to the demo process
4. Uses frontend port for browser opening and user messaging

This integrates seamlessly with the atxp-express-example repository's existing
port configuration system implemented in PR #6.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update default ports to maintain backward compatibility

- Frontend port: 8016 (original default, maintains backward compatibility)
- Backend port: 8017 (one number higher as requested)
- Updated help documentation with new default port values
- Verified .env file generation works correctly with new defaults

This preserves existing user expectations while providing the requested
port separation functionality.

* Fix backend port configuration issue

Remove global PORT environment variable that was overriding backend .env file.
Now each service (frontend/backend) reads its PORT from its own .env file,
allowing them to run on separate ports correctly.

Fixes issue where backend was running on frontend port instead of backend port,
causing ECONNREFUSED errors in the proxy connection.

Verified fix: Backend=8017, Frontend=8016, proxy connections working.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-09 18:02:48 -04:00
Rob Di Marco ec9b09e784 Improve CLI error handling for unrecognized commands (#6)
Show full help information when user enters an unrecognized command instead
of just displaying a brief error message. This provides better UX by letting
users immediately see available commands without needing to run help separately.
2025-09-09 17:23:19 -04:00
Rob Di Marco 680b23b82d Optimize git operations to only clone main branch with shallow history (#5)
- Use shallow clone (--depth 1) to download only the latest commit
- Add --single-branch flag to avoid downloading other branches
- Explicitly target main branch with --branch main
- Optimize git pull to maintain shallow history during updates
- Add comprehensive tests documenting git optimization parameters

This reduces data transfer and improves clone performance for both demo and create commands.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-09 15:52:36 -04:00
Rob Di Marco d1dc63a794 Add dependency checks with helpful error messages (#4)
- Add dependency checking utility for git and npm
- Check dependencies before running demo and create commands
- Show friendly error messages with installation instructions
- Add tests for dependency checking functionality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-09 15:25:53 -04:00
Rob Di Marco 68cf60a9e6 Change demo repo to atxp-express-example (#3)
- Update DEMO_REPO_URL in run-demo.ts from agent-demo to atxp-express-example
- Update template URL in create-project.ts to use the new repository
2025-09-09 14:04:24 -04:00
Rob Di Marco 724821fe97 Add configurable port and directory options for demo command (#2)
- Move argument parsing from run-demo.ts to index.ts for better separation of concerns
- Add --port/-p option to specify custom demo port (default: 8016)
- Add --dir/-d option to specify custom demo directory (default: ~/.cache/atxp/demo)
- Refactor runDemo() to accept DemoOptions parameter for type safety
- Update all helper functions to use passed parameters instead of global state
- Add comprehensive documentation in help text and README files
- Support path resolution for relative directory paths

New usage examples:
- npx atxp demo --port 3000
- npx atxp demo --dir ./my-demo
- npx atxp demo --port 9000 --dir ~/projects/demo --verbose

Resolves port conflicts and allows flexible demo installation locations.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-09 13:43:48 -04:00
Rob Di Marco 4310dfb6ad Documentation update 2025-09-09 12:58:31 -04:00
Rob Di Marco 9af85f5479 Show help by default instead of running demo (#1)
- Add comprehensive help module with usage information
- Update CLI to show help when no command is provided
- Require explicit 'demo' command to run the demo
- Add support for help, --help, -h flags
- Improve error handling for unknown commands

Fixes: https://linear.app/novellum/issue/ATXP-240/running-npx-atxp-should-print-out-help

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-09-09 12:56:58 -04:00