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

# Setup agent

> An AI agent interviews your repository, writes niteshift-setup.sh, and verifies the environment boots.

The setup agent writes your [`niteshift-setup.sh`](/environment-configuration/setup-script) for you.
It reads your code, asks what it can't infer, and produces the script that every task on the
repository will run.

## Two modes

**Initial setup** starts from scratch. The agent inspects your codebase to infer framework, package
manager, dev server command, and ports, then asks targeted questions about anything ambiguous: which
env vars to populate, which port is the primary preview, whether to seed test users. It produces a
working Niteshift setup script and verifies the dev server boots. You can rerun initial setup at any
time from the repository settings page.

**Edit with agent** iterates on your existing setup. From **Settings → Repositories →
\[repository]**, click **Edit with agent** to start a new run; the setup agent loads your existing
[`niteshift-setup.sh`](/environment-configuration/setup-script) and prior conversation as context.

### Iterating on your setup

After kicking off a session via **Edit with agent** you can prompt the agent to iterate on your
setup. This can include anything required for your dev environment:

* installing dependencies, starting a new service, and exposing its ports
* setting up seed data for your application
* configuring authentication for the agent and/or previews
* installing custom devtools you want available to the agent

## Editing without the agent

You don't have to use the agent for every change. The setup section has an inline editor. Click
**Edit** to modify the script directly, save, and the next task will use the new version. The same
editor handles env vars and preview ports.
