mirror of
https://github.com/johndoe6345789/low-code-react-app-b.git
synced 2026-04-25 14:14:57 +00:00
Merge branch 'main' into codex/split-generator-functions-into-separate-modules
This commit is contained in:
@@ -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": [
|
||||
{
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"title": "Product Roadmap",
|
||||
"subtitle": "Features delivered and planned for CodeForge development",
|
||||
"completed": [
|
||||
{
|
||||
"title": "Monaco Code Editor Integration",
|
||||
|
||||
@@ -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",
|
||||
|
||||
36
src/data/favicon-designer-presets.json
Normal file
36
src/data/favicon-designer-presets.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"presetSizes": [16, 32, 48, 64, 128, 256, 512],
|
||||
"elementTypes": [
|
||||
{ "value": "circle", "label": "Circle" },
|
||||
{ "value": "square", "label": "Square" },
|
||||
{ "value": "triangle", "label": "Triangle" },
|
||||
{ "value": "star", "label": "Star" },
|
||||
{ "value": "heart", "label": "Heart" },
|
||||
{ "value": "polygon", "label": "Polygon" },
|
||||
{ "value": "text", "label": "Text" },
|
||||
{ "value": "emoji", "label": "Emoji" }
|
||||
],
|
||||
"defaultDesign": {
|
||||
"id": "default",
|
||||
"name": "My Favicon",
|
||||
"size": 128,
|
||||
"backgroundColor": "#7c3aed",
|
||||
"elements": [
|
||||
{
|
||||
"id": "1",
|
||||
"type": "text",
|
||||
"x": 64,
|
||||
"y": 64,
|
||||
"width": 100,
|
||||
"height": 100,
|
||||
"color": "#ffffff",
|
||||
"rotation": 0,
|
||||
"text": "CF",
|
||||
"fontSize": 48,
|
||||
"fontWeight": "bold"
|
||||
}
|
||||
],
|
||||
"createdAt": 0,
|
||||
"updatedAt": 0
|
||||
}
|
||||
}
|
||||
120
src/data/project-settings.json
Normal file
120
src/data/project-settings.json
Normal file
@@ -0,0 +1,120 @@
|
||||
{
|
||||
"header": {
|
||||
"title": "Project Settings",
|
||||
"description": "Configure Next.js and npm settings"
|
||||
},
|
||||
"tabs": {
|
||||
"nextjs": "Next.js Config",
|
||||
"packages": "NPM Packages",
|
||||
"scripts": "Scripts",
|
||||
"data": "Data"
|
||||
},
|
||||
"nextjs": {
|
||||
"application": {
|
||||
"title": "Application Settings",
|
||||
"description": "Basic Next.js application configuration",
|
||||
"fields": {
|
||||
"appName": {
|
||||
"label": "Application Name",
|
||||
"placeholder": "my-nextjs-app"
|
||||
},
|
||||
"importAlias": {
|
||||
"label": "Import Alias",
|
||||
"placeholder": "@/*",
|
||||
"helper": "Used for module imports (e.g., import { Button } from \"@/components\")"
|
||||
}
|
||||
}
|
||||
},
|
||||
"features": {
|
||||
"title": "Features",
|
||||
"description": "Enable or disable Next.js features",
|
||||
"items": {
|
||||
"typescript": {
|
||||
"label": "TypeScript",
|
||||
"description": "Use TypeScript for type safety"
|
||||
},
|
||||
"eslint": {
|
||||
"label": "ESLint",
|
||||
"description": "Code linting and formatting"
|
||||
},
|
||||
"tailwind": {
|
||||
"label": "Tailwind CSS",
|
||||
"description": "Utility-first CSS framework"
|
||||
},
|
||||
"srcDirectory": {
|
||||
"label": "Use src/ Directory",
|
||||
"description": "Organize code inside src/ folder"
|
||||
},
|
||||
"appRouter": {
|
||||
"label": "App Router",
|
||||
"description": "Use the new App Router (vs Pages Router)"
|
||||
},
|
||||
"turbopack": {
|
||||
"label": "Turbopack (Beta)",
|
||||
"description": "Faster incremental bundler"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"packages": {
|
||||
"title": "NPM Packages",
|
||||
"description": "Manage project dependencies",
|
||||
"packageManager": {
|
||||
"label": "Package Manager"
|
||||
},
|
||||
"dependencies": {
|
||||
"title": "Dependencies",
|
||||
"empty": "No dependencies added yet"
|
||||
},
|
||||
"devDependencies": {
|
||||
"title": "Dev Dependencies",
|
||||
"empty": "No dev dependencies added yet"
|
||||
},
|
||||
"dialog": {
|
||||
"title": {
|
||||
"add": "Add Package",
|
||||
"edit": "Edit Package"
|
||||
},
|
||||
"description": "Configure npm package details",
|
||||
"fields": {
|
||||
"name": {
|
||||
"label": "Package Name",
|
||||
"placeholder": "e.g., react-query, axios"
|
||||
},
|
||||
"version": {
|
||||
"label": "Version",
|
||||
"placeholder": "latest, ^1.0.0, ~2.3.4"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description (Optional)",
|
||||
"placeholder": "What is this package for?"
|
||||
},
|
||||
"devDependency": {
|
||||
"label": "Development Dependency"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"title": "NPM Scripts",
|
||||
"description": "Define custom commands for your project",
|
||||
"empty": "No scripts defined yet",
|
||||
"dialog": {
|
||||
"title": {
|
||||
"add": "Add Script",
|
||||
"edit": "Edit Script"
|
||||
},
|
||||
"description": "Define a custom npm script command",
|
||||
"fields": {
|
||||
"name": {
|
||||
"label": "Script Name",
|
||||
"placeholder": "e.g., dev, build, test"
|
||||
},
|
||||
"command": {
|
||||
"label": "Command",
|
||||
"placeholder": "e.g., next dev, tsc --noEmit"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user