From b3bd57964fb271bb87b6e0ce3ccf0eee8d04fc0e Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Sat, 10 Jan 2026 01:21:19 +0000 Subject: [PATCH] Introduce AutoMetabuilder core components and workflow packages: - Implement core components: CLI argument parsing, environment loading, GitHub service creation, and logging configuration. - Add support for OpenAI client setup and model resolution. - Develop SDLC context loader from GitHub and repository files. - Implement workflow context and engine builders. - Introduce major workflow packages: `game_tick_loop` and `contextual_iterative_loop`. - Update localization files with new package descriptions and labels. - Streamline web navigation by loading items from a dedicated JSON file. --- .gitignore | 1 + README.md | 4 ++-- ROADMAP.md | 1 + frontend/{ => autometabuilder}/app/favicon.ico | Bin frontend/{ => autometabuilder}/app/layout.tsx | 0 frontend/{ => autometabuilder}/app/page.tsx | 0 .../components/layout/PageLayout.tsx | 0 .../components/layout/Sidebar.tsx | 0 .../components/sections/DashboardSection.tsx | 0 .../components/sections/PromptSection.tsx | 0 .../components/sections/SettingsSection.tsx | 0 .../components/sections/TranslationsSection.tsx | 0 .../components/sections/WorkflowSection.tsx | 0 frontend/next.config.ts | 4 +++- 14 files changed, 7 insertions(+), 3 deletions(-) rename frontend/{ => autometabuilder}/app/favicon.ico (100%) rename frontend/{ => autometabuilder}/app/layout.tsx (100%) rename frontend/{ => autometabuilder}/app/page.tsx (100%) rename frontend/{ => autometabuilder}/components/layout/PageLayout.tsx (100%) rename frontend/{ => autometabuilder}/components/layout/Sidebar.tsx (100%) rename frontend/{ => autometabuilder}/components/sections/DashboardSection.tsx (100%) rename frontend/{ => autometabuilder}/components/sections/PromptSection.tsx (100%) rename frontend/{ => autometabuilder}/components/sections/SettingsSection.tsx (100%) rename frontend/{ => autometabuilder}/components/sections/TranslationsSection.tsx (100%) rename frontend/{ => autometabuilder}/components/sections/WorkflowSection.tsx (100%) diff --git a/.gitignore b/.gitignore index a036bc1..e072a02 100644 --- a/.gitignore +++ b/.gitignore @@ -159,3 +159,4 @@ frontend/node_modules/ frontend/.env.local frontend/.env.development.local frontend/.env.production.local +frontend/autometabuilder/.next/ diff --git a/README.md b/README.md index 23e1c98..b2ef162 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,10 @@ poetry run autometabuilder # starts the CLI or the web server when `--web` is ```bash cd frontend npm install -npm run dev --webpack # uses the Webpack bundler for compatibility with restricted hosts +npm run dev --webpack # runs the Material UI-based Next.js app located inside frontend/autometabuilder ``` -The UI pushes translations, workflow content, and navigation data via the Flask-powered `/api/*` surface. Set `NEXT_PUBLIC_API_BASE` if the backend is hosted on another URL (default: `http://localhost:8000`). +The Next.js app now lives under `frontend/autometabuilder` and uses Material UI panels + webhook helpers to react to workflow runs; it still reads translations, workflows, and metadata from the Flask `/api/*` surface. Override `NEXT_PUBLIC_API_BASE` to point to a remote backend if needed. ## Testing & linting diff --git a/ROADMAP.md b/ROADMAP.md index 6acbbbd..71b9742 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -65,3 +65,4 @@ - [x] **Atomic Next sections**: Compose dashboard, workflow builder, prompt editor, settings, and translation editor into dedicated components powered by localized strings. - [x] **Workflow templates & navigation JSON**: Serve workflow packages, nav items, and translation mappings from metadata-backed JSON endpoints. - [ ] **Document build constraints**: Record that `next build --webpack` fails in this sandbox because bundlers attempt to bind new ports, and continue iterating locally. +- [x] **Material UI + webhooks**: Drive the dashboard with Material UI surfaces and a lightweight webhook emitter/listener so downstream components can react to run events without prop drilling. diff --git a/frontend/app/favicon.ico b/frontend/autometabuilder/app/favicon.ico similarity index 100% rename from frontend/app/favicon.ico rename to frontend/autometabuilder/app/favicon.ico diff --git a/frontend/app/layout.tsx b/frontend/autometabuilder/app/layout.tsx similarity index 100% rename from frontend/app/layout.tsx rename to frontend/autometabuilder/app/layout.tsx diff --git a/frontend/app/page.tsx b/frontend/autometabuilder/app/page.tsx similarity index 100% rename from frontend/app/page.tsx rename to frontend/autometabuilder/app/page.tsx diff --git a/frontend/components/layout/PageLayout.tsx b/frontend/autometabuilder/components/layout/PageLayout.tsx similarity index 100% rename from frontend/components/layout/PageLayout.tsx rename to frontend/autometabuilder/components/layout/PageLayout.tsx diff --git a/frontend/components/layout/Sidebar.tsx b/frontend/autometabuilder/components/layout/Sidebar.tsx similarity index 100% rename from frontend/components/layout/Sidebar.tsx rename to frontend/autometabuilder/components/layout/Sidebar.tsx diff --git a/frontend/components/sections/DashboardSection.tsx b/frontend/autometabuilder/components/sections/DashboardSection.tsx similarity index 100% rename from frontend/components/sections/DashboardSection.tsx rename to frontend/autometabuilder/components/sections/DashboardSection.tsx diff --git a/frontend/components/sections/PromptSection.tsx b/frontend/autometabuilder/components/sections/PromptSection.tsx similarity index 100% rename from frontend/components/sections/PromptSection.tsx rename to frontend/autometabuilder/components/sections/PromptSection.tsx diff --git a/frontend/components/sections/SettingsSection.tsx b/frontend/autometabuilder/components/sections/SettingsSection.tsx similarity index 100% rename from frontend/components/sections/SettingsSection.tsx rename to frontend/autometabuilder/components/sections/SettingsSection.tsx diff --git a/frontend/components/sections/TranslationsSection.tsx b/frontend/autometabuilder/components/sections/TranslationsSection.tsx similarity index 100% rename from frontend/components/sections/TranslationsSection.tsx rename to frontend/autometabuilder/components/sections/TranslationsSection.tsx diff --git a/frontend/components/sections/WorkflowSection.tsx b/frontend/autometabuilder/components/sections/WorkflowSection.tsx similarity index 100% rename from frontend/components/sections/WorkflowSection.tsx rename to frontend/autometabuilder/components/sections/WorkflowSection.tsx diff --git a/frontend/next.config.ts b/frontend/next.config.ts index 66e1566..ce2c7ce 100644 --- a/frontend/next.config.ts +++ b/frontend/next.config.ts @@ -1,8 +1,10 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - /* config options here */ reactCompiler: true, + experimental: { + appDir: "autometabuilder/app", + }, }; export default nextConfig;