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

# Project Layout

`telnyx-acp create` scaffolds one directory per agent, named after it. For `support-agent`:

```text theme={null}
support-agent/
├── agent.json        the agent: model, instructions file, numbers, email, web, channels, tools, memory, limits, approvals, voice, secret names
├── instructions.md   the system prompt
├── .gitignore        excludes .telnyx/ and node_modules/
├── README.md         the commands, for whoever opens the project
└── AGENTS.md         the same, written for a coding agent
```

The two files that define the agent, as written:

```json theme={null}
{
  "name": "support-agent",
  "kind": "configuration",
  "model": "zai-org/GLM-5.3-Flash",
  "instructions": "instructions.md",
  "channels": [],
  "tools": [],
  "secrets": []
}
```

```markdown theme={null}
You are support-agent, a helpful assistant. Answer briefly and plainly.

When you do not know something, say so and offer to find out.
```

[`agent.json`](/docs/agents/reference/agent-json) is edited by `telnyx-acp add`, `remove`, `set` and `unset`, or by hand followed by `validate`; `instructions.md` is edited by hand. Neither holds a secret value: `add secret` stores the value on the platform and records only the name.

## What the CLI Adds

| Path | Written by | Contents |
| - | - | - |
| `.env` | The user, for `dev` | `TELNYX_API_KEY`, a provider key such as `OPENAI_API_KEY` when the model needs one, and an MCP server's secret, which `add tool mcp` and `tools --refresh` read too. Never read on the platform. |
| `.telnyx/dev.json` | `dev` | The running local listener: its URL, the agent's name and kind, the process id. `--local` reads it. |
| `.telnyx/telnyx.toml`, `.telnyx/index.ts`, `.telnyx/telnyx-env.d.ts`, `.telnyx/package.json` | `deploy`, and `dev` on a code project | The Edge Compute project the agent ships as: the manifest, the entry, the types, the dependencies. Rewritten on every `deploy`; never edited by hand. |
| `.telnyx/node_modules/` | `deploy` | Links to the CLI's own copies of `@telnyx/acp` and `@telnyx/edge-runtime`, what the bundle is built from. |
| `deployed` in `agent.json` | `deploy` | The function id and name, the mount URL, the actor type, the active revision and a note per revision shipped, and what `deploy` set up for each number, the email inbox and each channel, so `delete` can undo it. |

`.telnyx/` is gitignored from the start; `agent.json` and `instructions.md` are the project, and are what to commit.
