Merge branch 'main' into codex/split-generator-functions-into-separate-modules

This commit is contained in:
2026-01-18 00:19:35 +00:00
committed by GitHub
72 changed files with 2537 additions and 2756 deletions

View File

@@ -1,4 +1,6 @@
{
"title": "Agents Files",
"subtitle": "AI agent configuration and service architecture",
"overview": "CodeForge uses a modular AI service architecture that integrates OpenAI's GPT models across all features. Each designer has specialized prompts and validation logic to ensure high-quality generated code.",
"coreServices": [
{

View File

@@ -53,62 +53,66 @@
]
}
],
"pipelineStages": [
{
"stage": "Lint",
"description": "ESLint and TypeScript type checking to ensure code quality",
"duration": "~1-2 min"
},
{
"stage": "Test",
"description": "Unit tests with coverage reporting and result artifacts",
"duration": "~2-3 min"
},
{
"stage": "Build",
"description": "Production build with artifact generation for deployment",
"duration": "~2-4 min"
},
{
"stage": "E2E Tests",
"description": "Playwright end-to-end tests with HTML reports",
"duration": "~3-5 min"
},
{
"stage": "Security",
"description": "npm audit and Trivy vulnerability scanning",
"duration": "~1-2 min"
},
{
"stage": "Docker Build",
"description": "Multi-stage Docker image build and push to registry",
"duration": "~3-5 min"
},
{
"stage": "Deploy",
"description": "Automated deployment to staging and production environments",
"duration": "~1-3 min"
}
],
"dockerConfig": {
"pipeline": {
"intro": "All CI/CD configurations follow a similar multi-stage pipeline structure:",
"stages": [
{
"stage": "Lint",
"description": "ESLint and TypeScript type checking to ensure code quality",
"duration": "~1-2 min"
},
{
"stage": "Test",
"description": "Unit tests with coverage reporting and result artifacts",
"duration": "~2-3 min"
},
{
"stage": "Build",
"description": "Production build with artifact generation for deployment",
"duration": "~2-4 min"
},
{
"stage": "E2E Tests",
"description": "Playwright end-to-end tests with HTML reports",
"duration": "~3-5 min"
},
{
"stage": "Security",
"description": "npm audit and Trivy vulnerability scanning",
"duration": "~1-2 min"
},
{
"stage": "Docker Build",
"description": "Multi-stage Docker image build and push to registry",
"duration": "~3-5 min"
},
{
"stage": "Deploy",
"description": "Automated deployment to staging and production environments",
"duration": "~1-3 min"
}
]
},
"docker": {
"files": [
{
"file": "Dockerfile",
"name": "Dockerfile",
"description": "Multi-stage build with Node.js builder and Nginx runtime"
},
{
"file": "nginx.conf",
"name": "nginx.conf",
"description": "Production Nginx configuration with health checks and caching"
},
{
"file": "docker-compose.yml",
"name": "docker-compose.yml",
"description": "Local development and deployment orchestration"
},
{
"file": ".dockerignore",
"name": ".dockerignore",
"description": "Optimized build context by excluding unnecessary files"
}
],
"commands": "# Build image locally\ndocker build -t codeforge:local .\n\n# Run container\ndocker run -p 3000:80 codeforge:local\n\n# Use docker-compose\ndocker-compose up -d\n\n# Pull from registry\ndocker pull ghcr.io/<username>/<repo>:latest",
"features": [
"Multi-stage build reduces final image size to ~50MB",
"Nginx serves static files with gzip compression",
@@ -121,54 +125,54 @@
{
"variable": "NODE_VERSION",
"description": "Node.js version (default: 20)",
"required": false
"required": "No"
},
{
"variable": "REGISTRY",
"description": "Docker registry URL (default: ghcr.io)",
"required": false
"required": "No"
},
{
"variable": "STAGING_WEBHOOK_URL",
"description": "Webhook for staging deployments",
"required": false
"required": "Optional"
},
{
"variable": "PRODUCTION_WEBHOOK_URL",
"description": "Webhook for production deployments",
"required": false
"required": "Optional"
},
{
"variable": "CODECOV_TOKEN",
"description": "Codecov integration token",
"required": false
"required": "Optional"
},
{
"variable": "SLACK_WEBHOOK",
"description": "Slack webhook for notifications",
"required": false
"required": "Optional"
}
],
"branchStrategy": [
"branches": [
{
"branch": "main",
"name": "main",
"description": "Production branch - deploys to production environment (manual approval required)",
"color": "green"
"tone": "green"
},
{
"branch": "develop",
"name": "develop",
"description": "Development branch - automatically deploys to staging environment",
"color": "blue"
"tone": "blue"
},
{
"branch": "feature/*",
"name": "feature/*",
"description": "Feature branches - runs tests only, no deployment",
"color": "purple"
"tone": "purple"
},
{
"branch": "v* tags",
"name": "v* tags",
"description": "Version tags - triggers release workflow with artifacts and changelog",
"color": "orange"
"tone": "orange"
}
],
"quickStart": [
@@ -203,25 +207,25 @@
"Use semantic versioning for releases (v1.0.0, v1.1.0, etc.)",
"Configure Slack or email notifications for deployment status"
],
"additionalResources": [
"resources": [
{
"file": "CI_CD_GUIDE.md",
"label": "CI_CD_GUIDE.md",
"description": "Detailed setup guide for all platforms"
},
{
"file": ".github/workflows/",
"label": ".github/workflows/",
"description": "GitHub Actions workflows"
},
{
"file": ".gitlab-ci.yml",
"label": ".gitlab-ci.yml",
"description": "GitLab CI configuration"
},
{
"file": "Jenkinsfile",
"label": "Jenkinsfile",
"description": "Jenkins pipeline definition"
},
{
"file": ".circleci/config.yml",
"label": ".circleci/config.yml",
"description": "CircleCI configuration"
}
]

View File

@@ -31,7 +31,7 @@
"installation": {
"desktop": [
{
"platform": "Chrome/Edge/Brave",
"title": "Chrome/Edge/Brave:",
"steps": [
"Look for install icon (⊕) in address bar",
"Click \"Install\" or use prompt in app",
@@ -39,7 +39,7 @@
]
},
{
"platform": "Safari (macOS)",
"title": "Safari (macOS):",
"steps": [
"Click File → Add to Dock",
"App appears in Dock"
@@ -48,15 +48,15 @@
],
"mobile": [
{
"platform": "iOS (Safari)",
"title": "iOS (Safari):",
"steps": [
"Tap Share button",
"Select \"Add to Home Screen\"",
"Confirm installation"
"Tap \"Add\""
]
},
{
"platform": "Android (Chrome)",
"title": "Android (Chrome):",
"steps": [
"Tap menu (three dots)",
"Select \"Install app\"",
@@ -87,7 +87,7 @@
"description": "Install pending updates when new versions are available"
}
],
"offlineCapabilities": {
"offline": {
"worksOffline": [
"View and edit existing projects",
"Browse files and code",

View File

@@ -1,4 +1,6 @@
{
"title": "Product Roadmap",
"subtitle": "Features delivered and planned for CodeForge development",
"completed": [
{
"title": "Monaco Code Editor Integration",

View File

@@ -27,7 +27,13 @@
"components": [
{
"name": "Buttons",
"classes": ["mui-custom-button--primary", "mui-custom-button--secondary", "mui-custom-button--accent", "mui-custom-button--outline", "mui-custom-button--ghost"],
"classes": [
"mui-custom-button--primary",
"mui-custom-button--secondary",
"mui-custom-button--accent",
"mui-custom-button--outline",
"mui-custom-button--ghost"
],
"description": "Custom styled buttons with hover effects and variants"
},
{
@@ -78,56 +84,62 @@
],
"layoutComponents": [
{
"name": "custom-mui-container",
"title": "custom-mui-container",
"description": "Max-width container with responsive padding"
},
{
"name": "custom-mui-grid",
"title": "custom-mui-grid",
"description": "CSS Grid layouts with responsive columns (--cols-1 to --cols-12, --responsive)"
},
{
"name": "custom-mui-flex",
"title": "custom-mui-flex",
"description": "Flexbox utilities (--row, --col, --wrap, --center, --between, --around)"
},
{
"name": "custom-mui-stack",
"title": "custom-mui-stack",
"description": "Vertical/horizontal stacks with configurable gaps"
},
{
"name": "custom-mui-surface",
"title": "custom-mui-surface",
"description": "Interactive surfaces with elevation and hover effects"
}
],
"utilities": [
{
"name": "@include respond-to($breakpoint)",
"title": "Responsive Design",
"mixin": "@include respond-to($breakpoint)",
"description": "Generate media queries for xs, sm, md, lg, xl, 2xl breakpoints",
"example": "@include respond-to('lg') {\n padding: 2rem;\n}"
"snippet": "@include respond-to('lg') {\n padding: 2rem;\n}"
},
{
"name": "@include elevation($level)",
"title": "Elevation & Shadows",
"mixin": "@include elevation($level)",
"description": "Apply box shadows with levels 1-4",
"example": "@include elevation(2);"
"snippet": "@include elevation(2);"
},
{
"name": "@include glassmorphism($blur, $opacity)",
"title": "Glassmorphism",
"mixin": "@include glassmorphism($blur, $opacity)",
"description": "Create frosted glass effects with backdrop blur",
"example": "@include glassmorphism(16px, 0.1);"
"snippet": "@include glassmorphism(16px, 0.1);"
},
{
"name": "get-color($palette, $shade)",
"title": "Color Functions",
"mixin": "get-color($palette, $shade)",
"description": "Access colors from predefined palettes (primary, secondary, accent, success, error, warning)",
"example": "color: get-color('primary', 500);"
"snippet": "color: get-color('primary', 500);"
},
{
"name": "@include truncate($lines)",
"title": "Text Truncation",
"mixin": "@include truncate($lines)",
"description": "Truncate text with ellipsis after specified lines",
"example": "@include truncate(2);"
"snippet": "@include truncate(2);"
},
{
"name": "@include show-scrollbar($track, $thumb)",
"title": "Custom Scrollbars",
"mixin": "@include show-scrollbar($track, $thumb)",
"description": "Style webkit scrollbars with custom colors",
"example": "@include show-scrollbar(rgba(0,0,0,0.1), rgba(0,0,0,0.3));"
"snippet": "@include show-scrollbar(rgba(0,0,0,0.1), rgba(0,0,0,0.3));"
}
],
"animations": [
@@ -142,6 +154,16 @@
{ "name": "animate-float", "description": "Floating up and down" },
{ "name": "animate-glow", "description": "Glowing shadow effect" }
],
"quickStart": {
"components": {
"title": "Using Custom Components",
"code": "import './styles/main.scss'\n\nfunction MyComponent() {\n return (\n <div className=\"custom-mui-container\">\n <div className=\"custom-mui-grid custom-mui-grid--cols-3\">\n <div className=\"mui-custom-card\">\n <h3>Card Title</h3>\n <p>Card content</p>\n <button className=\"mui-custom-button mui-custom-button--primary\">\n Click Me\n </button>\n </div>\n </div>\n </div>\n )\n}"
},
"mixins": {
"title": "Creating Custom Styles with Mixins",
"code": "@use './styles/utilities' as *;\n@use './styles/variables' as *;\n\n.my-custom-component {\n @include elevation(2);\n @include responsive-padding(spacing('6'));\n background: get-color('primary', 500);\n \n @include respond-to('md') {\n @include elevation(3);\n }\n \n &:hover {\n @include glassmorphism(12px, 0.15);\n }\n}"
}
},
"bestPractices": [
"Import main.scss in your index.css to access all Sass components and utilities",
"Use @use instead of @import for better module encapsulation",