Skip to main content
Fusioncat is currently in its alpha stage. The main API server is located at: https://api.staging.fusioncatalyst.io/Please note that breaking changes and bugs are to be expected, as the product is still under active development.

Project Management Commands

The paw projects commands allow you to create, list, and manage Fusioncat projects.

Commands

projects list

List all projects accessible to you.

Examples

projects new

Create a new project.

Options

  • --name (required): Project name
  • --belongs-to (required): Whether the project belongs to user or workspace
  • --workspace-id: If project belongs to a workspace, specify the workspace ID
  • --private: Make the project private (default: false)
  • --description: Project description

Examples

projects import

Import a project from a definition file.

Options

  • --file (required): Path to the project definition file
  • --project-id (required): The ID of the project to import into

Examples

projects generate

Generate code for a project (legacy command - use codegen app instead).

Options

  • --app-id (required): The ID of the application
  • --project-id (required): The ID of the project

Working with Projects

Project Structure

A Fusioncat project contains:
  • Apps: Applications that use your schemas
  • Schemas: Data structure definitions with versioning
  • Messages: Messages based on schemas
  • Servers: Event-driven server configurations
  • Resources: Server resources (topics, queues, endpoints)

Project Settings

After creating a project, you can connect it to your local settings file:
This creates a .paw-settings.json file that links your local directory to the project.

Project Ownership

Projects can belong to:
  • User: Personal projects owned by your account
  • Workspace: Shared projects owned by a workspace

Best Practices

Naming Conventions

  • Use descriptive names for projects
  • Include the purpose in the project name
  • For workspace projects, consider prefixing with team/department

Organization

  1. One project per domain: Keep related schemas and apps together
  2. Use workspaces for teams: Share projects across team members
  3. Private vs Public: Make internal projects private

Project Lifecycle

  1. Create: Start with a clear project structure
  2. Define: Add schemas and messages
  3. Implement: Create apps and generate code
  4. Version: Use schema versioning for changes
  5. Export/Import: Backup and share project definitions

Examples

Complete Project Setup