# From your laptop to your team in one command

> Canonical: https://teamonly.dev/how-it-works

TeamOnly hosts internal tools built with AI, behind your company's Google or Microsoft login. Here is the whole trip, start to finish. It takes about as long as reading it.

## 1. Add TeamOnly to your project

Open a terminal in your project folder and run `npx teamonly init`.

It adds a short set of instructions that teach your AI the right app shape, so it doesn't reach for tools we don't support, like a separate database service or a login library. It also adds a small library your app uses to find out who is signed in and to save data.

## 2. Ask Claude Code or Cursor for the tool you want

Describe it the way you would to a coworker.

> Build an expense approval tool. People upload a receipt with an amount and a reason. Their manager approves or rejects it. Finance can see everything approved this month and download it as a spreadsheet.

Try it on your laptop, ask for changes, and keep going until it does what you need.

## 3. Deploy

Run `npx teamonly deploy`. The first time, it asks you to sign in to TeamOnly.

Your app is packed up and put online. On the first deploy it also gets its own database and a place for files. If your app needs an API key or a password, add it with `npx teamonly secrets set`, never in the code.

```
$ npx teamonly secrets set QUICKBOOKS_KEY
✔ Saved. Your app reads it as a secret, not from code.
$ npx teamonly deploy
Packing your app...
Setting up database and file storage...
✔ Live at https://expenses.acme.teamonly.app
```

## 4. Send the link

Paste it wherever your team talks: Slack, Teams, email, a sticky note.

The link works for anyone with your company email and no one else. If it gets forwarded outside the company, the person at the other end sees a sign-in screen they cannot get past.

## 5. Your coworker signs in with their work account

They click "Sign in with Google" or "Sign in with Microsoft" and use the account they already have.

No new password, no invite to another tool. Your app is told who they are, by name and email, so it can show "approved by Sam" without you writing any login code.

## 6. Change it and deploy again

Someone asks for a new column. Ask your AI, run deploy, done.

The address stays the same and the data stays where it was. If something breaks, `npx teamonly logs` shows you what happened.

## What happens behind the door

You don't need to know any of this to use TeamOnly. It is here because "is this safe?" is a fair question.

- **Login is checked before your app runs.** Every visit goes through our sign-in first. Your app's code only runs for people who already passed, so a bug in your app cannot let a stranger in.
- **Each app gets its own database.** Your expense tool and your inventory tool do not share data, files or secrets. One app cannot read another's.
- **Nothing is public.** Apps are never listed or indexed by search engines. There is no public option to switch on by mistake.

The technical version, for whoever asks: [how apps are kept private and separate](https://teamonly.dev/security).

## Questions people ask

### What does init add to my project?

Two things. A short instruction file your AI tool reads (a skill for Claude Code, rules for Cursor) that explains the kind of app TeamOnly runs, and a small library your app uses to get the signed-in person, the database, files and secrets. Nothing else in your project changes.

### What kind of app can I deploy?

A web app with a React front end and a small API behind it, all in JavaScript or TypeScript. That is what the instructions teach your AI to write, and it covers forms, lists, dashboards, approvals and uploads. Python, PHP and other stacks are not supported yet.

### Can I update the app after it is live?

Yes. Ask your AI for the change and run `npx teamonly deploy` again. The link stays the same and the data stays put.

### Where are my logs?

Run `npx teamonly logs` to see what your app is doing right now, including errors. Recent logs will also show in the dashboard.

## Where to next

- [Company-only login](https://teamonly.dev/company-login): what coworkers and outsiders see when they open the link.
- [Templates to start from](https://teamonly.dev/templates): expense approval, inventory, request forms and more.
- [The docs](https://teamonly.dev/docs): every command, and the small library your app uses.
- [Security details](https://teamonly.dev/security): for you, or for the IT person who will ask.

Join the waitlist: https://teamonly.dev/waitlist
