stubs and website

This commit is contained in:
Paul Bakaus
2025-11-16 18:52:23 -08:00
parent 7ba3f3fffd
commit 89d179143b
132 changed files with 18585 additions and 50 deletions
+5 -1
View File
@@ -19,6 +19,7 @@ import {
transformGemini,
transformCodex
} from './lib/transformers/index.js';
import { createAllZips } from './lib/zip.js';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
@@ -28,7 +29,7 @@ const DIST_DIR = path.join(ROOT_DIR, 'dist');
/**
* Main build process
*/
function build() {
async function build() {
console.log('🔨 Building cross-provider design plugins...\n');
// Read source files
@@ -41,6 +42,9 @@ function build() {
transformGemini(commands, skills, DIST_DIR);
transformCodex(commands, skills, DIST_DIR);
// Create ZIP bundles
await createAllZips(DIST_DIR);
console.log('\n✨ Build complete!');
}
+61
View File
@@ -0,0 +1,61 @@
/**
* ZIP Generation Utilities
*
* Creates ZIP bundles for each provider's distribution
*/
import { $ } from 'bun';
import path from 'path';
import { existsSync, readdirSync, statSync } from 'fs';
/**
* Create ZIP file for a provider directory
* @param {string} providerDir - Path to provider directory
* @param {string} distDir - Path to dist directory
* @param {string} providerName - Name of the provider
*/
export async function createProviderZip(providerDir, distDir, providerName) {
const zipFileName = `${providerName}.zip`;
const zipPath = path.join(distDir, zipFileName);
// Check if provider directory exists
if (!existsSync(providerDir)) {
console.warn(`⚠️ Provider directory not found: ${providerDir}`);
return;
}
// Remove existing zip if present
if (existsSync(zipPath)) {
await $`rm ${zipPath}`.quiet();
}
try {
// Create zip using bun's shell
// cd into provider dir and zip all contents
await $`cd ${providerDir} && zip -r ../${zipFileName} . -x "*.DS_Store"`.quiet();
// Get file size for reporting
const stats = statSync(zipPath);
const sizeMB = (stats.size / 1024 / 1024).toFixed(2);
console.log(` 📦 ${zipFileName} (${sizeMB} MB)`);
} catch (error) {
console.error(` ❌ Failed to create ${zipFileName}:`, error.message);
}
}
/**
* Create ZIP files for all providers
* @param {string} distDir - Path to dist directory
*/
export async function createAllZips(distDir) {
console.log('\n📦 Creating ZIP bundles...');
const providers = ['cursor', 'claude-code', 'gemini', 'codex'];
for (const provider of providers) {
const providerDir = path.join(distDir, provider);
await createProviderZip(providerDir, distDir, provider);
}
}