Everything you need to understand the files, shape the details, and choose your own path to launch.
A small, solid start.
Welcome to Project Launch Kit. This is a static website starter: real HTML, CSS, and JavaScript you can edit, understand, and host yourself. It is not a hosted product, and the YourProduct brand is illustrative.
Open the preview
Extract the downloaded archive into a folder you control.
Open full/index.html in a modern browser. Follow the documentation and changelog links to explore.
Start customizing full/assets/config.js, then edit the page content directly.
Optional local server
For more realistic URL behavior, serve the full folder using a static server you already trust. If Python 3 is installed:
Local preview
cd full
python3 -m http.server 8080 --bind 127.0.0.1
Open http://127.0.0.1:8080. Stop the server with Ctrl+C. You do not need to install Python just to open the HTML files. Do not expose a development server to an untrusted network.
No build step, by design.
No package installation, framework, external font, or CDN is required. Node.js is optional and used only for the included maintainer tests.
The package also includes a genuinely smaller free/ one-page sample, setup notes, a QA checklist, tests, a source inventory, and draft license text. There are no secret files needed to unlock this kit.
Your name. Your palette.
Start in assets/config.js. The same configuration is loaded on every full-edition page. The supplied options are intentionally small:
brand replaces visible elements marked data-brand. Use a short name, and check narrow screens if it is longer than 12 characters.
theme accepts light, dark, or system. The theme button cycles through all three.
accent accepts fern, cobalt, or clay. The CSS defines coordinated light and dark variants.
rememberTheme stores the theme preference locally when true. Set it to false to avoid that storage. An already stored value is not automatically deleted.
storageKey should be unique per deployed product. Use letters, digits, underscores, or hyphens, up to 80 characters.
Go beyond the presets
Edit the CSS variables at the top of assets/site.css. Check contrast in both themes before shipping. The fonts are system fonts: their exact appearance varies by platform, and no font files are downloaded.
Important: config does not rewrite everything.
Page titles, social metadata, paragraphs, navigation labels, URLs, the static fallback brand, and SVG artwork are edited in the source files. This keeps page content readable with JavaScript disabled and keeps search engines independent of client-side rendering.
Make every word true.
The included YourProduct brand and launch copy are illustrative. Replace them with your real product content before publishing. The banner at the top of each page says this explicitly. Remove it only after you have completed the review.
Update each page’s <title>, description, and Open Graph title and description.
Replace static brand text, accessible home-link labels, hero headings, product sections, and the footer.
Replace or remove the launch checklist illustration and demo if they do not match your product.
Keep calls to action honest. This kit links to its demo and documentation; it does not pretend to take payments or submit email addresses.
Do not invent customer logos, testimonials, user counts, conversion rates, endorsements, or revenue claims.
Social sharing and canonical URLs
assets/social-card.svg is editable artwork, not a guaranteed platform-ready preview image. Export it to a supported raster format, host the resulting file, and add absolute og:image and og:url URLs after you know your domain. Add a page-specific canonical URL if appropriate. No placeholder production domain is included.
Search indexing is off in the demo
The pages contain noindex, nofollow, and robots.txt disallows crawling. After replacing all preview content, remove the noindex tags and update robots.txt deliberately. Robots directives are not access control: do not upload confidential information to a public host.
Details that do real work.
Navigation and search
The header becomes a disclosure menu on smaller screens. Links remain visible when JavaScript is unavailable. Search opens in a native dialog, keeps keyboard focus inside, and restores focus when closed. Older browsers without native dialog support go to this static guide instead.
Launch checklist
The landing page has three tab panels. Left and right arrow keys move between tabs; Home and End jump to the ends. Each stage has three checkboxes and its own progress calculation. Reset clears every stage. This is an in-memory demonstration, not persistent task storage.
FAQ and code snippets
FAQ rows use native details and summary. Code copy buttons use the Clipboard API only after a click. When the browser blocks clipboard access, the code is selected and the page announces how to copy it manually. Nothing is sent externally.
Progressive enhancement
With JavaScript disabled, theme controls, copy buttons, and search controls disappear; all checklist stages, documentation sections, links, and FAQ content remain accessible. With a partial script failure, the static content remains readable, though an enhanced control may not be available.
Useful answers, locally.
Search uses the hand-maintained assets/search-index.js file. It matches query words against the title, category, and text, prioritizes title matches, and returns up to 12 results. It does not call a search service or fetch documentation at runtime.
When adding or renaming a section, update its HTML ID, the sidebar link, and its search entry together. The included static tests check that indexed anchors exist. If you split the guide into more files, also extend the allowed documentation-path rule in core.js and its tests; the default intentionally accepts only anchors on this guide.
Open search with the header button or Ctrl+K / Command+K. Use Tab and Shift+Tab to move through results, Enter to follow a result, and Escape to close. The entire guide can also be searched with your browser’s Find command.
A folder, ready for a host.
The complete website is the full/ folder. Copy that folder’s contents to the document root of a static host. There is no build command, server runtime, secret, database, or API key to configure for the included features.
Test your edited files locally, including deep links into documentation.
Choose a static host and review its pricing, terms, and privacy behavior separately.
Publish the contents of full/, preserving its folder structure.
Use the host’s HTTPS support and verify the final URL.
Configure your host to serve 404.html for missing paths if desired. A standalone file does not enable that routing automatically.
Check real deployed URLs, refresh behavior, mobile layout, keyboard access, and download or CTA destinations.
What is not connected
This kit does not create a hosting account, publish itself, process a checkout, send email, collect leads, or authenticate visitors. Add those integrations only after choosing providers and reviewing the necessary security, permissions, and legal requirements.
Relative links support a subdirectory deployment. If a host serves your error page at arbitrary nested paths, configure its base URL or use host-specific absolute asset paths in that error page. Test this behavior on your selected host.
Build for the whole visit.
The template includes semantic headings, landmarks, a skip link, visible keyboard focus, native FAQ disclosures, labelled controls, a search dialog, keyboard-enabled tabs, and reduced-motion styles. These are implementation choices, not a claim of certified accessibility compliance.
Use Tab and Shift+Tab to navigate every page. Check that focus never disappears behind the sticky header.
Open and close search with a keyboard, then verify focus returns to a visible control.
Try the mobile navigation, Escape, repeated open/close actions, and resizing.
Test theme colors and any newly added buttons or graphics for sufficient contrast.
Check a phone-width viewport, browser zoom to 200%, and a large text setting.
Disable JavaScript and verify that your essential content and links remain usable.
Try your target screen readers and browsers before making compliance claims.
Decorative SVGs are hidden from assistive technology. The hero composition has an accessible description. If you replace artwork with meaningful images, provide relevant alternative text. Do not add important information only through color or animation.
A deliberately small surface area.
The shipped site makes no third-party requests and includes no trackers, analytics, external fonts, forms, wallet addresses, payment keys, or backend. Your hosting provider may still keep its own request logs. Your own additions may change this behavior.
What is stored
If enabled, only the theme value is written to localStorage under the configured key. Storage errors are caught so the page still works when storage is blocked. Search terms and checklist state are not persisted or sent anywhere by the kit.
When extending the code
Configuration and search results are inserted as text, not HTML. Keep that pattern for untrusted content. Do not put secrets in public JavaScript. Add a suitable Content Security Policy, other response headers, and any applicable privacy disclosures using the controls of your chosen host. The template itself does not set HTTP response headers.
The sample “noindex” settings do not make this site private. Keep draft or confidential material off public hosting until you intentionally choose to share it.
If something feels off.
Search, tabs, or the theme button is missing
Check that the JavaScript files load and that their order is unchanged: config, core, search index, app. A missing script does not remove the static content. Check the browser console for errors after editing. Preserve relative paths when moving folders.
My new default theme does not appear
A saved theme preference takes priority over the config default. Cycle the theme button or remove only your site’s configured theme key in browser storage. Do not clear unrelated site data.
Copy says “Selected” instead of “Copied”
This is the intentional fallback for file URLs, insecure contexts, denied clipboard permission, or unsupported browsers. Use your browser’s normal Copy command after the code is selected.
A long product name breaks the header
Use a short display name, reduce the brand font size, or adapt the responsive header styles. The default was designed around the illustrative 11-character YourProduct name; arbitrary-length names are not guaranteed to fit.
A nested URL shows an unstyled 404 page
Your host may be resolving the error page’s relative asset paths against the missing URL. Configure host-specific absolute paths or the document base for the error page after you know the deployment base path.
Changed files still look old
Reload without cache in your browser’s developer tools. For a deployed site, check the host’s caching configuration and verify you published the updated asset files.
Clear about what is included.
The supplied code, CSS, icons, and vector artwork were created for this kit with AI assistance. No third-party template, stock photograph, icon package, web font, or JavaScript dependency is included in the shipped site.
The package contains proposed license wording for review by the seller. It is marked DRAFT and is not finalized customer terms, legal advice, or a claim that all AI-assisted output has exclusive copyright protection. Review the final terms supplied with any purchase rather than treating this demo as an accepted agreement.
No refund policy, warranty, support response time, update entitlement, or revenue guarantee is promised by this preview. Those commercial terms require a separate seller decision before a real sale.
Before you call it live.
Replace all illustrative branding, copy, and release notes.
Check that product claims and included features are accurate.
Set page titles, descriptions, icons, sharing metadata, and real URLs.
Decide whether to remove noindex and update robots.txt.
Verify every CTA, navigation link, and documentation anchor.
Run the included tests after editing source code or search data.
Complete the browser, mobile, keyboard, and reduced-motion checks.
Review license, customer support, refund terms, and any applicable legal obligations before selling.
Verify the real deployed site, HTTPS, nested paths, and error-page behavior.
Do not call a checkout, signup, or payment flow complete until its actual integration has been tested separately.