Medical Research Skills for Claude Code, Codex, Cursor & Copilot
58 项开源技能,覆盖完整的医学研究全生命周期。由医生构建,基于真实出版物测试。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Klinara'nın tanıtım sitesi ve blogu. React Router 8 (framework modu, Vite) + Tailwind CSS v4 + Motion.
Çalışma anında sunucu yoktur: her sayfa ve her blog yazısı build sırasında statik HTML'e dönüşür
(ssr: false + prerender). Çıktı build/client herhangi bir statik host'a yüklenebilir.
pnpm install
pnpm dev # http://localhost:5173
pnpm build # build/client
pnpm preview # build çıktısını statik sunucuyla açar (http://localhost:4173)
pnpm typecheck
Node sürümü: React Router 8, Node 22.22 veya üstünü ister. Proje Node 24 kullanır (package.json engines ve .nvmrc); Vercel ve Cloudflare bu sürümü otomatik seçer. Yerelde nvm use ya da Node 24 kurulumu gerekir.
| Yol | İçerik |
|---|---|
app/config/site.ts | Site adresi, iletişim e-postası (Demo talep et butonları buraya mailto açar), panel giriş adresi, menü |
app/config/pricing.ts | Planlar, fiyatlar, şube ve uygulayıcı limitleri, "her planda" özellik listesi |
app/config/screens.ts | iOS ekran görüntülerinin adları ve alt metinleri |
app/sections/* | Ana sayfa bölümleri (hero, özellikler, bento, WhatsApp akışı, fiyatlar, SSS, blog, kapanış) |
app/app.css | Marka token'ları (açık/koyu), tip ölçeği, animasyon yardımcıları |
content/blog/*.md | Blog yazıları |
public/screens/ | Uygulama ekran görüntüleri (WebP, açık ve koyu) |
public/videos/ | Hero promo videosu (MP4 1080 ve 720) ve posteri; kaynağı promo-video/ |
promo-video/ | Remotion projesi: videonun sahneleri, müziği, render script'leri (ayrı npm projesi, build'e girmez) |
public/photos/ | Fotoğraflar (Unsplash License; kaynaklar monorepo booking-page/template/assets/README.md) |
Renkler ve fontlar Klinara iOS uygulamasının (Assets.xcassets) ve web panelinin token'larıyla aynıdır.
Açık temada uzun metin için muted ve accent tonları, erişilebilirlik (WCAG AA) için bir kademe koyudur;
gerekçesi app/app.css içinde yazıyor.
content/blog/ altına <slug>.md dosyası ekleyin. Dosya adı yazının adresi olur (/blog/<slug>).
_ ile başlayan dosyalar yayımlanmaz (taslak).
---
title: "Başlık"
description: "Arama sonuçlarında ve kartlarda görünen kısa özet."
date: 2026-10-01
segment: dis # dis | estetik | guzellik
cover: "/photos/konsultasyon.webp" # ya da "screen:whatsapp-thread"
author: "Klinara Ekibi" # isteğe bağlı
---
Giriş paragrafı...
## Ara başlık (içindekiler listesine girer)
Build frontmatter'ı doğrular; eksik ya da hatalı alan varsa hangi dosyada olduğunu söyleyerek durur.
Yeni yazı sitemap (/sitemap.xml) ve RSS'e (/rss.xml) kendiliğinden eklenir.
Görüntüler iOS uygulamasının mock verisiyle simülatörden alınır; gerçek müşteri verisi içermez.
klinara-ios projesini geçici bir kopyada mock moda alın:
App/klinara_iosApp.swift içinde ServiceContainer.live() yerine
ServiceContainer.mock(scenario: .passwordOnly, data: .conflictHeavy).
Kopyayı ayrı bir bundle id ile derleyin (PRODUCT_BUNDLE_IDENTIFIER=com.klinara-ios.screens),
böylece kurulu uygulamanız etkilenmez.xcrun simctl status_bar booted override --time 09:41 --batteryState charged --batteryLevel 100 --wifiBars 3 --cellularBars 4app/config/screens.ts ile aynı olmalı):
xcrun simctl ui booted appearance light
xcrun simctl io booted screenshot --mask=alpha assets/screens-raw/light/<ad>.png
xcrun simctl ui booted appearance dark
xcrun simctl io booted screenshot --mask=alpha assets/screens-raw/dark/<ad>.png
pnpm screens ile WebP'leri üretin (public/screens/). Ham PNG'ler git'e girmez.xcrun simctl status_bar booted clear ile simülatörü eski haline getirin.Online randevu görselleri (Özellikler bölümündeki tarayıcı + telefon) simülatörden değil,
canlı randevu sayfasından (demo-klinik.klinara.app, demo kiracı) çekilir:
pnpm capture:booking # assets/screens-raw/web/booking.png + {light,dark}/online-booking.png
pnpm screens
Masaüstü Türkçe (dil menüsü açık), telefon İngilizce. Saat seçimindeki tutma isteği tarayıcıda
sahte yanıtla karşılanır; canlıya hiçbir yazma isteği gitmez. Adres çubuklarındaki alan adı
(randevu.kliniginiz.com) temsilîdir: masaüstünde app/components/browser.tsx, telefonda script'teki
DOMAIN. Yüklü Google Chrome gerekir.
pnpm brand marka görsellerini (public/brand, favicon, og.png) assets/brand/klinara-logo-source.png
kaynağından yeniden üretir.
klinara.app bu sitedir ve Cloudflare Pages'te yayınlanır. Kök alan adındaki
randevu yolları ise monorepo'daki web-booking uygulamasına (VPS) aittir; onları
functions/[[path]].ts aktarır.
| Yol | Nereden |
|---|---|
/, /blog/*, /sitemap.xml, /rss.xml, varlıklar | Pages (statik, build/client) |
/randevu, /r/*, /api/*, /_next/*, /preview.frame | Pages Function → ORIGIN_URL (VPS, web-booking) |
Function'ın hangi yollarda çalışacağını public/_routes.json belirler; diğer istekler
fonksiyonu hiç tetiklemez (ücretsiz plandaki günlük Function kotası yalnız randevu
trafiğine harcanır). Uygulamaya bu yollarla çakışan bir rota eklemeyin.
pnpm build, çıktı dizini build/client, kök dizin boş.
functions/ klasörü otomatik algılanır.NODE_VERSION = 24ORIGIN_URL = https://origin.klinara.appORIGIN_SHARED_SECRET = Secret olarak; VPS'teki Caddy'nin
ORIGIN_SHARED_SECRET değeriyle aynı (openssl rand -hex 32).klinara.app ve www.klinara.app ekleyin. Alan adı aynı
Cloudflare hesabındaysa DNS kayıtları otomatik oluşur (turuncu bulut).www → kök yönlendirmesi: Rules → Redirect Rules →
www.klinara.app/* → https://klinara.app/${1} (301).VPS tarafı (origin.klinara.app, Caddy, sır doğrulaması) monorepo'da
.claude/DEPLOY.md Bölüm 11 ve 12'de.
curl -sI https://klinara.app | head -1 # 200, Pages
curl -sI 'https://klinara.app/randevu?klinik=olmayan' | head -1 # 404, web-booking'den
curl -s -o /dev/null -w '%{http_code}\n' https://origin.klinara.app/randevu # 403 (sırsız)
public/_headers önbellek başlıklarını, build/client/404.html bulunamayan sayfaları karşılar.
vercel.jsonvewrangler.jsonceski alternatiflerdir; kök alan adındaki randevu yollarını aktarmazlar. Canlı yayın için kullanmayın.
app/config/site.ts: contactEmail ve adminUrl adreslerini doğrulayın.app/config/pricing.ts: plan limitleri (şube ve uygulayıcı sayıları) öneri niteliğindedir.content/blog/estetik-kliniklerde-kvkk-ve-onam.md) genel bilgilendirmedir; bir hukukçuya
okutmanız önerilir.