# Agent Notify Without GitHub

Set up push notifications without a GitHub account — import your app's files, paste code, or send a screenshot in the Agent Notify chat, and get exact copy-paste code with the exact file and place for every change.

You do not need a GitHub account to use Agent Notify — and you do not need to know what GitHub is. The agent in your dashboard chat sets up push notifications from the files you give it, then hands back **the exact code to copy** and **the exact file and place it goes**.

> **GitHub is optional — never required:**
>
> If you do use GitHub, connecting a repository is an optional accelerator: the agent can read the whole project itself and open a **pull request** with its changes, which you review and merge like any other change. That is convenient on a large project — but nothing on this page needs it, and nothing stops working without it. You will never be told to "set up GitHub first".

## How it works

1. **Open the chat.** In your [dashboard](https://dashboard.nativenotify.com/agent), click **Agent Notify** in the top-left switcher and start a conversation. No repository connection is needed.
2. **Tell it what you want.** Type something like *"Set up push notifications in my app."* Not sure what your app is "built with"? That is fine — the agent asks in plain words, with options: React Native, Expo, Flutter, Swift (iPhone), Kotlin or Java (Android), a web app, or something else.
3. **Give it your files.** Three buttons do this, and you can mix them:

   - **Import project files** — in an empty conversation it is the big button next to **Paste code**; once you are chatting it is the file icon in the row under the message box. Pick the files you can find: your main screen file, a config file, the file where your app starts.
   - **Import a project folder** — the folder icon next to the file icon. Pick the folder that holds your source code; big folders are trimmed automatically (generated files, `node_modules`, lockfiles and images are skipped).
   - **Paste code** — opens a dialog that takes one file per entry: paste the whole file, give it its real name (like `App.tsx`), and add another entry if you have more. If you paste a whole file into the message box itself, this dialog opens for you.
   - A **screenshot** works too — attach a picture of a file or a settings screen like a photo, and the agent reads it.

   The **Get started** pane offers the same three buttons — choose **Import files** there and the chat opens with the picker ready.
4. **Press send.** After an import, the chat fills the message box for you — *"I've imported 4 files from my app's project into this chat…"* (if you had already started typing, your words are left alone). Press send and the agent reads everything and answers. The files stay in that conversation, so it can re-read them at any time — they are listed just above the message box, where you can also remove one.

## What you get back

- **The exact file and the exact place.** Every answer names the file path (like `src/App.tsx`) and says precisely where the change goes.
- **Small file → replace the whole file.** When the agent has read a file in full, it returns the **entire updated file** and says "open `src/App.tsx`, select everything in it, and replace it with this" — the safest instruction there is.
- **Big file → the smallest exact snippet.** When the file is huge (or the agent has only seen part of it), it gives the smallest snippet plus its placement — "in `src/App.tsx`, at the top under the imports, add these 6 lines".
- **Complete code only.** Anything you are meant to copy is complete and runnable — no "…" or "your code here" inside it. Steps only you can take (like a command to run) come as a numbered list.
- **Nothing is installed anywhere.** The agent reads what you shared and writes instructions for you; your project itself is untouched until you make the change.

## Limits

| Limit            | Value                                                                                                                       |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- |
| One file         | **200 KB.** Import the files you edit — a component, a config file — not generated or bundled ones.                         |
| One import       | **Up to 20 files per upload.** Bigger picks are split into batches automatically.                                           |
| One conversation | **50 files** and **2 MB** of code in total.                                                                                 |
| File types       | **Text only.** Images, videos, archives and build output are refused, with the file named and the reason given in the chat. |

Importing a file you already imported replaces the earlier copy, so updating a file is just re-importing it. If something in a pick was skipped, the chat tells you which file and why.

## Related

- [Universal Push (Any Framework)](/docs/universal-push) — how the service delivers push, whatever your app is built with.
- [Device Registration](/docs/universal-push/registration) — the exact code the agent will help you place.
- [Framework Recipes](/docs/universal-push/recipes) — ready examples for Swift, Kotlin, Expo, React Native and Flutter.
- [MCP Server](/docs/mcp-server) — hand your whole account to your own AI agent (Claude, Cursor, …) with one token.
