M0.4 Create oss/wanderer-plugins + WASM SDK scaffold #9
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
public/wanderer#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
New repo
oss/wanderer-plugins; scaffold a plugin fromplugins/sdk; wire a build →.wasm→ runtime-install path. Home for M2 (personal-pace) and future bespoke plugins.Scope caveat (re-read the SDK 2026-07-29): the plugin system is a WASM (Go/TinyGo) framework for trail-provider connectors — import/sync/send (
ListInput/Output,TrailImport,Track,Waypoint,RefreshSession,TrailSend, host-mediated provider HTTP). The existing plugins (komoot/strava/hammerhead) are all data-source connectors. It has no surface for UI features or an analysis service.So the ticket's premise — home for M2 (personal-pace) — does not fit. The personal-pace work is a frontend feature + the separate
trail-analyzebackend, shipped as core fork patches; it cannot be repackaged as a WASM connector plugin. This repo/pipeline is worthwhile only when there is a concrete new provider connector need (import from / export to some service). Recommend re-scoping #9 around an actual connector before doing it; otherwise park it. Not a blocker for anything currently.Scaffold built and verified locally at
~/src/wanderer-plugins(1 commit, ready to push). Contents:example/— minimal trails plugin (list_routes_v1+get_route_detail_v1, no auth/network) to copy as a starting point.Makefile—build/install-local(copiesdist/<id>into a Wanderer data dir'splugins/) /package..forgejo/workflows/build.yml— CI building every plugin to.wasm.github.com/open-wanderer/wanderer/plugins/sdk v0.1.0(no vendoring); local-devreplacedocumented.Verified:
go mod tidy→manifestcheck(valid plugin.json) →tinygo build -target=wasiproducesdist/example/plugin.wasm(245 KB) with both capability exports present in the binary.Blocked step (needs you): creating the repository is denied by the Claude Code auto-mode classifier (reserved for the account owner). To finish:
I defaulted the local scaffold's intent to private; flip to public to match the
publicorg whenever you like. Once pushed I can wire M2 (personal-pace) in here.