What are apps?
An app is a small tool with one job, built for you by an agent: a button that updates all your coding agents’ command-line tools, a page where you drop a video and get a transcript, a switch that gets your Mac ready to record your screen. You describe it in a conversation, the agent builds it, and from then on it’s one click away in Apps.
What an app is made of
Each app is a folder inside a folder named enjoy-apps in your project. For example, an app named Clip board lives in enjoy-apps/clip-board. The folder holds:
enjoy-app.json, with the app’s name, a short description, and the icon and color of its key.- A page, which is what you see when you open the app.
- Sometimes a server: a program that runs on your computer while the app is open and does the work its page asks for, such as transcribing a video.
Apps are part of your project, so Git saves them with the rest of it unless you choose otherwise, and people who copy the project from Git get them too. Each app’s packages and saved data, in folders such as node_modules and .data, stay out of Git. See Keep a project’s apps out of Git.
Where to find them
- Apps in the rail on the left side of the window, under Workflows, lists the project’s apps. You can also press ⌃4 on a Mac, or Alt+4 on Windows and Linux. On a phone, or in any narrow window, select Show sidebar at the top left first.
- Apps at the top of the window, next to Projects, shows the apps of all your projects.
- Apps you pin have their own key in the rail or their own tab at the top of the window.
Servers run as you
An app’s server runs on your computer with the same access you have. It can read and change your files, use the internet, and start other programs, like any program you open yourself. That’s what lets an app do real work, and it’s why it matters where an app’s code came from.
- Enjoy starts an app’s server when you open the app and stops it ten minutes after nothing has the app open. Agents don’t start or stop servers themselves; they ask Enjoy.
- An agent starts the apps it builds or changes for you itself, without asking you to approve them. See Make an app with an agent.
- When an app’s code changes, for example after you get a teammate’s changes from Git, a note above the app says who changed what. It never stops you from using the app. See Check what changed in an app.
- Use apps you or your agents made, or ones from people you trust.
Apps that open files
An app can also open certain kinds of files, such as .md files. It’s then listed under Open with when you right-click one of those files in Files, and the file opens in the app inside its tab. An app can have a page of its own, open files, or both. In Apps, an app that only opens files says so, such as Opens .md files, and its page has Open in Files. See Open a file with a different editor.
Built-in editors and editors from earlier versions
- Markdown and Code, the editors Files uses for Markdown and other text files, are apps built into Enjoy. They aren’t listed in Apps.
- Editor plugins made with earlier versions of Enjoy are apps now. The ones in the Enjoy folder in your home folder, under Plugins, still open files from Open with, but they aren’t listed in Apps. To change one, choose Change with its name from a file tab’s editor menu, and Enjoy opens it as a project of its own. Enjoy doesn’t reload them when their files change, so choose Restart with its name from the same menu after a change.
Projects inside WSL
On Windows, a project whose folder is inside a WSL Linux distribution, such as Ubuntu, has no apps. Its Apps says Apps don’t run in WSL projects yet., and its agents can’t make or open apps. Files still opens the project’s files in the built-in editors and in editors from earlier versions. See Work on a project inside WSL.
On other devices
Apps run on the computer that has the project. The web app and other computers you connect to it list the same apps and open them through that computer. The iPhone app has an Apps tab in each project. Only the computer’s owner can open its apps from another device, and only from a device with full access. See Open your apps on your phone.