Basilpot is a design and development studio. This repository contains the public Basilpot website, built with Astro and React.
The site explains Basilpot's services, shows client work, links to Basilpot products, and gives prospective clients a way to start a project.
- Service pages for business, travel, ecommerce, migration, maintenance, media, and marketing work
- Client portfolio covering travel, wellness, healthcare, adventure, and nonprofit projects
- Contact enquiry form that prepares an email in the visitor's mail app
- Product links for Launch Bunch, TravelFast, Ash & Moss, Reviewpot, Fullbleed, and LINKS
- Static SEO assets: canonical metadata, Open Graph cards, JSON-LD,
robots.txt, andsitemap.xml
- Astro 7 with static output
- React 19 components with Astro integration
- TypeScript
- Tailwind CSS 4 through Vite
- Lucide React for icons
- Node.js 22.12 or newer
- pnpm 10, as declared in
package.json
git clone https://github.com/Basilpot/basilpot-website.git
cd basilpot
pnpm install
pnpm devOpen http://localhost:4321.
pnpm dev
pnpm build
pnpm preview
pnpm typecheck
pnpm lint
pnpm formatThe production build writes static files to dist.
| Route | Purpose |
|---|---|
/ |
Studio overview and product links |
/services |
Website design, development, migration, maintenance, media, and marketing |
/travel |
Travel website system and project pricing ranges |
/ecommerce |
Custom ecommerce website development and Ash & Moss |
/clients |
Client portfolio |
/media-and-marketing |
Selected brand work |
/about |
Team and studio information |
/contact |
Project enquiry form |
/work redirects to /clients. /travel/pricing redirects to /travel.
src/layouts/main.astro owns shared page metadata. Each page supplies a unique title and description. The layout emits canonical URLs, robots directives, Open Graph tags, Twitter cards, and JSON-LD.
The homepage emits Organization and WebSite structured data. Service pages emit Service data. The site also publishes /robots.txt and /sitemap.xml from source routes.
The current site is English-first. Add translated /es/ or /pt-br/ routes only with complete localized copy and reciprocal hreflang links.
If the production domain changes, update site in astro.config.mjs and the sitemap and canonical URLs will follow it.
.
├── public/ # images, logo, favicon, and social card
├── src/components/ # shared Astro and React components
├── src/data/ # client and product content
├── src/layouts/ # document shell and metadata
├── src/pages/ # public routes and generated SEO files
└── src/styles/ # site styles (home.css is homepage-only)
Keep page content in src/pages or src/data, reuse shared components, and keep browser-only code at React leaves. Before opening a pull request, run pnpm build, pnpm typecheck, and pnpm lint.
This repository does not currently include a license file. All rights remain with Basilpot; ask before reusing code, content, or assets.