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

# Init

> Initialize a new Timeback project

## Overview

The `timeback init` command creates a [`timeback.config.json`](/beta/build-on-timeback/reference/configuration) file in your project. This is the starting point for [integrating with Timeback](/beta/build-on-timeback/start-building/existing-apps).

<Note>
  **Staging credentials required**

  <hr />

  `timeback init` requires credentials from the [Developer
  Portal](https://staging.developer.timeback.com). If you do not have credentials yet, complete
  [first steps](/beta/build-on-timeback/first-steps) first.
</Note>

## Usage

```bash theme={null}
timeback init
```

## Modes

The init wizard offers two setup paths:

<CardGroup cols={2}>
  <Card title="Initialize a new app" icon="plus">
    First-time setup. Prompts for app name, subjects, grades, and launch URL.
  </Card>

  <Card title="Import an existing app" icon="download">
    Import existing courses from Timeback. Requires [API
    credentials](/beta/build-on-timeback/cli/credentials).
  </Card>
</CardGroup>

## Interactive Prompts

When initializing a new app, you will be asked to configure:

1. **App name**: Your application's display name
2. **Courses**: Subject and grade combinations to support
3. **Launch URL**: The URL where your app is hosted

## Options

<ParamField body="--sync" type="flag">
  Push the config to Timeback after creating it
</ParamField>

<ParamField body="--config" type="string">
  Custom path for the config file (default: `timeback.config.json`)
</ParamField>

<ParamField body="-y, --yes" type="flag">
  Skip confirmation prompts
</ParamField>

## Examples

```bash theme={null}
# Interactive setup
timeback init

# Initialize and sync to Timeback
timeback init --sync

# Custom config path
timeback init --config ./config/timeback.json

# Non-interactive (uses defaults)
timeback init --yes
```

## What Gets Created

After running `timeback init`, you'll have a `timeback.config.json` file:

```json theme={null}
{
	"name": "My Learning App",
	"launchUrl": "https://myapp.example.com",
	"courses": [
		{
			"subject": "Math",
			"grade": 3,
			"ids": null
		}
	]
}
```

<Tip>
  **The `ids` field is `null` until you run `timeback resources push`.**

  <hr />

  See [Resources](/beta/build-on-timeback/cli/resources) for more information.
</Tip>

## AI Skills

After creating your config, `timeback init` offers to install [Timeback agent skills](/beta/build-on-timeback/ai/skills). These guide coding agents through SDK setup, server wiring, and client-side activity tracking.

This prompt is skipped when using `--yes` or when skills are already installed.

You can always install skills later with `timeback skills add`.

## Next Steps

<CardGroup cols={2}>
  <Card title="Push Resources" icon="cloud-arrow-up" href="/beta/build-on-timeback/cli/resources">
    Sync your resources
  </Card>

  <Card title="Configuration" icon="gear" href="/beta/build-on-timeback/reference/configuration">
    Learn about all config options
  </Card>

  <Card title="AI Skills" icon="sparkles" href="/beta/build-on-timeback/ai/skills">
    Agent skills for AI-assisted integration
  </Card>
</CardGroup>
