Skip to content

Repository files navigation

Maple

Maple is a monorepo for the Maple applications, their OpenSecret SDKs, local proxy, and updater service. The existing web, desktop, and mobile client lives under apps/maple-research/, including Research chat and desktop Agent Mode. Its directory name does not change the shipped Maple application identity.

Components

Path Responsibility
apps/maple-research/ React/Vite frontend and Tauri desktop/mobile application, app documentation, and distribution configuration
apps/maple-agent/ GPUI desktop-v2 prototype, ACP agent, and CLI proxy; independent from the shipped Research app
sdk/ OpenSecret TypeScript/React and Rust SDKs, consumed in tree by Maple
proxy/ Standalone OpenAI-compatible proxy, also consumed by desktop Maple
services/updates/ Desktop updater Worker and verified release-metadata publishing
docs/ Shared deployment documentation
scripts/ and .github/workflows/ Shared validation and release entry points

OpenSecret remains the external backend for confidential authentication, inference, conversations, and related APIs. Its planned import under services/opensecret/ has not happened yet. The GPUI import history and upstream follow-up branches are recorded in the Agent migration note.

Development

Use the pinned Nix environment and run shared commands from the repository root:

nix develop --no-update-lock-file
./setup-hooks.sh
just install
just                    # List recipes
just dev                # Research web development
just desktop-dev        # Research Tauri application, including Agent Mode
just agent-dev          # GPUI Agent app, using its own pinned component shell

Follow the Research setup guide to configure apps/maple-research/frontend/.env.local before starting the app. Preserve existing configuration and externally managed workspace resources. All VITE_* values are public client configuration and must never contain secrets. Root justfile, flake.nix, .agents/, and CI scripts remain shared entry points; use each component's guide for its direct Bun or Cargo commands.

Validation and releases

Use the root agent guide for shared policy and the Research validation guide or component README for the checks affected by a change. Report unit tests, builds, runtime smoke tests, and deployed behavior separately.

Production-shaped master builds and GitHub Releases are production actions. A master push that changes app inputs can upload an iOS build to TestFlight; a GitHub Release starts cross-platform packaging and downstream publication. Use the release procedure only for authorized release work. The Pages guide documents preview and production deployment profiles and controls.

Keep changes focused, preserve compatibility at public and installed-client boundaries, and report the exact checks and runtime paths exercised before opening a pull request.

About

Maple - Private AI Chat

Resources

Stars

92 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages