[{"data":1,"prerenderedAt":414},["ShallowReactive",2],{"docs-navigation":3,"docs-\u002Fbuilding\u002Fwatching-a-build":254,"surround-\u002Fbuilding\u002Fwatching-a-build":411},[4,33,86,114,173,212,231],{"title":5,"path":6,"stem":7,"children":8},"Start","\u002Fstart","1.start",[9,13,18,23,28],{"title":10,"path":6,"stem":11,"description":12},"Start here","1.start\u002Findex","What Desifex is, and how to get an application of your own running.",{"title":14,"path":15,"stem":16,"description":17},"What Desifex is","\u002Fstart\u002Fwhat-desifex-is","1.start\u002F1.what-desifex-is","An application factory where conversation is the interface — and the handful of things it deliberately will not do.",{"title":19,"path":20,"stem":21,"description":22},"Your first application","\u002Fstart\u002Fyour-first-application","1.start\u002F2.your-first-application","From a sentence to something running, in about twenty minutes, with nothing to install.",{"title":24,"path":25,"stem":26,"description":27},"The workbench","\u002Fstart\u002Fthe-workbench","1.start\u002F3.the-workbench","A tour of the screen you will spend your time on — the conversation, the six tabs, and the menu.",{"title":29,"path":30,"stem":31,"description":32},"What to expect","\u002Fstart\u002Fwhat-to-expect","1.start\u002F4.what-to-expect","How long things take, what a good working rhythm looks like, and the parts that genuinely go wrong.",{"title":34,"path":35,"stem":36,"children":37},"Building","\u002Fbuilding","2.building",[38,41,46,51,56,61,66,71,76,81],{"title":34,"path":35,"stem":39,"description":40},"2.building\u002Findex","Getting what you actually wanted out of the conversation.",{"title":42,"path":43,"stem":44,"description":45},"Describing what you need","\u002Fbuilding\u002Fdescribing-what-you-need","2.building\u002F1.describing-what-you-need","How to phrase a request so that what comes back is what you meant.",{"title":47,"path":48,"stem":49,"description":50},"Watching a build","\u002Fbuilding\u002Fwatching-a-build","2.building\u002F2.watching-a-build","What the steps mean, what is happening underneath, and why you are not shown a log.",{"title":52,"path":53,"stem":54,"description":55},"Changing your mind","\u002Fbuilding\u002Fchanging-your-mind","2.building\u002F3.changing-your-mind","Interrupting a build, correcting a misunderstanding, and undoing something you asked for.",{"title":57,"path":58,"stem":59,"description":60},"When a build fails","\u002Fbuilding\u002Fwhen-a-build-fails","2.building\u002F4.when-a-build-fails","What a failure actually means, what to try, and when to ask us.",{"title":62,"path":63,"stem":64,"description":65},"Showing it a file","\u002Fbuilding\u002Fshowing-it-files","2.building\u002F5.showing-it-files","Attaching a screenshot, a spreadsheet or a document to the conversation — often faster than describing it.",{"title":67,"path":68,"stem":69,"description":70},"Choosing a design system","\u002Fbuilding\u002Fchoosing-a-design-system","2.building\u002F6.choosing-a-design-system","What a design system decides, how to pick one, and what changing it later does.",{"title":72,"path":73,"stem":74,"description":75},"Asking for settings","\u002Fbuilding\u002Fasking-for-settings","2.building\u002F7.asking-for-settings","The conversation reaches the whole platform — addresses, icons, redirects, users, integrations and shipping. If you do not know where a setting is, ask.",{"title":77,"path":78,"stem":79,"description":80},"When it asks you","\u002Fbuilding\u002Fwhen-it-asks-you","2.building\u002F8.when-it-asks-you","Some decisions arrive as a screen rather than a message — a table to correct, a list to choose from — and the build waits for your answer.",{"title":82,"path":83,"stem":84,"description":85},"Starting from what you have","\u002Fbuilding\u002Fstarting-from-what-you-have","2.building\u002F9.starting-from-what-you-have","A spreadsheet, a document, a picture or a page of your own site — attached, read, and built from.",{"title":87,"path":88,"stem":89,"children":90},"Shipping","\u002Fshipping","3.shipping",[91,94,99,104,109],{"title":87,"path":88,"stem":92,"description":93},"3.shipping\u002Findex","Getting what you built in front of people, and getting back to an earlier version.",{"title":95,"path":96,"stem":97,"description":98},"Versions","\u002Fshipping\u002Fversions","3.shipping\u002F1.versions","Every build is kept, named after what was asked for, and can be compared and restored.",{"title":100,"path":101,"stem":102,"description":103},"Environments","\u002Fshipping\u002Fenvironments","3.shipping\u002F2.environments","Preview, test and live — what each one is, who can reach it, and why their data is separate.",{"title":105,"path":106,"stem":107,"description":108},"Deploying","\u002Fshipping\u002Fdeploying","3.shipping\u002F3.deploying","Putting a version into test or live, what happens while it deploys, and what happens if it fails.",{"title":110,"path":111,"stem":112,"description":113},"Going back","\u002Fshipping\u002Fgoing-back","3.shipping\u002F4.going-back","Restoring an earlier version when a change turned out to be wrong.",{"title":115,"path":116,"stem":117,"children":118},"Running","\u002Frunning","4.running",[119,123,128,133,138,143,148,153,158,163,168],{"title":120,"path":116,"stem":121,"description":122},"Running it","4.running\u002Findex","Everything in Settings — addresses, access, people, files, integrations and what crawlers are told.",{"title":124,"path":125,"stem":126,"description":127},"Addresses and domains","\u002Frunning\u002Faddresses-and-domains","4.running\u002F01.addresses-and-domains","The address an application gets, and how to put it on a domain you own.",{"title":129,"path":130,"stem":131,"description":132},"Who can reach it","\u002Frunning\u002Fwho-can-reach-it","4.running\u002F02.who-can-reach-it","Open, behind one shared password, or accounts — and why the choice is enforced in front of the application.",{"title":134,"path":135,"stem":136,"description":137},"People who sign in","\u002Frunning\u002Fpeople-who-sign-in","4.running\u002F03.people-who-sign-in","The workspace's user directory — adding the people who use your applications, which ones each may open, what you can keep about them, and two-step sign-in.",{"title":139,"path":140,"stem":141,"description":142},"Published files","\u002Frunning\u002Fpublished-files","4.running\u002F04.published-files","Documents your application hands to its users — a price list, a brochure, a form — with a stable address and no build to change them.",{"title":144,"path":145,"stem":146,"description":147},"Integrations","\u002Frunning\u002Fintegrations","4.running\u002F05.integrations","Email, SMS and Google — connected once, used by the application without it ever holding a credential.",{"title":149,"path":150,"stem":151,"description":152},"Appearance","\u002Frunning\u002Fappearance","4.running\u002F06.appearance","The browser tab, the icon, what a link looks like when somebody pastes it, and adding it to a phone's home screen.",{"title":154,"path":155,"stem":156,"description":157},"Redirects and search engines","\u002Frunning\u002Fredirects-and-search-engines","4.running\u002F07.redirects-and-search-engines","Old addresses that still get visited, and what crawlers are told about each environment.",{"title":159,"path":160,"stem":161,"description":162},"Configuration values","\u002Frunning\u002Fconfiguration-values","4.running\u002F08.configuration-values","Named values the application needs but must not contain — API keys, account numbers, thresholds.",{"title":164,"path":165,"stem":166,"description":167},"Your data","\u002Frunning\u002Fyour-data","4.running\u002F09.your-data","The Data tab — reading, correcting, adding to and clearing out what your application has stored, one environment at a time.",{"title":169,"path":170,"stem":171,"description":172},"Visitors","\u002Frunning\u002Fvisitors","4.running\u002F10.visitors","Who is using the application, counted without identifying anybody and with nothing to set up.",{"title":174,"path":175,"stem":176,"children":177},"Workspace","\u002Fworkspace","5.workspace",[178,182,187,192,197,202,207],{"title":179,"path":175,"stem":180,"description":181},"Your workspace","5.workspace\u002Findex","What every application in it shares — the domain, the design systems, the people, the user directory and, if you want it, one set of records — and how to be in more than one.",{"title":183,"path":184,"stem":185,"description":186},"People and roles","\u002Fworkspace\u002Fpeople-and-roles","5.workspace\u002F1.people-and-roles","Three roles, what each can do, how they apply to the builder as well as to the buttons, and why they belong to a workspace rather than to an account.",{"title":188,"path":189,"stem":190,"description":191},"More than one workspace","\u002Fworkspace\u002Fmore-than-one-workspace","5.workspace\u002F2.more-than-one-workspace","Belonging to several, switching between them, the role you hold in each, and why nothing crosses over.",{"title":193,"path":194,"stem":195,"description":196},"Organising applications","\u002Fworkspace\u002Ffolders-and-organising","5.workspace\u002F3.folders-and-organising","Folders on the dashboard, and how to keep a growing list navigable.",{"title":198,"path":199,"stem":200,"description":201},"Your own design systems","\u002Fworkspace\u002Fyour-own-design-systems","5.workspace\u002F4.your-own-design-systems","Authoring a design system for your brand, or a client's, by importing guidelines, a website or a Figma library.",{"title":203,"path":204,"stem":205,"description":206},"Your profile","\u002Fworkspace\u002Fyour-profile","5.workspace\u002F5.your-profile","Your name, your password, your picture, and the theme.",{"title":208,"path":209,"stem":210,"description":211},"Where records live","\u002Fworkspace\u002Fwhere-records-live","5.workspace\u002F6.where-records-live","One store per environment, one across an application's environments, or one the whole workspace shares — what each costs you, and how to change it.",{"title":213,"path":214,"stem":215,"children":216},"Developers","\u002Fdevelopers","6.developers",[217,221,226],{"title":218,"path":214,"stem":219,"description":220},"For developers","6.developers\u002Findex","What is actually generated, and what to do when you inherit one.",{"title":222,"path":223,"stem":224,"description":225},"What gets built","\u002Fdevelopers\u002Fwhat-gets-built","6.developers\u002F1.what-gets-built","The stack, the shape of the repository, and the parts the platform provides rather than the application.",{"title":227,"path":228,"stem":229,"description":230},"Taking one over","\u002Fdevelopers\u002Ftaking-it-over","6.developers\u002F2.taking-it-over","For the developer who has just been handed an application built here.",{"title":232,"path":233,"stem":234,"children":235},"Reference","\u002Freference","7.reference",[236,239,244,249],{"title":232,"path":233,"stem":237,"description":238},"7.reference\u002Findex","Terms, limits, and what to do when something specific has gone wrong.",{"title":240,"path":241,"stem":242,"description":243},"Glossary","\u002Freference\u002Fglossary","7.reference\u002F1.glossary","Every term this documentation uses, in one place.",{"title":245,"path":246,"stem":247,"description":248},"Limits","\u002Freference\u002Flimits","7.reference\u002F2.limits","The boundaries that are real, so you do not discover them at an inconvenient moment.",{"title":250,"path":251,"stem":252,"description":253},"Troubleshooting","\u002Freference\u002Ftroubleshooting","7.reference\u002F3.troubleshooting","Specific symptoms, and what each one usually means.",{"id":255,"title":47,"body":256,"description":50,"extension":404,"hidden":405,"meta":406,"navTitle":407,"navigation":408,"path":48,"seo":409,"stem":49,"__hash__":410},"docs\u002F2.building\u002F2.watching-a-build.md",{"type":257,"value":258,"toc":393},"minimark",[259,263,268,271,306,309,313,316,334,337,341,344,352,355,358,362,365,372,376,383,386,390],[260,261,262],"p",{},"A build narrates itself as it goes. Each line is a step that has just happened\nor is happening now.",[264,265,267],"h2",{"id":266},"what-the-steps-mean","What the steps mean",[260,269,270],{},"They are written in plain language, not as commands:",[272,273,274,282,288,294,300],"ul",{},[275,276,277,281],"li",{},[278,279,280],"em",{},"Reading what you asked for"," — working out what to change.",[275,283,284,287],{},[278,285,286],{},"Setting up the database"," — creating or changing where records are stored.",[275,289,290,293],{},[278,291,292],{},"Building the proposals list"," — writing a screen.",[275,295,296,299],{},[278,297,298],{},"Checking it builds"," — compiling the application for production, which is the\ntest that matters. A change that does not compile does not count as done.",[275,301,302,305],{},[278,303,304],{},"Fixing what broke"," — it ran the application, read the error, and is\ncorrecting itself. This is normal and not a sign of trouble.",[260,307,308],{},"A tick means finished. A pulsing dot means in progress.",[264,310,312],{"id":311},"the-first-build-has-extra-steps","The first build has extra steps",[260,314,315],{},"Creating an application does more than write code:",[317,318,319],"steps",{},[320,321,322,325,328,331],"ol",{},[275,323,324],{},"The base application is written — a working, empty application in your\ndesign system, with the data wiring already in place.",[275,326,327],{},"Its database, cache and container are created. Each application gets its\nown, and so does each environment of it.",[275,329,330],{},"Dependencies are installed.",[275,332,333],{},"Only then does the builder start on what you actually asked for.",[260,335,336],{},"Steps 1 to 3 are the same every time and are not improvised, which is why the\nfirst build is slower but not less reliable.",[264,338,340],{"id":339},"why-there-is-no-log","Why there is no log",[260,342,343],{},"There is no Source tab and no Logs tab, deliberately.",[260,345,346,347,351],{},"A file tree and a stack trace turn an application somebody owns into one they\nfeel unqualified to touch, and this is built for people who read neither. So\ncommand output, file contents and build logs are removed ",[348,349,350],"strong",{},"on the server",",\nbefore the page is sent — not hidden in the browser, where anybody who opens\nthe developer tools finds them anyway.",[260,353,354],{},"What survives is the readable build: which step is running, whether it worked,\nand what the builder said about it. A failure arrives as one sentence.",[260,356,357],{},"If a build has gone wrong in a way you cannot get past, we can see the whole\nthing and escalate it. And the source is always yours to download.",[264,359,361],{"id":360},"it-saves-as-it-goes","It saves as it goes",[260,363,364],{},"Whatever reached the application is committed at the end of every run — whether\nit succeeded, failed, or you stopped it. Half-finished work is exactly what\ngets lost otherwise.",[260,366,367,368,371],{},"So every run leaves a version behind, and going back to one is always possible.\nSee ",[369,370,95],"a",{"href":96},".",[264,373,375],{"id":374},"long-builds","Long builds",[260,377,378,379,382],{},"A very large request can reach the step limit and pause rather than fail. The\nwork is saved and ",[348,380,381],{},"Continue"," picks it up with the whole conversation intact.",[260,384,385],{},"If that happens regularly, the requests are too big. Break them up — you will\nget better results as well as faster ones.",[264,387,389],{"id":388},"leaving-the-page","Leaving the page",[260,391,392],{},"A build keeps running when you close the tab. Come back and the conversation is\nwhere you left it, with the steps that happened while you were away.",{"title":394,"searchDepth":395,"depth":395,"links":396},"",3,[397,399,400,401,402,403],{"id":266,"depth":398,"text":267},2,{"id":311,"depth":398,"text":312},{"id":339,"depth":398,"text":340},{"id":360,"depth":398,"text":361},{"id":374,"depth":398,"text":375},{"id":388,"depth":398,"text":389},"md",false,{},null,true,{"title":47,"description":50},"w8MMptfrmEU6vm-K2f-ouxeVultNqt2ivv1VTABDZVU",[412,413],{"title":42,"path":43,"stem":44,"description":45,"children":-1},{"title":52,"path":53,"stem":54,"description":55,"children":-1},1790202296893]