Skip to content

Project Detection

Expose automatically scans configured directories to find development projects.

How Detection Works

Expose looks for specific files that indicate a project type:

Project TypeDetected By
Node.jspackage.json
Pythonrequirements.txt, pyproject.toml, Pipfile
Gogo.mod
RustCargo.toml
RubyGemfile
PHPcomposer.json
Static Siteindex.html (no other markers)
DockerDockerfile, docker-compose.yml

Framework Detection

For each project type, Expose detects the specific framework:

Node.js Frameworks

  • Next.jsnext.config.js or next in dependencies
  • Nuxtnuxt.config.ts or nuxt in dependencies
  • Vitevite.config.js or vite in dependencies
  • Reactreact in dependencies (without Next/Vite)
  • Vuevue in dependencies
  • Angularangular.json
  • Sveltesvelte.config.js
  • Expressexpress in dependencies
  • Fastifyfastify in dependencies
  • NestJS@nestjs/core in dependencies
  • Astroastro.config.mjs
  • Gatsbygatsby-config.js
  • Remix@remix-run/react in dependencies

Python Frameworks

  • Djangodjango in requirements or manage.py
  • FastAPIfastapi in requirements
  • Flaskflask in requirements
  • Streamlitstreamlit in requirements

Go Frameworks

  • Gingithub.com/gin-gonic/gin in go.mod
  • Echogithub.com/labstack/echo in go.mod
  • Fibergithub.com/gofiber/fiber in go.mod

Rust Frameworks

  • Axumaxum in Cargo.toml
  • Actixactix-web in Cargo.toml
  • Rocketrocket in Cargo.toml

Ruby Frameworks

  • Railsrails in Gemfile
  • Sinatrasinatra in Gemfile

PHP Frameworks

  • Laravellaravel/framework in composer.json
  • Symfonysymfony/framework-bundle in composer.json

Default Ports

Each framework has a default port:

FrameworkDefault Port
Next.js3000
Nuxt3000
Vite5173
Create React App3000
Vue CLI8080
Angular4200
Express3000
FastAPI8000
Django8000
Flask5000
Rails3000

Scan Directories

Configure which directories to scan:

  1. Go to SettingsGeneral
  2. Add directories under Scan Directories
  3. Expose scans these directories recursively

Default Directories

  • ~/Developer
  • ~/Projects
  • ~/Code

Excluded Directories

Expose ignores:

  • node_modules/
  • .git/
  • vendor/
  • __pycache__/
  • Hidden directories (starting with .)

Project Groups

Projects in the same parent directory are grouped together. For example:

~/Projects/my-app/
├── frontend/ → "my-app / frontend"
├── backend/ → "my-app / backend"
└── docs/ → "my-app / docs"

Refreshing Projects

To rescan for projects:

  1. Click Rescan in the toolbar
  2. Or use the keyboard shortcut ⌘R

Projects are also scanned automatically:

  • On app launch
  • When scan directories change
  • Every 5 minutes in the background