تخطَّ إلى المحتوى
wojciech.io
تقنيات الإنتاج

على ماذا بُني
هذا الموقع فعلًا.

مُتحقَّق منه من المستودع، لا من الذاكرة. كل طبقة أدناه في الإنتاج اليوم عبر wojciech.io ونطاقاته الفرعية. إن كانت أداة على هذه الصفحة، فهي تدفع إيجارها.

7 أسطح منشورة
8 لغات مُطلقة
524 اختبارًا آليًا
10 طبقات تقنية

01

المعمارية

مستودع أحادي بـ npm workspaces. Astro 6 على Cloudflare Pages. سبعة أسطح، سبعة مشاريع Pages: wojciech.io وapp وgrowthhub وacademy وnotch وsubscribe وdev. حِزم مشتركة: ‎@wojciech/tokens و@wojciech/ui و@wojciech/mdx-components.

Astro 6 + MDX
Cloudflare Pages (7 projects)
npm workspaces (apps/* + packages/*)
@wojciech/tokens · @wojciech/ui · @wojciech/mdx-components

02

الواجهة الأمامية

Tailwind CSS 4 مدفوعة برموز CSS custom-prop. خط Geist للحروف. Lenis + Motion للحركة. Pagefind للبحث الثابت. Satori + resvg-js لبطاقات OG.

Tailwind CSS 4 (@tailwindcss/vite)
CSS custom-property tokens
Geist Sans · Geist Mono
Lenis · Motion
Pagefind static search
Satori + resvg-js (dynamic OG)

03

الخلفية والبنية التحتية

Cloudflare Pages Functions للأسطح المحمية. Wrangler لخدمات Workers (مهمة growthhub المجدولة). Terraform يدير مشاريع Pages والنطاقات. Node 24 في الـ CI.

Cloudflare Pages Functions
Cloudflare Workers (growthhub-cron)
Terraform (cloudflare_pages_project + _domain)
WAF rules tracked in repo
Node 24

04

المحتوى وتعدّد اللغات

مجموعات محتوى Astro للرؤى والأعمال والشهادات. ثماني لغات لأسطح السيرة الذاتية والـ SEO. سبع صفحات رئيسية مترجمة بالكامل (de وdk وno وjp وit وes وpl) فوق الإنجليزية.

Astro content collections (insights, work, testimonials)
MDX articles + custom components
8 langs: en, pl, de, dk, no, jp, it, es
Locale-prefixed routing via src/pages/[locale]

05

التحليلات (مشروطة بالموافقة)

Cloudflare Web Analytics يعمل بلا هوية افتراضيًا. كل ما عداه لا يُحمَّل إلا بعد موافقة صريحة.

Cloudflare Web Analytics (anonymous)
GA4 (lazy after consent)
Mixpanel EU
Sentry EU
PostHog EU

06

الاختبارات

Vitest للوحدات والتغطية. Playwright (Chromium + WebKit) لاختبارات الدخان والـ SEO وhreflang وإتاحة axe وفحص الروابط المكسورة والمسارات الحرجة وفحوص الميتا والأصول. اختبار دخان يومي على الإنتاج.

Vitest (unit + coverage)
Playwright (Chromium + WebKit)
a11y/axe automation
Daily production smoke
Lighthouse CI weekly

07

CI/CD

الـ CI يعمل عند كل دفع وكل PR. النشر يعمل فقط عند نجاح الـ CI عبر workflow_run، فينشر الموقع والنطاقات الفرعية بالتوازي عبر Wrangler. Commitlint مُلزَم. Release Please يُشغَّل يدويًا، لا عند الدفع.

GitHub Actions (ci.yml + deploy.yml)
workflow_run gate (no green CI, no deploy)
Wrangler parallel deploy across surfaces
Commitlint required
Release Please (manual)

08

الأمان

حماية الفرع على main بفحوص إلزامية. الأسرار في بيئة Cloudflare فقط. CSP صارمة، وHSTS preload، وX-Frame-Options DENY، وPermissions-Policy معزولة. بوابات المصادقة تستخدم كوكيز موقّعة بـ HMAC-SHA256 بمقارنات آمنة زمنيًا وحدّ معدّل.

gitleaks · npm audit (high) · Semgrep · CodeQL
content-guard (pre-commit + CI + weekly cron)
sensitive-path-guard on PRs
CSP, HSTS preload, XFO DENY, Permissions-Policy
HMAC-SHA256 signed cookies, timing-safe
Per-IP rate limit on auth endpoints

09

المرونة

Azure Static Web Apps يحتفظ بنسخة احتياطية باردة أسبوعيًا. التبديل عند الفشل يُشغّله المشغّل يدويًا عبر workflow_dispatch (يكتشف الصحة آليًا ثم يبدّل الـ DNS عبر واجهة Cloudflare). التراجع هو git revert غير مدمّر. BetterStack يدير فحوص الدخان.

Azure Static Web Apps (cold standby)
Manual failover (workflow_dispatch)
Non-destructive git-revert rollback
BetterStack uptime + incident webhook

10

منهجية العمل

Claude Code ينفّذ. Codex يراجع. GPT-5.5 Thinking يتولّى الاستراتيجية وقرارات المضيّ من عدمه. Claude Design يملك الجانب البصري. التسليم: استراتيجية، توثيق، كود، مراجعة، قبول، ثم دمج حين يتّفق التوثيق والكود.

Claude Code (implementation)
Codex (review)
GPT-5.5 Thinking (strategy)
Claude Design (visual)
الخطوة التالية

تريد أن ترى جزءًا من هذا قيد العمل

إن كان شيء على الصفحة مثيرًا للاهتمام في سياق ما تبنيه، فاكتب لي ولننظر فيه معًا.