Skip to content

MVP#1

Merged
marksftw merged 4 commits intoOpenSecretCloud:update/040from
aldum:update/040
Jan 29, 2026
Merged

MVP#1
marksftw merged 4 commits intoOpenSecretCloud:update/040from
aldum:update/040

Conversation

@aldum
Copy link
Contributor

@aldum aldum commented Jan 27, 2026

Summary by CodeRabbit

  • Changes

    • Service rebranded to Maple Proxy (id/title, image and metadata updated)
    • Public name updated to maple-proxy-startos
    • Interface exposed as API (formerly Web UI)
    • Default service port changed to 8080
    • Startup and health output simplified to reflect Maple Proxy
  • Documentation

    • Instructions rewritten for Maple Proxy with updated docs link and usage guidance
  • Chores

    • Added a TypeScript/JS check step to the build workflow
    • SDK dependency version bumped

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 27, 2026

📝 Walkthrough

Walkthrough

Project repurposed from "Hello World" to "Maple Proxy": manifest identity, image, environment/config, interface type, port, package metadata, Makefile target, and documentation updated to reflect a local API proxy implementation.

Changes

Cohort / File(s) Summary
Build & Manifest Metadata
Makefile, package.json, startos/manifest.ts
Added check-ts Makefile target; renamed package to maple-proxy-startos; bumped @start9labs/start-sdk version; updated manifest id/title/repos/sites/docs/donation, descriptions, image key and Docker tag to ghcr.io/opensecretcloud/maple-proxy:0.1.5.
Daemon & Runtime Configuration
startos/main.ts, startos/utils.ts
Switched daemon image to maple-proxy, removed previous subcontainer/volume mounts, introduced proxyEnv (MAPLE_HOST, MAPLE_PORT, MAPLE_ENABLE_CORS, optional MAPLE_API_KEY), useEntrypoint execution, changed readiness messages, and exported uiPort from 808080.
Interfaces
startos/interfaces.ts
Changed created interface from UI to API: name → "API", idapi, cleared description, and typeapi.
Documentation
docs/instructions.md
Rewrote docs to describe Maple Proxy usage and configuration (API key via Authorization header), removed template repo-creation steps, and pointed to external Maple Proxy documentation URL.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped from Hello to Maple skies,
Env keys tucked where secrets lie,
New image pulled, the port’s now known,
A proxy hums where seeds were sown,
🍁 Soft applause — a rabbit’s tiny sigh.

🚥 Pre-merge checks | ✅ 1 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'MVP' is too vague and generic to convey meaningful information about the changeset, which comprehensively transforms a Hello World template into a Maple Proxy service. Use a descriptive title such as 'Transform Hello World template to Maple Proxy service' or 'Update service configuration for Maple Proxy MVP' to clearly communicate the primary changes.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
startos/manifest.ts (1)

14-17: Description still references Hello World.

The description fields still describe "Hello World" as a template service, but this is now the Maple Proxy service. Update to accurately describe Maple Proxy.

Proposed fix
  description: {
-   short: 'Bare bones example of a StartOS service',
-   long: 'Hello World is a template service that provides examples of basic StartOS features.',
+   short: 'AI proxy service for Maple',
+   long: 'Maple Proxy provides a local API proxy for AI services.',
  },
🤖 Fix all issues with AI agents
In `@Makefile`:
- Around line 87-88: Add the new non-file Makefile target check-ts to the .PHONY
declaration so make treats it as a phony target; update the .PHONY line (the
existing declaration near the top) to include check-ts alongside the other phony
targets so the check-ts rule (the target named check-ts that depends on
javascript/index.js and runs npm run check) is always executed rather than being
treated as a file.

In `@startos/main.ts`:
- Around line 17-20: Fix the typo and remove/restore the dead placeholder:
change the comment token "@TOOD" to "@TODO" and replace the hardcoded const
apiKey = undefined with a real retrieval (e.g., read from environment/config) or
remove the unused block entirely; if you intend to set the key, obtain the value
into apiKey and keep the conditional that assigns proxyEnv.MAPLE_API_KEY when
apiKey is truthy (refer to symbols apiKey and proxyEnv.MAPLE_API_KEY in
main.ts).

In `@startos/manifest.ts`:
- Around line 12-13: The docsUrl field in the manifest currently points to the
Hello World instructions; update the docsUrl value in manifest.ts (the docsUrl
constant/property) to the correct Maple Proxy documentation URL so the manifest
directs users to the Maple Proxy instructions instead of the hello-world-startos
repo.
🧹 Nitpick comments (4)
package.json (1)

2-2: Consider updating the package name to match the new service identity.

The package name remains hello-world-startos while the manifest id has been updated to maple-proxy. Consider updating this for consistency.

startos/utils.ts (1)

1-1: Port change is appropriate; consider renaming for consistency.

Port 8080 is suitable for an API/proxy service. Since the interface has been renamed from "UI" to "API", consider renaming this variable to apiPort for consistency across the codebase.

startos/main.ts (1)

37-38: Generic health check messages reduce observability.

The success/error messages 'OK' and 'Error' are less descriptive than typical health check messages. Consider providing more context for debugging.

Suggested improvement
        fn: () =>
          sdk.healthCheck.checkPortListening(effects, uiPort, {
-          successMessage: 'OK',
-          errorMessage: 'Error',
+          successMessage: 'Maple Proxy is ready',
+          errorMessage: 'Maple Proxy is not responding',
          }),
startos/interfaces.ts (1)

5-6: Consider renaming variables for consistency.

Variables uiMulti, uiMultiOrigin, and uiReceipt still use the 'ui' prefix. Consider renaming to apiMulti, apiMultiOrigin, and apiReceipt for consistency with the API-focused changes.

- Update wrapperRepo, docsUrl, and descriptions in manifest
- Rename package to maple-proxy-startos
- Replace template instructions with Maple Proxy docs
- Fix @TOOD typo
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Fix all issues with AI agents
In `@docs/instructions.md`:
- Around line 13-15: Wrap the bare URL on the line under the "## Documentation"
heading in angle brackets or convert it to a Markdown link (e.g.,
<https://blog.trymaple.ai/maple-proxy-documentation/> or [Maple Proxy
Docs](https://blog.trymaple.ai/maple-proxy-documentation/)) to satisfy MD034 and
remove the lint warning.

In `@package.json`:
- Line 9: The package.json lists "@start9labs/start-sdk": "0.4.0-beta.47" which
does not exist on npm; update the dependency spec to a published version (e.g.,
"0.4.0-beta.41") or change the spec to a valid git/private registry reference
(git+ssh/git+https URL or scoped registry entry) so npm install can resolve the
"@start9labs/start-sdk" dependency.

In `@startos/main.ts`:
- Around line 34-38: The health check uses checkPortListening(effects, uiPort,
...) but proxyEnv (the environment passed to the Maple Proxy daemon) doesn't set
a port, so the proxy may not listen on uiPort; update the proxyEnv object to
include MAPLE_PORT: '8080' (or the correct port) so the Maple Proxy is
explicitly configured to listen on the same port used by checkPortListening.

- Update instructions with OpenAI API compatibility note
- Convert bare URL to Markdown link
- Add MAPLE_PORT env var to match health check port
@marksftw marksftw merged commit 708aa90 into OpenSecretCloud:update/040 Jan 29, 2026
1 check passed
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.

2 participants