Oryantasyon Kılavuzları, Mimari Haritaları ve Canlı Metrikler üretin. Legacy kodunuzu anında net bir bilgi tabanına dönüştürün.
Şunlarla inşa edilen projeleri belgeleyin:
export async function processSub(uId: string, plan: string) {
const user = await db.user.findById(uId);
if (!user.isActive) throw new Error("403");
if (user.sub === plan) return null;
const price = PRICING[plan];
// Charge the user
await stripe.charges.create({
amount: price * 100,
currency: 'usd',
customer: user.stripeId
});
await db.user.update(uId, { sub: plan, status: 'active' });
await email.sendWelcome(user.email, plan);
return true;
}/**
* Upgrades user subscription and handles payment processing.
*
* @description
* 1. Verifies user status (must be active).
* 2. Deduplicates requests (returns null if already on plan).
* 3. Charges card via Stripe and updates local DB.
*
* @param {string} uId - Internal user UUID.
* @param {string} plan - Target plan ID (e.g., 'PRO_YEARLY').
* @throws {Error} "403" if user is suspended/inactive.
* @returns {Promise<boolean|null>} True on success, null if no change needed.
*
* @example
* try {
* await processSub("user_123", "ENTERPRISE");
* } catch (err) {
* logger.error("Payment failed", err);
* }
*/
export async function processSub(uId: string, plan: string) {
const user = await db.user.findById(uId);
if (!user.isActive) throw new Error("403"); // User suspended
if (user.sub === plan) return null; // Already subscribed
const price = PRICING[plan];
// Charge the user
await stripe.charges.create({
amount: price * 100, // Convert to cents
currency: 'usd',
customer: user.stripeId
});
// Update db and send email
await db.user.update(uId, { sub: plan, status: 'active' });
await email.sendWelcome(user.email, plan);
return true;
}Ağır işi asenkron olarak biz hallederiz. Siz sonucu anında alırsınız.
Kod tabanınızı net ve güncel dokümantasyona dönüştürmek için ihtiyacınız olan her şey.
CI/CD hattınıza doğrudan entegre olun veya tek bir komutla yerel olarak çalıştırın.
Dokümantasyon kapsamını ve kalitesini zaman içinde takip edin. Belgelenmemiş modülleri anında belirleyin.
Sadece tahmin etmiyoruz. Kod yapınızı doğru anlamak için AST'yi ayrıştırıyoruz.
Kodunuz asla modellerimizi eğitmez. SOC2 Type II uyumlu altyapı.
Markdown, PDF, Notion'a dışa aktarın veya otomatik olarak statik bir site olarak yayınlayın.
Teknik borcu takip edin, "Bus Factor" risklerini belirleyin ve kod tabanı karmaşıklığını zaman içinde görselleştirin.
Bus Factor
1.2Kritik Risk: `auth/core` modülü
Bakım Kolaylığı
A+Üst düzey genel bakıştan alt düzey bayt manipülasyonuna kadar. Ekibinizin ihtiyaç duyduğu her biçimi üretiriz.
Kök dizininize basit bir yapılandırma dosyası bırakın. Ayrıştırmayı, token limitlerini ve prompt mühendisliğini otomatik olarak hallederiz.
{
"project": "my-awesome-saas",
"entry": ["src/**/*.ts"],
"exclude": ["**/*.spec.ts"],
"output": {
"modes": ["onboarding", "technical", "migration-guide"],
"metrics": true,
"format": "markdown",
"path": "./docs"
},
"metrics": ["complexity", "bus-factor"]
}Açık kaynak ve yan projeler için
Ücretsiz BaşlaProfesyonel geliştiriciler için
Pro'ya GeçMühendislik ekipleri için
Satışla İletişime Geç