# Project

Register and configure projects

* [`sfp server project create`](#sfp-server-project-create)
* [`sfp server project get`](#sfp-server-project-get)
* [`sfp server project list`](#sfp-server-project-list)
* [`sfp server project update`](#sfp-server-project-update)

## `sfp server project create`

Onboard a repository to the SFP server (requires owner role)

```
USAGE
  $ sfp server project create -r <value> -u <value> [--json] [-e <value>] [-t <value>] [--sfp-server-url <value>] [-g
    <value>...] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]

FLAGS
  -e, --email=<value>               Email address for authenticated user. Ignored if --application-token is provided.
                                    Can be set via SFP_SERVER_USER env var.
  -g, --logsgroupsymbol=<value>...  Symbol used by CICD platform to group/collapse logs in the console. Provide an
                                    opening group, and an optional closing group symbol.
  -r, --repository=<value>          (required) Repository identifier (e.g., owner/repo for GitHub/GitLab or
                                    org/project/repo for Azure DevOps)
  -t, --application-token=<value>   Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
                                    (CLI flags take precedence over env vars).
  -u, --remote-url=<value>          (required) Remote repository URL
      --loglevel=<option>           [default: info] logging level for this command invocation
                                    <options: trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL>
      --sfp-server-url=<value>      URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
                                    config:set server-url

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Onboard a repository to the SFP server (requires owner role)

EXAMPLES
  $ sfp server project create --repository flxbl-io/sf-core --remote-url https://github.com/flxbl-io/sf-core

  $ sfp server project create --repository 12345 --remote-url https://gitlab.com/myorg/myproject
```

*See code:* [*src/commands/server/project/create.ts*](https://source.flxbl.io/flxbl/sfp-pro)

## `sfp server project get`

Get details of a specific project from the SFP server

```
USAGE
  $ sfp server project get -r <value> [--json] [-e <value>] [-t <value>] [--sfp-server-url <value>] [-g <value>...]
    [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] [-p <value>] [-b]

FLAGS
  -b, --branches                    Output branches only (for CI/CD)
  -e, --email=<value>               Email address for authenticated user. Ignored if --application-token is provided.
                                    Can be set via SFP_SERVER_USER env var.
  -g, --logsgroupsymbol=<value>...  Symbol used by CICD platform to group/collapse logs in the console. Provide an
                                    opening group, and an optional closing group symbol.
  -p, --property=<value>            Extract a specific property using dot notation (e.g., "remoteUrl" or
                                    "configuration.domains.sales.releaseName")
  -r, --repository=<value>          (required) Repository identifier (e.g., owner/repo for GitHub/GitLab or
                                    org/project/repo for Azure DevOps)
  -t, --application-token=<value>   Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
                                    (CLI flags take precedence over env vars).
      --loglevel=<option>           [default: info] logging level for this command invocation
                                    <options: trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL>
      --sfp-server-url=<value>      URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
                                    config:set server-url

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Get details of a specific project from the SFP server

EXAMPLES
  $ sfp server project get --repository flxbl-io/sf-core

  $ sfp server project get --repository flxbl-io/sf-core --json

  $ sfp server project get -r flxbl-io/sf-core -p remoteUrl

  $ sfp server project get -r flxbl-io/sf-core -p configuration.displayName

  $ sfp server project get -r flxbl-io/sf-core -p "configuration.domains.sales.releaseName"

  $ sfp server project get -r flxbl-io/sf-core -p "configuration.settings[0]" --json

  $ sfp server project get -r flxbl-io/sf-core --branches  # Output branches only for CI/CD
```

*See code:* [*src/commands/server/project/get.ts*](https://source.flxbl.io/flxbl/sfp-pro)

## `sfp server project list`

List all onboarded projects in the SFP server

```
USAGE
  $ sfp server project list [--json] [-r <value>] [-e <value>] [-t <value>] [--sfp-server-url <value>] [-g <value>...]
    [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] [-p github|gitlab|bitbucket|other]
    [-b]

FLAGS
  -b, --branches                    Output branches only (for CI/CD). Requires --repository flag.
  -e, --email=<value>               Email address for authenticated user. Ignored if --application-token is provided.
                                    Can be set via SFP_SERVER_USER env var.
  -g, --logsgroupsymbol=<value>...  Symbol used by CICD platform to group/collapse logs in the console. Provide an
                                    opening group, and an optional closing group symbol.
  -p, --platform=<option>           Filter by platform
                                    <options: github|gitlab|bitbucket|other>
  -r, --repository=<value>          Filter by repository identifier (e.g., owner/repo for GitHub/GitLab or
                                    org/project/repo for Azure DevOps)
  -t, --application-token=<value>   Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
                                    (CLI flags take precedence over env vars).
      --loglevel=<option>           [default: info] logging level for this command invocation
                                    <options: trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL>
      --sfp-server-url=<value>      URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
                                    config:set server-url

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List all onboarded projects in the SFP server

EXAMPLES
  $ sfp server project list

  $ sfp server project list --json

  $ sfp server project list --repository flxbl-io/sf-core

  $ sfp server project list --repository flxbl-io/sf-core --branches  # Output branches only

  $ sfp server project list --platform github
```

*See code:* [*src/commands/server/project/list.ts*](https://source.flxbl.io/flxbl/sfp-pro)

## `sfp server project update`

Update a project property in the SFP server

```
USAGE
  $ sfp server project update -r <value> [--json] [-e <value>] [-t <value>] [--sfp-server-url <value>] [-g <value>...]
    [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] [-p <value>] [-v <value>] [-b
    <value>] [--replace] [--version <value>]

FLAGS
  -b, --branches=<value>            Comma-separated list of branches to set (e.g., "main,develop,release/*")
  -e, --email=<value>               Email address for authenticated user. Ignored if --application-token is provided.
                                    Can be set via SFP_SERVER_USER env var.
  -g, --logsgroupsymbol=<value>...  Symbol used by CICD platform to group/collapse logs in the console. Provide an
                                    opening group, and an optional closing group symbol.
  -p, --property=<value>            Property path to update using dot notation (e.g., "configuration.domains.sales")
  -r, --repository=<value>          (required) Repository identifier (e.g., owner/repo for GitHub/GitLab or
                                    org/project/repo for Azure DevOps)
  -t, --application-token=<value>   Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
                                    (CLI flags take precedence over env vars).
  -v, --value=<value>               New value for the property (can be JSON string for objects/arrays)
      --loglevel=<option>           [default: info] logging level for this command invocation
                                    <options: trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL>
      --replace                     Replace the entire value instead of merging (for objects)
      --sfp-server-url=<value>      URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
                                    config:set server-url
      --version=<value>             Project version for optimistic concurrency control

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Update a project property in the SFP server

EXAMPLES
  # Update branches (convenient shorthand)

  $ sfp server project update -r flxbl-io/sf-core --branches main,develop,release/*



  # Update a simple property

  $ sfp server project update -r flxbl-io/sf-core -p remoteUrl -v "https://github.com/flxbl-io/sf-core-new"



  # Set a nested property

  $ sfp server project update -r flxbl-io/sf-core -p configuration.displayName -v "SFP Core Project"



  # Set a complex nested object (JSON string)

  $ sfp server project update -r flxbl-io/sf-core -p configuration.domains.sales \

    -v '{"releaseName": "sales-v2.1", "releaseConfig": "config/release-sales.yaml"}'



  # Set an array

  $ sfp server project update -r flxbl-io/sf-core -p configuration.tags \

    -v '["production", "critical", "salesforce"]'



  # Update multiple nested properties in one go

  $ sfp server project update -r flxbl-io/sf-core -p configuration.settings \

    -v '{"buildTimeout": 3600, "parallelBuilds": 4, "enableCache": true}'



  # Merge with existing configuration (default behavior)

  $ sfp server project update -r flxbl-io/sf-core -p configuration \

    -v '{"newField": "value", "settings": {"newSetting": true}}'



  # Replace entire configuration (use --replace flag)

  $ sfp server project update -r flxbl-io/sf-core -p configuration \

    -v '{"displayName": "New Config"}'

    --replace
```

*See code:* [*src/commands/server/project/update.ts*](https://source.flxbl.io/flxbl/sfp-pro)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flxbl.io/flxbl/sfp/sfp-community/cli-reference-v51-release-v3/server/project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
