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:
2026-01-09 22:03:05 +00:00
parent 0470cc196c
commit aa47af11f0
3 changed files with 126 additions and 0 deletions

51
PROMPT.md Normal file
View 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.

View File

@@ -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",

View 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);
}