> ## Documentation Index
> Fetch the complete documentation index at: https://docs.foks.pub/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Sign up, create an encrypted Git repository, and push your first commit.

## 1. Start the agent

FOKS uses a background agent (similar to `ssh-agent`) to hold keys in memory and perform background rekeying work. Start it once and it will persist across reboots via systemd, launchd, or the Windows Registry.

```bash theme={null}
foks ctl start
```

Check that it's running:

```bash theme={null}
foks ctl status
```

## 2. Sign up

```bash theme={null}
foks signup
```

This walks you through an interactive signup. When prompted for a server, choose `foks.app` to use the managed hosting service. You'll need an invite code — the current code is `cczjho9r`.

<Note>
  Contact [max@ne43.com](mailto:max@ne43.com) for a free or discounted plan coupon code.
</Note>

## 3. Create an encrypted Git repository

```bash theme={null}
foks git create myrepo
```

FOKS prints a URL like `foks://foks.app/alice/myrepo`. Use this as a Git remote.

## 4. Push to it

```bash theme={null}
git init myproject
cd myproject
echo "# Hello FOKS" > README.md
git add . && git commit -m "initial commit"
git remote add origin foks://foks.app/alice/myrepo
git push origin main
```

The `git-remote-foks` helper (a symlink to the `foks` binary) handles the `foks://` remote scheme transparently. Git invokes it automatically.

## 5. Clone on another machine

After [provisioning the new device](/cli/device), cloning works exactly like a standard `git clone`:

```bash theme={null}
git clone foks://foks.app/alice/myrepo
```

## 6. Store a secret

```bash theme={null}
# Store a string
foks kv put /secrets/api-key "mysupersecretvalue"

# Store a file
foks kv put /secrets/config.json --file config.json

# Retrieve it
foks kv get /secrets/api-key
```

## 7. Share with a team

```bash theme={null}
# Create a team
foks team create myteam

# Generate an invite code and share it with a teammate
foks team invite myteam

# Teammate accepts on their machine
foks team accept <invite-code>

# Store a secret readable by the whole team
foks kv put --team myteam /shared/db-password "secret"
```

## Next Steps

<CardGroup cols={2}>
  <Card title="CLI Reference" icon="terminal" href="/cli/overview">
    Full reference for all foks commands.
  </Card>

  <Card title="Core Concepts" icon="book" href="/concepts/architecture">
    Understand the security and key management model.
  </Card>

  <Card title="Team Management" icon="users" href="/cli/team">
    Roles, invites, and federated teams.
  </Card>

  <Card title="Self-hosting" icon="server" href="/server/overview">
    Run your own FOKS server.
  </Card>
</CardGroup>
