Skip to content

feat: standard premade config template - #63

Closed
negra1m wants to merge 1 commit into
ubiquity-os:mainfrom
negra1m:bounty/7f1d94c5c577-premade-configs-that-are-hands-off-for-p
Closed

negra1m wants to merge 1 commit into
ubiquity-os:mainfrom
negra1m:bounty/7f1d94c5c577-premade-configs-that-are-hands-off-for-p

Conversation

@negra1m

@negra1m negra1m commented Sep 29, 2026 •

Copy link
Copy Markdown

Resolves #43

What this does

Adds a Standard premade configuration alongside the existing Minimal one, so partners can pick a fully-enabled, hands-off setup without writing any config.

  • static/standard-predefined.json — the standard tier: text-conversation-rewards, command-start-stop and daemon-pricing, mirroring the entries already shipped in minimal-predefined.json, tuned for hands-off use: startRequiresWallet: false, maxConcurrentTasks.member: 10, no requiredLabelsToStart gate, basePriceMultiplier: 1.
  • config-builder.ts — extracts the JSON->YAML template building that Minimal already did inline, now shared by both templates (and unit-testable).
  • New Standard button in the template selector; standard template type wired through configTemplateHandler.
  • Unit tests for the builder (9 tests, 100% coverage on the new module), validating both premade configs produce parseable YAML with the expected plugin count.

Also fixes the cypress-run workflow (broken on every PR since July)

cypress-run has failed for all PRs since 2026-07 with ReferenceError: require is not defined in ES module scope: cypress.config.ts was still CommonJS while the package is type: module. Converted the config to the documented ESM form (import { defineConfig } / export default). Last green run before this was 2026-05-20.

QA

  • yarn build passes (both premade configs are bundled via esbuild defines).
  • yarn test — 9/9 passing.
  • yarn knip — clean; also removed the now-redundant yaml entry from ignoreDependencies (the dependency is now used directly).
  • yarn cspell — clean (premade added to the project words, it is the domain term of this feature).
  • eslint --fix-dry-run on all touched files — clean.
  • Cypress config verified to load as an ES module.

Note for reviewers

The Standard composition mirrors what minimal-predefined.json already ships (including the same public example evmPrivateEncrypted for text-conversation-rewards). If you want a different plugin set or tuning for the standard tier, happy to adjust — the composition is a single JSON file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

premade configs that are hands-off for partners

1 participant