Barcha loyihalar

DevCommons

Dasturchilar va AI bilan ishlaydiganlar uchun kod parchalari, promtlar va agent konfiguratsiyalarini bir joyda saqlab, ulashadigan platforma.

Mening rolim
Next.js frontend, Supabase ma'lumotlar bazasi va autentifikatsiya, REST API, CLI va MCP serveri
Davri
2026-yil iyul — sentabr
DevCommons
Commit217
Kod hajmi~15 800 qator TS/TSX
Ma'lumotlar bazasi20 jadval, 92 RLS siyosati
TestlarJest + GitHub Actions CI
TillarO'zbekcha va inglizcha

Muammo

Dasturchining foydali kod parchalari, promtlari va AI agent sozlamalari hamma joyda sochilib yotadi: chat tarixida, qaydlarda, gist'larda, eski loyihalarda. Kerak bo'lganda topib bo'lmaydi, boshqaga ulashish esa yana ham qiyin.

So'nggi yillarda bu muammo kengaydi — endi faqat kod emas, promtlar, Cursor qoidalari, Claude konfiguratsiyalari ham xuddi shunday sochilib ketadi. Ularni saqlaydigan umumiy joy yo'q edi.

Nima qurdim

Foydalanuvchi GitHub orqali kiradi, Monaco muharririda kod parchasi yozadi, uni Sandpack'da o'sha zahoti ishlatib ko'radi va til hamda teglar bilan chop etadi. Boshqalar ovoz beradi, saqlaydi, fork qiladi, izoh qoldiradi yoki versiyalar tarixini ko'radi.

Promtlar uchun alohida "playground" bor: promt ichidagi {{o'zgaruvchi}} joylarini to'ldirib, natijani darhol ko'rish mumkin.

Kontentni saytdan tashqarida ham olish mumkin — foydalanuvchi API kalit yaratadi va REST API, `devcommons` CLI yoki MCP orqali ulanadi. MCP nuqtasi Claude Desktop va Cursor bilan ishlashi uchun qo'lda yozilgan JSON-RPC server.

Qidiruv Postgres'ning to'liq matnli qidiruvi (tsvector, GIN indeks, pg_trgm) ustida ishlaydi, bildirishnomalar esa Supabase realtime kanali orqali keladi.

Eng qiyin joyi

Eng qiyin qismi texnik emas, foydalanuvchini tushunish bo'ldi. Platforma dasturchilar, AI bilan ishlaydiganlar va vibe coding qiladiganlar uchun. Ularning bugungi og'riqlari nimada — shuni aniqlab, platformani shunga qarab qurish kerak edi, qurish oson bo'lgan narsaga qarab emas.

Texnik tomondan eng ko'p vaqt olgan joy — xavfsizlik va cheklovlar. 20 ta jadval ustiga 92 ta Row Level Security siyosati yozildi. Yo'l davomida jiddiy kamchilik topildi: autentifikatsiyasiz ham yozuv qo'shish mumkin edi. Uni alohida migratsiya bilan yopdim.

Rate limiting serverless muhitda ishlashi kerak edi, lekin yangi dependency qo'shmasdan. Yechim: Upstash Redis'ga bitta HTTP so'rovda INCR + EXPIRE + TTL yuborish, Upstash bo'lmasa xotiradagi Map'ga tushib qolish.

Natija

Platforma to'liq ishlaydi: 217 commit, ~15 800 qator TypeScript, Jest testlari va har PR'da lint → tip tekshiruvi → test → build zanjiri.

Keyingi qadam — kontent. Platforma tayyor, lekin unda hali jamoa to'plagan material yo'q. Keyingi ish texnik emas, odamlarni jalb qilish.

Texnologiyalar

  • Next.js 14
  • TypeScript
  • Supabase (Postgres, RLS, GitHub OAuth)
  • Tailwind CSS
  • Monaco Editor
  • Sandpack
  • next-intl
  • Jest