
Template details
FORMA
Free bilingual Astro template for construction and renovation businesses with English and Polish homepages, reusable sections and responsive images.
About this template
FORMA is a free, MIT-licensed Astro template for construction and renovation businesses that ships an English homepage at / and a Polish homepage at /pl/, reusable page sections, responsive image handling, and a contact form demo that validates locally but sends no data.
What is FORMA?
FORMA is a static site template built with the Astro framework and aimed at builders and renovation companies. Its input is content and configuration files — site details, navigation, SEO metadata and homepage sections live in src/data/, theme tokens live in design/default.md — and its output is a static production build written to dist/ by npm run build. The project is distributed as an open-source GitHub repository under the MIT License, with optional customization and implementation help offered by WebScale, the agency linked from the README for template adaptation.
Key Features
- Astro static output — the site is generated as static files in
dist/vianpm run build, with the dev server running fromnpm run dev. - Bilingual routing — an English homepage at
/and a Polish homepage at/pl/ship in the same package. - Centralized content data — site details, navigation, SEO and homepage section definitions are stored in
src/data/rather than hardcoded in components. - Design token system — theme values are defined in
design/default.md, andnpm run design:syncregenerates the styles after a change. - Reusable sections — homepage blocks are assembled from defined sections, so layouts can be recomposed without rewriting markup.
- Responsive image handling — the public package uses neutral SVG image placeholders; the photography from the development demo is deliberately not included.
- Non-sending contact form — the demo form validates input locally and shows a demo confirmation only, so a backend or form service must be connected and tested before collecting inquiries.
- Documentation set — separate guides cover customization (
docs/guides/customization.md), content (docs/guides/content.md) and deployment (docs/guides/deployment.md), plusdocs/assets-and-licenses.mdfor licensing boundaries. - Built-in checks —
npm run ai:checkandnpm run buildare the documented verification commands before shipping a customized site.
Who is it for?
- Construction and renovation companies that need a bilingual English/Polish marketing site without starting from an empty repository.
- Freelancers and agencies producing client sites in Astro, who want reusable sections and centralized content files to adapt per project.
- Polish-market businesses serving both Polish and international clients, where the
/pl/route provides a second language out of the box. - Developers evaluating a starting point who want a token-based theme that can be re-synced from a single design file.
What can you do with FORMA?
- Launch a company site: replace the fictional business details, project descriptions and testimonials in the demo with verified company information, then build static files for hosting.
- Run a bilingual presence: keep the English homepage and the Polish homepage in one codebase and update both from the shared data files.
- Rebrand quickly: change theme values in
design/default.md, runnpm run design:sync, and the color and style tokens propagate through the template. - Prepare for real inquiries: wire the demo form to a form or email service and test it before publishing.
How does it work?
- Start a repository with Use this template on GitHub or download the source ZIP from the Code menu.
- Install dependencies with
npm ci(Node.js 22.12 or newer required), then runnpm run devto serve the site athttp://localhost:4345. - Edit content in
src/data/and theme tokens indesign/default.md, then runnpm run buildto produce thedist/output and follow the deployment guide.
Pros and cons
- Pro: MIT-licensed, so commercial use and redistribution are allowed as long as the copyright and permission notice is included.
- Pro: two language homepages and a token-driven theme ship in the same package.
- Con: the contact form does not send anything; it only validates locally and displays a demo confirmation.
- Con: the demo business details, projects and testimonials are fictional and must be replaced.
- Con: no photography is included — only neutral SVG placeholders — so you must supply images you have permission to use.
Pricing
FORMA is free. The source code and the included FORMA demo graphics are released under the MIT License, which permits commercial use and redistribution provided the copyright and permission notice is retained. Third-party components and fonts remain under their own licenses, detailed in LICENSE.md and docs/assets-and-licenses.md.
FAQ
Is FORMA free to use commercially?
Yes. The source code and included demo graphics are under the MIT License, which allows commercial projects and redistribution as long as the copyright and permission notice is kept. Third-party components and fonts keep their own licenses, so check the license notes before shipping.
Does the contact form actually send messages?
No. The shipped contact form validates entries locally and then shows a demo confirmation without transmitting anything. You need to connect your own form or email service and test it before publishing the site to collect real inquiries.
Does FORMA include the demo photography?
No. The public package uses neutral SVG placeholders instead of the development demo's photographs. You are expected to replace the placeholders with images you have permission to use, alongside verified business details and testimonials.
What software do I need to run FORMA?
Node.js 22.12 or newer. Install dependencies with npm ci, start the dev server with npm run dev on port 4345, and generate the static site with npm run build, which writes output to the dist/ directory.
How do I change the template's colors and styling?
Theme tokens are stored in design/default.md. Edit that file and then run npm run design:sync to propagate the changes through the template's styles before rebuilding.















