# Project

Manage projects in sfp server

* [`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>               [env: SFP_SERVER_USER] Email address for authenticated user. Ignored if
                                    --application-token is provided.
  -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)
  -t, --application-token=<value>   [env: SFP_SERVER_TOKEN] Application token for CI/CD authentication. Takes precedence
                                    over --email.
  -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>      [env: SFP_SERVER_URL] URL of the SFP server. Can be set via environment variable
                                    `SFP_SERVER_URL` 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>]

FLAGS
  -e, --email=<value>               [env: SFP_SERVER_USER] Email address for authenticated user. Ignored if
                                    --application-token is provided.
  -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)
  -t, --application-token=<value>   [env: SFP_SERVER_TOKEN] Application token for CI/CD authentication. Takes precedence
                                    over --email.
      --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>      [env: SFP_SERVER_URL] URL of the SFP server. Can be set via environment variable
                                    `SFP_SERVER_URL` 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
```

*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] [--repository <value>] [-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>               [env: SFP_SERVER_USER] Email address for authenticated user. Ignored if
                                    --application-token is provided.
  -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.
  -t, --application-token=<value>   [env: SFP_SERVER_TOKEN] Application token for CI/CD authentication. Takes precedence
                                    over --email.
      --loglevel=<option>           [default: info] logging level for this command invocation
                                    <options: trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL>
      --repository=<value>          The repository identifier. E.g `owner/repo`
      --sfp-server-url=<value>      [env: SFP_SERVER_URL] URL of the SFP server. Can be set via environment variable
                                    `SFP_SERVER_URL` 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
```

*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> -p <value> -v <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]
    [--replace] [--version <value>]

FLAGS
  -e, --email=<value>               [env: SFP_SERVER_USER] Email address for authenticated user. Ignored if
                                    --application-token is provided.
  -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>            (required) Property path to update using dot notation (e.g.,
                                    "configuration.domains.sales")
  -r, --repository=<value>          (required) Repository identifier (e.g., owner/repo)
  -t, --application-token=<value>   [env: SFP_SERVER_TOKEN] Application token for CI/CD authentication. Takes precedence
                                    over --email.
  -v, --value=<value>               (required) 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>      [env: SFP_SERVER_URL] URL of the SFP server. Can be set via environment variable
                                    `SFP_SERVER_URL` 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 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-v50-and-below/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.
