Elk gehost project heeft een eigen pagina Sitemap: een echte, gestructureerde weergave van PLAN.md, het levende document dat de bouwengine schrijft en actueel houdt. Het is geen eenmalige export of wijzigingslogboek. Je komt erbij via de knop "Sitemap" op de eigen pagina van het project, op /projects/<id>/plan, en die is beveiligd op dezelfde manier als de rest van de interne hulpmiddelen van een project. Een aparte, alleen-lezen versie van dezelfde pagina bestaat voor de klant zelf; zie "Wat de klant ziet" hieronder.
PLAN.md wordt geschreven zodra de eerste bouwbeurt van een project klaar is, en het is bedoeld om altijd de site te beschrijven zoals die er nu uitziet, niet een logboek van alles wat er ooit is gebeurd (daarvoor zijn het tabblad Versies en het Wijzigingslogboek er). De pagina Sitemap zet die Markdown om in echte interface: een tabel voor pagina's, een lijst voor modules, een checklist voor openstaande vragen en gewone tekst voor zakelijke feiten, merk en beslissingen.
Voordat een bouwbeurt klaar is, is er nog niets om te lezen: de pagina toont "Nog geen plan", legt duidelijk uit dat het plan wordt geschreven door de eerste bouwbeurt van het project, en verwijst terug naar de eigen pagina van het project in plaats van een lege tabel te tonen.
Een site waarvan de bestanden zonder plan zijn binnengekomen (gepubliceerd vanuit een andere AI-tool via de koppeling, geïmporteerd of geüpload), krijgt toch een plan: de pagina begint het plan vanuit de briefing van het project, de kitkeuzes en de gemeten pagina's, en een banner, Dit plan is voor je gestart, biedt Dit plan opslaan aan. Dat maakt het het echte plan van het project, zodat elk onderdeel bewerkt kan worden. Het volledige sitemap lezen verwijst naar het plandocument op het tabblad Plan & briefing.
Modules die later vanuit de Kit zijn toegevoegd (Toevoegen aan plan) komen in de lijst Modules als Gepland, met een link Bekijken in de Kit, ook als de plantekst eerder is geschreven dan die toevoeging.
Onder de titel staat één regel die aangeeft wanneer het plan voor het laatst is bijgewerkt: "Plan bijgewerkt 2 okt., 15:04". Dat tijdstip komt van de laatste keer dat aiKit de echte bestanden van de site heeft gemeten. Dat gebeurt na elke wijziging: een chatbewerking, een vastzetting, een toevoeging uit de Kit, een herstel, een handmatige aanpassing van het plan of een publicatie vanuit een andere AI-tool.
Bovenaan, zodra er een plan is: een balk voor het totale voortgangspercentage en daaronder drie tegels: Pagina's gebouwd (van de geplande pagina's), Modules gebouwd (van de gekozen modules) en Vragen beantwoord (van de openstaande vragen in het plan). Elke tegel is een knop die naar het gedeelte scrolt dat hij telt. Niets hiervan wordt zelf door de tekst van het plan opgegeven: een pagina telt als gebouwd alleen wanneer aiKit haar in de echte bestanden van de site heeft gevonden; een module telt als gebouwd alleen op basis van het geverifieerde bouwrapport of de module die in de bestanden is gevonden; en een vraag telt als beantwoord wanneer de regel in het plan is afgevinkt of de klant de vraag op zijn Vragenpagina heeft beantwoord.
Twee dingen zorgen ervoor dat het plan achterloopt, en het scherm laat zien welke: de AI-stap die het plan na een wijziging herschrijft, is niet afgerond ("Het geschreven plan is niet bijgewerkt na de laatste wijziging," met de reden), of de site heeft een nieuwere versie dan waarop het plan is gemeten ("De site is veranderd nadat dit plan voor het laatst is bijgewerkt"). In beide gevallen verschijnt een knop "Plan vernieuwen". De pagina voert die nooit zelf uit wanneer je haar opent (het openen van een pagina gebruikt nooit AI); de engine verwerkt elke wijziging al op de achtergrond in het plan, en de knop is er voor het geval dat dit achterliep. Plan vernieuwen verwerkt de nieuwste wijziging in het geschreven plan en meet de site opnieuw. Lukt het nog steeds niet, dan blijft de melding staan met wat er misging, en kun je opnieuw op Plan vernieuwen drukken of het plan zelf handmatig bewerken.
De kaart Gezondheid geeft de site een score op 100, op basis van regels die aiKit controleert in de echte bestanden, nooit op basis van de mening van de AI: een ontbrekende of dubbele paginatitel of zoekbeschrijving, een pagina zonder of met meer dan één hoofdkop, een link naar een pagina die niet bestaat, een pagina waar niets naar linkt en die het menu niet vermeldt, afbeeldingen zonder beschrijving voor schermlezers, zeer korte pagina's, een formulier zonder bestemming, en een module die het briefing vraagt maar die niet op de site staat. Bij elk probleem staat welke pagina het betreft en waarom het belangrijk is, en er is een knop Oplossen: Oplossen zet de kant-en-klare instructie van het probleem als verzoek klaar en geeft die aan de AI, de knop toont "Oplossing aangevraagd" zolang het bezig is, en de score wordt opnieuw gemeten zodra de wijziging is doorgevoerd. Filter de lijst op ernst met de aantallen Hoog, Gemiddeld en Laag, en "Alles tonen" wist het filter.
De Sitemap tekent de site als boomstructuur: de startpagina bovenaan, daarna het menu in volgorde, daarna pagina's die via die pagina's bereikt worden. Pagina's waar niets naar linkt staan in een eigen groep, pagina's die het plan vermeldt maar die nog niet gebouwd zijn, worden gestippeld getekend en gemarkeerd als Gepland, en gebouwde pagina's die het plan nooit noemt, worden gemarkeerd als "Niet in het plan" met een knop "Toevoegen aan plan" die ze aan het gedeelte Pagina's toevoegt.
Klik op een pagina (in de sitemap of de lijst Pagina's) om de details naast het plan te openen. De adresbalk verandert in ?page=/about, zodat de link voor iedereen in het team dezelfde pagina opent. De details tonen hoe de pagina in Google eruitziet (titel, adres, beschrijving), de secties en hoofdkoppen, het aantal woorden, afbeeldingen en hoeveel daarvan geen beschrijving hebben, de formulieren en welke kitmodule ze uitvoert, of de klant de pagina heeft goedgekeurd, en de laatste wijziging: wanneer, wie er om vroeg en wat er gevraagd werd.
Geschiedenis toont de versies die aiKit bewaart (het Origineel en de nieuwste 10), nieuwste eerst: het nummer, het soort wijziging (Eerste bouw, Chat, Vastzetten, Kit, Gepubliceerd, Herstellen, Planbewerking), wanneer, wat er gevraagd werd, wie het vroeg, en welke pagina's zijn veranderd (klik op een pagina om de details te openen). De nieuwste is gemarkeerd als Huidige versie; elke oudere heeft "Deze versie herstellen", wat eerst vraagt en de huidige stand opslaat voordat de site wordt teruggezet, zodat een herstel ongedaan gemaakt kan worden. De eerste drie worden getoond; "Alles tonen" laat de rest zien.
De sectie Bedrijfsgegevens vergelijkt het telefoonnummer, e-mailadres, adres en de openingstijden in het Klantdossier met de tekst van de gebouwde pagina's (eerst de startpagina en het contactformulier). Elk gegeven toont "Op de site" of "Niet gevonden op de site" (met het aantal gecontroleerde pagina's, omdat de site misschien een oude waarde toont), en een link "Bewerken in het Klantdossier" houdt het Klantdossier als bron van waarheid.
Elke sectiekaart heeft dezelfde twee knoppen. "Bewerken" opent de ruwe Markdown van die sectie in een eenvoudig tekstvak en slaat die direct terug op in PLAN.md. Dit is een echte, directe schrijfactie (via het eigen PUT-eindpunt van het project), maar er wordt bewust geen bouw of publicatie gestart; er verandert alleen wat het plandocument zegt, net als bij het bewerken van elke andere notitie.
"Wijziging aanvragen" werkt bewust anders: het opent een klein formulier ("Wat wil je veranderd hebben in <section>?"), en als je het verstuurt, wordt er een echt verzoek op het tabblad Feedback van het project gezet, met het label "Sitemap — <Section>: …", net als elk vastgezet punt of elk Snel bewerken-verzoek, met de eigen statusgang en een link "Het verzoek bekijken" zodra het is verstuurd. Gebruik Bewerken wanneer je de eigen tekst van het plan zelf corrigeert of herschrijft; gebruik Wijziging aanvragen wanneer je wilt dat de echte site (en daarmee het plan) wordt bijgewerkt.
Het plan heeft twee lagen. De metingen (pagina's, titels, secties, links, formulieren, modules, gezondheid) worden na elke wijziging door code uit de echte bestanden gehaald, zodat ze nooit afwijken. Het geschreven plan (doelen, bedrijfsfeiten, merk, beslissingen, open vragen) wordt actueel gehouden door een AI-stap die na elke wijziging draait en alleen de delen herschrijft die de wijziging raakte. Er worden nooit een wijzigingslogboek of gedateerde items toegevoegd; Geschiedenis is de plek waar het overzicht van wijzigingen staat.
Als deze AI-stap mislukt, blijft het geschreven plan zoals het was in plaats van half herschreven te worden, wordt de fout vastgelegd, en toont het scherm Plan vernieuwen (zie hierboven) in plaats van stilletjes een verouderd plan te tonen.
Naast het plan staat een balk met de acties (op een telefoon wordt de balk een volledige breedte knop "Kopieer de klantlink" direct onder de voortgangsbalk, met de rest ingeklapt onder "Meer acties (3)"). "Deel met de klant" kopieert een alleen-lezen link (aikit.ai/p/<project>/plan) — geen interne tools, geen bewerkknoppen, niets intern. "Open de live site" is een directe link naar de live site, of de balk zegt duidelijk "Nog niet live" als dat niet zo is. "Bestanden" toont het werkelijke aantal bestanden met een uitklapbare lijst van het pad en de grootte van elk bestand. "Download het plan" downloadt het actuele PLAN.md als echt .md-bestand, precies byte voor byte wat het scherm leest — geen opnieuw gegenereerde samenvatting.
De pagina van de klant opent op het tabblad Plan: hetzelfde sitemapdocument dat medewerkers zien op het tabblad Plan & briefing (overzicht en doelen, doelgroep, strategie, sitemap, elke tool met wat die voor hun bedrijf doet en de status, contentplan, tijdlijn, beslissingen en open vragen), zonder de delen die alleen voor medewerkers zijn: geen notities die getypt zijn toen een tool werd toegevoegd, geen namen van wie wat heeft toegevoegd, geen links naar aiKit's Kit en geen knop Schrijf het plan. Een tweede tabblad, Pagina's & goedkeuringen, toont de weergave per pagina hieronder.
Op Pagina's & goedkeuringen, achter dezelfde toegangscode die ze al gebruiken om feedback te geven (geen aparte login), ziet een klant dezelfde voortgangsbalk, een Sitemap van hun pagina's, de lijst Pagina's met links "Bekijk", de modules, bedrijfsfeiten, merk, beslissingen en open vragen, plus een regel "Plan bijgewerkt". Ze krijgen geen Gezondheid, herstelinstructies, Geschiedenis, wie wat heeft gevraagd, de bestandenlijst, of een knop Bewerken of Vraag om een wijziging.
Alles wat medewerkers voor zichzelf markeren, wordt op de server verwijderd voordat de pagina wordt verzonden, in elke sectie: een regel met "(internal)", "[internal]" of "(staff only)", een regel die begint met "Internal:" of "Staff only:", elke sectie waarvan de kop Internal of Staff only zegt, en verborgen opmerkingen. Die regels bereiken de browser van de klant nooit, zelfs niet in de netwerkgegevens van de pagina.
Elke gebouwde pagina heeft een knop Goedkeuren. De klant typt zijn naam (en een optionele opmerking) en keurt goed; de goedkeuring is gekoppeld aan de exacte inhoud van die pagina, dus als de pagina later verandert, verschijnt "Gewijzigd sinds je goedkeuring" en wordt er opnieuw gevraagd. Alleen iemand met de toegangscode van de klant kan goedkeuren. Als je de klantlink opent terwijl je bent ingelogd als medewerker, zie je de goedkeuringsstatus van elke pagina maar geen knop Goedkeuren, zodat niemand namens de klant kan goedkeuren. Op het interne Sitemapplan tonen goedgekeurde pagina's "Goedgekeurd door klant" en gewijzigde pagina's "Gewijzigd sinds goedkeuring."
Onderaan staat een knop "Stuur feedback": als de site live is, opent die de echte live site met de feedbacklaag al ingeschakeld (met de eigen toegangscode van de klant); als de site nog niet live is, verwijst die naar de pagina Recente updates.
Liever een snelle, specifieke vraag stellen? Bekijk de veelgestelde vragen.