Skip to content
AI-Native PM

What software actually is: text files a computer runs

Chapter 2 of 7 in The Software Map · 9 min

The morning after you approved the plan, the AI coding tool's window is waiting with the line "Created 10 files in running-club" and the question "Run it?", and you type yes. A black box fills with lines you cannot follow, then one line you can: the site is running at an address. You open it: Running Club, with Trails and RSVP links. You find running-club and double-click app/page.js inside it. It opens as plain text, with Running Club in the middle. You change those words to Sunday Long Run, save, and the page updates. You delete one quotation mark by accident, save again, and the page turns into a red error naming app/page.js and a line number. You put the mark back and the page returns. You edited software with a text editor and broke it with one character, and neither took any skill you did not already have.

What the tool made: a folder of plain text files

Start with two words you already use. A file is a document on your computer, and a folder is a container that holds files and other folders. Everything the tool made for the site sits in one folder, and every one of those files is plain text. Open any of them in a text editor (any app that shows plain text, like TextEdit or Notepad) and you see words and punctuation, the same kind you saw in app/page.js.

Those words have a job. Instructions are the lines a computer follows, written as text, like the steps of a recipe. Those lines are also called code. Software is a folder of plain text files that hold instructions, a recipe folder that does nothing while it sits in a drawer. To run a file means that the computer reads the instructions in it and carries them out; that is what the black box did when you typed yes.

Software is a folder of plain text files that hold instructions. The files do nothing on their own; a computer runs them, and running means carrying the instructions out.

The plan listed each page with a label like app/trails/page.js, and the tool used the same labels when it reported what it had made. A file path is a file's address, written folder by folder with a slash between the names. Read app/trails/page.js from the right: the file page.js, inside the folder trails, inside the folder app. Every page of the site is a file called page.js, and the folder around it says which page it is.

The project folder is the one folder holding everything the tool made for your site; yours is running-club, drawn above. You will read the receipt of borrowed code in Languages and frameworks: approve the pick. The dashed file at the bottom is the locked drawer from the plan, and your computer may hide it because its name starts with a dot. Environments: why it works on your machine and breaks online opens that drawer. The four page files are the only ones you will edit.

The terminal, the browser, and an address only your laptop can open

The black box has a name, and so does what you typed into it. A command is one line you type to the computer, like yes, run it. A terminal is a text box where you type a command, and the computer does something with the files in this folder. The command might start the site, stop it, or run a single file. The lines you could not follow were the computer reporting its progress, and the line you could was the address you then opened. Claude Code runs inside a terminal. If your tool is an app window such as Cursor rather than a terminal, the same text box lives inside the app. So your desk holds four things: the folder, one file open as text, the terminal, and the window where the page appeared.

The browser is the program you read web pages in, like Chrome or Safari, and it does not run your files; it shows the result of running them. The word localhost is the name every computer uses for itself, so an address that starts with localhost only works on your own machine; type it into your phone and nothing loads. When you deleted the quotation mark in app/page.js, the computer could not follow the instructions and printed where it got stuck: the file and the line.

The smallest piece of software, printed in full

Now look at a whole piece of software, a tip calculator three lines long:

bill = float(input("Bill amount: "))
tip = bill * 0.20
print("Total with tip:", bill + tip)

The first line waits for you to type a bill amount, the second works out twenty percent of it, and the third puts the total on the screen. In the terminal you type the first line below, and the computer prints the other two:

$ python tip.py
Bill amount: 50
Total with tip: 60.0

The dollar sign means type here, and the word after it is the helper that reads this kind of file. Input and output are what goes in and what comes out: here the typed bill goes in and the total comes out. Every piece of software has the same three parts: instructions, a place where they run, and an input that becomes an output. The running-club site splits the same way:

  • Instructions: the running-club folder, all ten files of it.
  • Where they run: your laptop, for now, since the terminal started the site there.
  • Input and output: the tidy page takes a messy group-chat message in and gives a clean run post back.

The tidy page borrows an AI model to do that, and Where software lives places it.

Every piece of software is the same three parts: a set of instructions, a place where those instructions run, and an input that becomes an output.

Every piece of software, in three partsThree cards left to right, joined by thin connectors. Card one, instructions: what to do, in text files. Card two, runs somewhere: here, or somewhere else. Card three, input to output: takes X, gives Y. Each card is tagged with the decision it stands for, what, where, and in and out. Caption: every piece of software, in three parts.WHATINSTRUCTIONSwhat to do(text files)WHERERUNS SOMEWHEREhere, or somewhere else(your device or a host)IN AND OUTINPUT → OUTPUTtakes X, gives Y(tap in, answer out)Every piece of software, in three parts.

The tool that edits your files is an agent

An agent is a program that works inside your project folder for you, like a contractor working inside your house. It edits the text files, runs commands in the terminal, and asks before each large step. When it printed Created 10 files, it had just written every file in the folder. When it asked Run it?, it was about to type a command on your behalf. The lines you could not follow in the black box were its work in progress, printed as it went.

A coding agent is a program that edits the text files in your project folder and runs commands in the terminal for you, and it asks before each large step.

The obvious objection: code cannot be just text, or anyone could read it

It is, and anyone can open it. Reading what is there was never the hard part; the hard part is knowing what to write. Because it is text, every file can be copied, compared, searched, and brought back to an earlier state. Every safety move later in this part depends on that fact.

Try it now

This drill takes about ten minutes. The first path costs nothing, and the second costs cents, not dollars. You arrive with the idea file from Decode the technical questions that stop you and, with tools, the running-club folder.

No setup: Paste the three lines of the tip calculator into any AI chat you already use and ask: "What does each line do, what goes in, and what comes out?" Then ask for the three parts of your own idea and check them against the list above.

With your tools: Open Claude Code inside the running-club folder and, if the site is not running yet, type "yes, run it". Then open app/page.js in a text editor, change the title, save, and watch the page change. Break it with one deleted quotation mark, read the error, and fix it. In Codex or Cursor, open the running-club folder first and make the same edit from the chat box inside the app. The Setup Clinic gets you here if nothing is installed yet.

Either way, you leave with the idea file one line longer, and on the tooled path with the running-club site running on your laptop. The line to add: "My project lives at [folder]; its three parts are: the instructions are the files in that folder; they run on my laptop for now; a pasted message goes in and a clean post comes out."

Chapter Summary

  • Software is a folder of plain text files that hold instructions, and the files do nothing until a computer runs them.
  • A file path such as app/trails/page.js is an address: the file page.js, inside the folder trails, inside the folder app.
  • The project folder, running-club, holds everything the agent made, and the four page files are the only ones you will edit.
  • A terminal is a text box where you type one command, and the computer acts on the files in your project folder.
  • An address that starts with localhost opens only on your own machine.
  • Every piece of software is the same three parts: instructions, a place where they run, and an input that becomes an output.
  • For the running-club site, the instructions are the files, the place is your laptop for now, and a messy message goes in and a clean post comes out.
  • A coding agent edits the files in your project folder and runs commands for you, asking before each large step; open it inside running-club, never your whole computer.
  • Code is text, so anyone can open it; the hard part is knowing what to write.
  • The idea file now carries its three-parts line, and on the tooled path you also have the running-club site running on your laptop.
  • Next, in Where software lives, you take that laptop onto a train with no signal, with the site still running.

Sources

  • Python language documentation, python.org (last verified July 2026).
  • Next.js documentation (last verified July 2026).
  • Anthropic Claude Code documentation (last verified July 2026).
  • Cursor documentation (last verified July 2026).
Reaching the end does this for you.
Next upWhere software livesChapter 3 of 7 · 9 min
Glossary
CommandFile pathLocalhostSoftwareTerminal