Hermes Agent
f1fa539495
SEO: comprehensive search engine optimization for bilhej.se
...
CI / Lint, type check, unit tests, coverage (push) Failing after 26m9s
CI / E2E browser tests (push) Failing after 13m8s
Adds 7 SEO improvements across the full stack:
1. Enhanced index.html:
- Open Graph tags (og:title, og:description, og:image, og:locale sv_SE)
- Twitter Card tags (summary_large_image)
- Canonical URL (https://bilhej.se/ )
- Meta keywords, author, robots, language tags
- Structured data in JSON-LD (Organization, WebSite, Service, FAQPage)
- FAQ structured data with 4 Q&A pairs (pris, anonymitet, hur funkar det)
- Preconnect hints for analytics origin
2. robots.txt:
- Disallow: auth pages, admin, orders, payment, guest pages
- Allow: public pages (/, /om-oss, /kontakt, /integritetspolicy, /villkor)
- Crawl-delay: 10s
- Points to sitemap
3. sitemap.xml:
- 6 public URLs with proper changefreq and priority
- Home (1.0), Om (0.7), Kontakt (0.6), GDPR/Villkor (0.5)
4. useSeo composable:
- Dynamic document.title, meta description/OG/Twitter on route change
- Canonical URL updates per page
- Reset fallback for unnamed routes
5. Route-level SEO data:
- 16 routes with unique title, description, keywords
- Covers all public pages + key auth pages
6. App.vue: wired useSeo with route.name watcher (immediate: true)
7. nginx.conf:
- Security headers: X-Frame-Options DENY, X-Content-Type-Options,
X-XSS-Protection, Referrer-Policy, Permissions-Policy, HSTS
- Far-future cache (1y, immutable) for static assets
- No-cache for robots.txt and sitemap.xml
- Deny access to dotfiles
- Stronger gzip config
2026-07-18 17:54:13 +00:00
00327674ed
refactor: add design system with CSS tokens, utilities, and app shell
...
- Add design tokens (colors, spacing, radius, shadows, typography, transitions)
- Add global reset, body/link/focus/typography base styles
- Add utility classes (container, surface-card, btn variants, field, badge, message, divider)
- Replace header ✉ symbol with inline SVG envelope icon
- Update favicon to license-plate shaped mark with blue gradient and bold B
- Rename brand from BilHälsning to Bilhej in header, footer, and HTML title
- Rewrite footer tagline: focus on service, not privacy
- Add theme-color meta tag for browser chrome
2026-05-16 16:09:35 +02:00
9931061cb6
feat: scaffold Vue 3 + Vite frontend with TypeScript, Router, Pinia, Vitest, ESLint, Prettier
...
- Scaffold via npm create vite@latest --template vue-ts (create-vue interactive
prompts require manual selection; create-vite supports non-interactive flags)
- Dependencies: vue-router (SPA routing, createWebHistory for clean URLs),
pinia (centralised state management), vitest + @vue/test-utils + jsdom
(unit testing with browser DOM simulation)
- Dev tooling: eslint (v10 flat config) + eslint-plugin-vue + @vue/eslint-config-typescript
+ @vue/eslint-config-prettier (ESLint-Prettier integration via vueTsConfigs),
prettier (semi: false, singleQuote, trailingComma: all), jiti (bridges ESLint
with TypeScript config files)
- vite.config.ts: dev server on port 3000, @ alias resolving to src/, vitest
with jsdom environment
- eslint.config.ts: defineConfigWithVueTs wraps tseslint.config with Vue SFC
support (vue-eslint-parser, <script setup lang="ts">), vue/multi-word off
- tsconfig.app.json: path alias @/* -> src/* for TypeScript module resolution
- src/router/index.ts: single route mapping / to HomePage
- src/pages/HomePage.vue: minimal <script setup lang="ts"> placeholder
- src/main.ts: bootstraps app with Pinia plugin + Vue Router
- src/App.vue: delegates rendering to <RouterView />
- src/__tests__/HomePage.spec.ts: smoke test verifying component mounts
- Directory structure: src/stores/, src/api/, src/composables/ with .gitkeep
placeholders matching AGENTS.md convention (PascalCase pages, camelCase stores/composables)
- index.html: lang="sv", title BilHälsning (Swedish UI convention)
- Cleaned up: HelloWorld.vue, style.css, template boilerplate SVGs/PNGs
- Update AGENTS.md + CODING_GUIDELINES.md: .js extensions → .ts across all
file naming examples (useXxx.ts, authStore.ts, orders.ts, client.ts)
- Verification: npm run dev serves blank page on http://localhost:3000 ,
npm run lint passes (0 errors, 0 warnings), npm test passes (1 test, 1 file)
2026-05-01 00:52:38 +02:00