Skip to main content
Glama
system-conf

RestoPromt MCP Server

by system-conf
README.md
# RestoPromt (Açık Kaynak)

Claude Code için **prompt paylaşım platformu**. Kullanıcılar kayıt olup
**Prompt / Agent / Skill / MCP** türünde paylaşımlar ekler; herkes görüntüleyip
kopyalayabilir ve `.md` olarak indirebilir; yalnızca sahibi düzenler/siler,
diğerleri değişiklik önerisi gönderir, sahibi onaylar veya reddeder.

MIT lisansıyla açık kaynaktır — çatallayıp kendi prompt platformunu kurabilirsin.

**Canlı demo:** https://restopromt-web.slovveis.workers.dev

## Özellikler

- Ana sayfada arama, kategori + tür filtreleri
- Tek tıkla kopyalama, akıllı adlandırılmış `.md` indirme
- Çoklu seçim → proje yapısına uygun toplu `.zip` indirme
  (`CLAUDE.md` köke, agent'lar `.claude/agents/`, skill'ler `.claude/skills/<ad>/SKILL.md`)
- Beğeni sistemi
- Değişiklik önerisi akışı (öner → sahibi onaylar/reddeder)
- E-posta/şifre + opsiyonel Google girişi (Auth.js v5, JWT session)
- Admin paneli (`/admin`) — `ADMIN_EMAILS` allowlist ile
- `/komutlar` — aranabilir Claude Code slash komut rehberi (detay sayfalarıyla)
- **MCP sunucusu** — Claude Code'dan doğal dille prompt arayıp projene çekebilirsin

## Teknolojiler

- [Next.js 16](https://nextjs.org) (App Router) + TypeScript
- Tailwind CSS v4 + shadcn/ui (koyu tema)
- Drizzle ORM + [Neon](https://neon.tech) Postgres (HTTP sürücüsü — edge uyumlu)
- Auth.js v5
- Cloudflare Workers + [@opennextjs/cloudflare](https://opennext.js.org/cloudflare)
- Ayrı MCP Worker'ı (Cloudflare Agents SDK `McpAgent`)

## Kurulum

```bash
npm install
cp .env.example .env.local   # DATABASE_URL ve AUTH_SECRET doldur
npm run db:push              # şemayı Neon'a uygula
npm run db:seed              # kategorileri ekle
npm run dev
```

→ http://localhost:3000

### Google ile giriş (opsiyonel)

[Google Cloud Console](https://console.cloud.google.com/apis/credentials)'dan
OAuth client oluştur (redirect URI: `http://localhost:3000/api/auth/callback/google`)
ve `.env.local` içine `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` ekle.
Doldurulduğunda giriş/kayıt sayfalarında Google butonu otomatik görünür.

## Cloudflare'e deploy

```bash
npm run deploy   # web uygulaması (OpenNext build + wrangler deploy)
```

Web worker secret'ları: `DATABASE_URL`, `AUTH_SECRET`, `AUTH_TRUST_HOST`,
`ADMIN_EMAILS` → `npx wrangler secret put <AD>` ile ekle.

### MCP worker

```bash
npx wrangler secret put DATABASE_URL -c mcp-server/wrangler.jsonc
npx wrangler secret put MCP_TOKEN    -c mcp-server/wrangler.jsonc
npx wrangler deploy -c mcp-server/wrangler.jsonc
```

Claude Code'a eklemek için:

```bash
claude mcp add restopromt -s user -t http https://<worker-adresin>/mcp \
  -H "Authorization: Bearer <MCP_TOKEN>"
```

Sunduğu araçlar: `search_prompts` (doğal dil, skorlu arama), `get_prompts`
(toplu tam içerik), `list_prompts`, `get_prompt`, `add_prompt`, `update_prompt`,
`delete_prompt`. Tipik akış: "şu prompt'lar lazım" → search → get → projeye yaz.

## Komutlar

| Komut | Açıklama |
|---|---|
| `npm run dev` | Geliştirme sunucusu |
| `npm run build` | Production build |
| `npm run deploy` | Cloudflare'e build + deploy |
| `npm run preview` | Cloudflare build'ini yerelde önizle |
| `npm run db:push` | Drizzle şemasını veritabanına uygula |
| `npm run db:seed` | Başlangıç kategorilerini ekle |
| `npm run db:studio` | Drizzle Studio (DB arayüzü) |
| `npx wrangler deploy -c mcp-server/wrangler.jsonc` | MCP worker deploy |

## Katkı

PR'lar ve issue'lar memnuniyetle karşılanır. Büyük bir değişiklik öncesi
issue açıp tartışmak iyi olur.

## Lisans

[MIT](LICENSE)

Maintenance

ActivityStale
ResponsivenessNo issues