Track Existing Project

Add any project that wasn't created through ProjXO to your tracking list, so you can open it with pxo open or manage it via pxo list.

# Track current directory
pxo track

# Track a specific path
pxo track ~/projects/my-existing-app
pxo track /absolute/path/to/project

Auto-Detection

ProjXO scans config files and package.json dependencies to automatically identify the framework, language, package manager, and project name using a 3-tier confidence scoring system:

Detection MethodBase Confidence
Config files (next.config.js, angular.json, vite.config.ts, etc.)70%
package.json dependencies50%
Fallback pattern matching (generic React / Vue detection)30%

ProjXO also detects:

  • Project name — from package.json, git remote origin, or directory name
  • Language — TypeScript or JavaScript
  • Package manager — npm, yarn, pnpm, or bun

Auto-Detection Example

$ pxo track ~/projects/my-existing-app

šŸ” Detecting project...

āœ“ Project detected:

  Name:        my-existing-app
  Type:        nextjs
  Language:    TypeScript
  Path:        /Users/me/projects/my-existing-app
  Confidence:  95%

? Add "my-existing-app" (nextjs) to tracking? Yes
? Default IDE for this project: VS Code

āœ“ Added my-existing-app to tracking

Quick access:
  pxo open my-existing-app
  pxo list

Manual Mode

Use --manual when auto-detection can't identify the framework, or for non-JavaScript projects:

$ pxo track ~/projects/my-api --manual

šŸ“ Manual tracking mode

? Enter project name: my-api
? Select project type: Custom/Other
? Enter custom project type: fastapi
? Select primary language: Other
? Default IDE for this project: VS Code

āœ“ Added my-api to tracking

Naming Conflicts

When a tracked project already has the same name, ProjXO prompts you to:

  • Keep both — rename the new project
  • Replace — remove the existing entry and track the new one
  • Cancel — abort tracking

Flags

FlagDescription
-m, --manualSkip auto-detection and enter project details manually
-y, --yesSkip all confirmation prompts
--no-ideSkip IDE preference question
--ide <ide>Set IDE preference directly (e.g. vscode, cursor, webstorm)
-f, --forceRe-track a project even if it is already tracked