# Projects, services, and domains
URL: https://synquic.tech/docs/cli/projects.md

Manage application configuration and related resources from the CLI.

Resource commands use the active [connection context](/docs/cli/access) or your selected
[native configuration](/docs/cli/native).

## Projects

```bash
synq project list
synq project create --name my-app --git-owner my-team --git-repo my-app
synq project get proj_123
synq project rename proj_123 "My application"
synq init --project proj_123
```

`project rename` updates the display name through the same operation as the dashboard.
The project ID, slug, volumes, and live routes keep their existing identities. Manage hostnames
with the domain commands below.

`init` writes a project link in `.synq/project.json`. This is different from `synq.json`, which
declares deployment configuration:

```bash
synq config init
synq config validate
```

See [project commands](/docs/cli/reference/project), [link options](/docs/cli/reference/init), and
[configuration commands](/docs/cli/reference/config).

## Environment and source settings

```bash
synq project env get proj_123
synq project git branch proj_123 main
synq project sleep-mode proj_123 always_on
synq project notes proj_123 --file RUNBOOK.md
```

Run several copies of an app on its server, or let Synq scale it with the load:

```bash
synq project replicas proj_123 3
synq project replicas proj_123 --autoscale on --min 2 --max 6 --cpu 70
```

[Replicas and autoscaling](/docs/guides/replicas) explains the balancing, the health checks and the rules.
Use the project reference for environment writes, auto-deploy, release images, logs, and project
teardown. [Environment variables](/docs/guides/environment-variables) explains secret handling and
when changes reach a running application.

## Services

```bash
synq service list --project proj_123
synq service get svc_123 --project proj_123
synq service logs svc_123 --project proj_123 --follow
```

Services belong to a project. Supply `--project` or use a linked directory. The [service reference](/docs/cli/reference/service)
covers creation, Compose synchronization, drift decisions, environment variables, runtime controls, and execution.

## Domains

```bash
synq domain add app.example.com --project proj_123
synq domain records dom_123
synq domain verify dom_123
synq domain verify-ssl dom_123
```

Follow the returned DNS instructions before verification. See [domain options](/docs/cli/reference/domain)
and the [custom-domain guide](/docs/guides/custom-domains) for DNS providers, TLS, and primary domains.

## Catalog apps

```bash
synq app list
synq app get postgres
synq app host-fit postgres --server srv_123
```

`app install` creates an installation draft. Deploy the returned project ID with `synq deploy`.
Custom app definitions, curated settings, and connection details are covered in the
[app reference](/docs/cli/reference/app).
