mirror of
https://github.com/johndoe6345789/AutoMetabuilder.git
synced 2026-04-24 13:54:59 +00:00
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.
This commit is contained in:
51
PROMPT.md
Normal file
51
PROMPT.md
Normal file
@@ -0,0 +1,51 @@
|
||||
Always build and test.
|
||||
Maintain the full testing pyramid: unit tests, static analysis,
|
||||
linters, integration tests, and end-to-end coverage.
|
||||
Continuously execute against the roadmap.
|
||||
|
||||
Keep files small and focused.
|
||||
Target <100 LOC per file unless there is a clear and
|
||||
documented reason otherwise.
|
||||
Enforce one responsibility per file.
|
||||
|
||||
Decompose aggressively.
|
||||
Break up large blobs of logic into composable units.
|
||||
Large files are a smell.
|
||||
|
||||
Use structured architecture.
|
||||
Prefer plugin / service / controller patterns with explicit dependency injection.
|
||||
|
||||
Favor declarative designs.
|
||||
Declarative workflows are strongly preferred over imperative glue code.
|
||||
|
||||
Everything as a workflow.
|
||||
If something is not part of a workflow, question whether it should be executed at all.
|
||||
Even complex systems (including game engines) can be expressed this way.
|
||||
|
||||
Eliminate repetition.
|
||||
Loop, parameterize, and abstract instead of copy-pasting similar code.
|
||||
|
||||
Externalize data.
|
||||
If you see a list, map, or configuration embedded in code,
|
||||
it likely belongs in JSON (or equivalent).
|
||||
|
||||
Modular configuration.
|
||||
If JSON files grow large,
|
||||
split them and reference them hierarchically.
|
||||
|
||||
Ship templates, not chores.
|
||||
Package concepts as reusable templates instead of forcing users to configure from scratch.
|
||||
|
||||
Logging is mandatory.
|
||||
Use structured logging with clear
|
||||
levels (DEBUG / INFO / TRACE / ERROR) throughout the system.
|
||||
|
||||
Declarative workflows first.
|
||||
Increase usage wherever possible.
|
||||
|
||||
Innovate continuously.
|
||||
Avoid stagnation; improve structure, clarity, and expressiveness over time.
|
||||
|
||||
Roadmap discipline.
|
||||
If you run out of ROADMAP.md tasks, stop and report.
|
||||
We should reassess priorities before inventing work.
|
||||
@@ -182,8 +182,18 @@
|
||||
"meta.settings.litellm_api_key.description": "Alternative API key if using LiteLLM proxy for multiple LLM providers.",
|
||||
"meta.settings.log_level.label": "Log Level",
|
||||
"meta.settings.log_level.description": "Controls how much detail is written to logs. DEBUG shows everything, ERROR shows only errors.",
|
||||
"meta.settings.log_level.options.trace": "Trace",
|
||||
"meta.settings.log_level.options.debug": "Debug",
|
||||
"meta.settings.log_level.options.info": "Info",
|
||||
"meta.settings.log_level.options.warning": "Warning",
|
||||
"meta.settings.log_level.options.error": "Error",
|
||||
"meta.settings.app_lang.label": "Application Language",
|
||||
"meta.settings.app_lang.description": "Language for bot messages and UI text.",
|
||||
"meta.settings.app_lang.options.en": "English",
|
||||
"meta.settings.app_lang.options.es": "Spanish",
|
||||
"meta.settings.app_lang.options.fr": "French",
|
||||
"meta.settings.app_lang.options.nl": "Dutch",
|
||||
"meta.settings.app_lang.options.pirate": "Pirate",
|
||||
"meta.settings.prompt_path.label": "Prompt File Path",
|
||||
"meta.settings.prompt_path.description": "Path to the YAML file containing the system prompt configuration.",
|
||||
"meta.settings.web_user.label": "Web UI Username",
|
||||
@@ -378,6 +388,16 @@
|
||||
"ui.workflow.templates.loaded": "Template loaded.",
|
||||
"ui.workflow.templates.error": "Unable to load templates.",
|
||||
"ui.workflow.templates.error_load": "Unable to load the selected template.",
|
||||
"ui.workflow.palette.title": "Node Palette",
|
||||
"ui.workflow.palette.search_label": "Find nodes",
|
||||
"ui.workflow.palette.search_placeholder": "Search nodes or keywords...",
|
||||
"ui.workflow.palette.loading": "Loading nodes...",
|
||||
"ui.workflow.palette.empty": "No matching nodes.",
|
||||
"ui.workflow.palette.group.core": "Core",
|
||||
"ui.workflow.palette.group.tools": "Tools",
|
||||
"ui.workflow.palette.group.utils": "Utilities",
|
||||
"ui.workflow.palette.group.control": "Control",
|
||||
"ui.workflow.palette.group.other": "Other",
|
||||
"meta.workflow_packages.blank.label": "Blank Canvas",
|
||||
"meta.workflow_packages.blank.description": "Start with an empty workflow.",
|
||||
"meta.workflow_packages.iterative_loop.label": "Iterative Agent Loop",
|
||||
|
||||
55
src/autometabuilder/web/static/css/workflow_palette.css
Normal file
55
src/autometabuilder/web/static/css/workflow_palette.css
Normal file
@@ -0,0 +1,55 @@
|
||||
.amb-workflow-palette-list {
|
||||
margin-top: 0.75rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 1rem;
|
||||
max-height: 420px;
|
||||
overflow-y: auto;
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
|
||||
.amb-workflow-palette-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.amb-workflow-palette-heading {
|
||||
font-size: 0.7rem;
|
||||
letter-spacing: 0.08em;
|
||||
text-transform: uppercase;
|
||||
color: var(--amb-text-muted);
|
||||
}
|
||||
|
||||
.amb-workflow-palette-items {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.amb-workflow-palette-item {
|
||||
text-align: left;
|
||||
background: var(--amb-bg-secondary);
|
||||
border: 1px solid var(--amb-border-color);
|
||||
border-radius: 0.75rem;
|
||||
padding: 0.6rem 0.75rem;
|
||||
transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
|
||||
}
|
||||
|
||||
.amb-workflow-palette-item:hover {
|
||||
border-color: var(--amb-text-secondary);
|
||||
box-shadow: 0 0.4rem 1rem rgba(0, 0, 0, 0.08);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.amb-workflow-palette-title {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
color: var(--amb-text-primary);
|
||||
}
|
||||
|
||||
.amb-workflow-palette-subtitle {
|
||||
display: block;
|
||||
font-size: 0.75rem;
|
||||
color: var(--amb-text-muted);
|
||||
}
|
||||
Reference in New Issue
Block a user