Topolo Developers
Standalone developer application with a public signup entrypoint, the Developers-owned Topolo app store read model, and the authenticated workspace-backed console where publishers manage apps, App Store taxonomy-backed section/category marketing metadata, launcher deep-link exposure, Android/iOS mobile artifacts, submissions, and build requests while internal operators review app submissions, set app visibility/status, manage developer commerce controls, configure app pricing, and track payout readiness from staff-only routes inside the same product.
Documentation Map
What It Is
Standalone developer application with a public signup entrypoint, the Developers-owned Topolo app store read model, and the authenticated workspace-backed console where publishers manage apps, App Store taxonomy-backed section/category marketing metadata, launcher deep-link exposure, Android/iOS mobile artifacts, submissions, and build requests while internal operators review app submissions, set app visibility/status, manage developer commerce controls, configure app pricing, and track payout readiness from staff-only routes inside the same product.
Architecture
Owners: platform-experience
Source repos: PlatformApplications/TopoloDevelopers
Dependencies: topolo-auth, topolo-one, topolo-p2p
Repo shape
- PlatformApplications/TopoloDevelopers/functions/
- PlatformApplications/TopoloDevelopers/index.html
- PlatformApplications/TopoloDevelopers/migrations/
- PlatformApplications/TopoloDevelopers/package-lock.json
- PlatformApplications/TopoloDevelopers/package.json
- PlatformApplications/TopoloDevelopers/postcss.config.cjs
- PlatformApplications/TopoloDevelopers/public/
- PlatformApplications/TopoloDevelopers/scripts/
- PlatformApplications/TopoloDevelopers/src/
- PlatformApplications/TopoloDevelopers/tailwind.config.js
- PlatformApplications/TopoloDevelopers/test/
- PlatformApplications/TopoloDevelopers/topolo.cloudcontrol.json
- PlatformApplications/TopoloDevelopers/tsconfig.json
- PlatformApplications/TopoloDevelopers/tsconfig.node.json
- PlatformApplications/TopoloDevelopers/vite.config.ts
- PlatformApplications/TopoloDevelopers/workers/
- PlatformApplications/TopoloDevelopers/wrangler.toml
Runtime Surfaces
Hosts:
https://developers.topolo.app https://staging.topolo-developers-staging.pages.dev Config: PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml
Main: src/index.ts
Routes: workers.dev or asset-only surface
Config: PlatformApplications/TopoloDevelopers/wrangler.toml
Main: not declared
Routes: workers.dev or asset-only surface
API Reference
Coverage: curated
Source: PlatformApplications/TopoloDevelopers/src/App.tsx
Source exists in repo: yes
Topolo Developers owns its own Pages Functions + D1 backend for authenticated workspace summary, onboarding, app drafts, Android/iOS mobile artifact records, public /api/apps catalog output, Developers-owned /api/store/catalog, /api/store/search, and /api/store/apps/:idOrSlug app store reads for TopoloOne and public store surfaces, app submissions, build requests, transfer codes, internal review workflows, app commerce controls, payout-account state, payout ledger events, P2P capability source records plus the public /api/p2p/capabilities/:id read-through endpoint, scaffold-provisioning routes for authenticated developer self-service, first-party Topolo scaffold registration into the Topolo-owned developer workspace, and per-app launcher quick-link authoring through the signed marketing editor. That D1 schema is now migration-managed from checked-in SQL in the Developers repo rather than being created on request. The app still exposes shared public landing and first-party embedded password-login surfaces at / and /login plus a dedicated public signup handoff at /signup, creates the org-backed developer workspace in Auth during signup, treats that workspace as the publisher boundary for many developer apps, and consumes Auth only for identity, central API-key surfaces, app-switcher entitlements, approved-app registration into the shared service catalog, install/launch authorization, and Auth-hosted end-user OAuth consent for registered third-party clients. The legacy Developers browser consent route forwards to Auth and must not require developer workspace admission. Developer apps now also carry explicit ownerType, portfolio, audience, tenancy, surfaceModel, optional containerAppId, distribution metadata, and launcher quick-link metadata so Topolo first-party platform/personal apps stay distinct from third-party business/personal apps, organization-internal apps stay private to the owning workspace, and the shared launcher can surface publisher-approved deep links without hardcoded per-app command lists. App visibility and mutation resolve from workspace org membership plus per-app owner/editor/viewer membership metadata, owner-issued transfer codes with destination-workspace claim, built-in developer_app API-key resource bindings for approved apps, explicit review:read/review:write permissions for staff-only review routes, explicit commerce:read/commerce:write permissions or Topolo super-admin access for staff-only commerce routes, the production Topolo Technology developer profile and first-party platform plus mobile app rows used to exercise the publisher workflow as Topolo, the Topolo Mobile records for the 22 retained Flutter apps under TopoloMobileApps with finalized app.topolo.mobile.* identifiers and Android APK artifacts published to the shared topolo-apks R2 bucket through apk.topolo.app, cleanup for 8 retired one-off mobile app records, the completed demo-suite developer profile used for platform auth audits, and the repo-level CI gate recorded in CloudControl.
App API page: /reference/apps/topolo-developers
This system currently relies on a curated or README-derived contract surface instead of a source-controlled OpenAPI spec.
Auth and Permissions
Depends on Topolo Auth: yes
Service IDs:
svc_topolo_developers API key scopes
View workspace-owned developer apps
Resource pattern: none
Create and update workspace-owned developer apps
Resource pattern: none
View internal developer commerce controls
Resource pattern: none
Manage developer workspace commerce, marketplace, pricing, payout-account, and payout-ledger state
Resource pattern: none
View Auth-backed API keys and service access
Resource pattern: none
Create and revoke Auth-backed API keys and service access
Resource pattern: none
View internal marketplace operations and launch-readiness controls
Resource pattern: none
Manage internal marketplace operations, launch-readiness status, and featured catalogue placement
Resource pattern: none
View developer build requests created by the current workspace
Resource pattern: none
Create and manage developer build requests for the current workspace
Resource pattern: none
View internal app-submission and build-request review queues
Resource pattern: none
Review app submissions and build requests from the internal staff queue
Resource pattern: none
View developer workspace settings
Resource pattern: none
Manage developer workspace settings
Resource pattern: none
View public catalogue submission state and review notes
Resource pattern: none
Create and resubmit public catalogue submissions
Resource pattern: none
View developer workspace summary and onboarding state
Resource pattern: none
Manage developer workspace onboarding and profile state
Resource pattern: none
Service permissions
apps:read, apps:write, commerce:read, commerce:write, credentials:read, credentials:write, marketplace:read, marketplace:write, requests:read, requests:write, review:read, review:write, settings:read, settings:write, submissions:read, submissions:write, workspace:read, workspace:write
Data Ownership
Binding: DEVELOPERS_DB
Target: ab11dc42-6af0-4026-83ec-def345ca7bd3
Environment: default
Source: PlatformApplications/TopoloDevelopers/wrangler.toml
Binding: MOBILE_ARTIFACTS
Target: topolo-apks
Environment: default
Source: PlatformApplications/TopoloDevelopers/wrangler.toml
Binding: VECTORIZE
Target: topolo-apps
Environment: default
Source: PlatformApplications/TopoloDevelopers/wrangler.toml
Binding: DEVELOPERS_DB
Target: c37c0a93-2bfb-44d9-82b3-9176e5225f70
Environment: preview
Source: PlatformApplications/TopoloDevelopers/wrangler.toml
Binding: VECTORIZE
Target: topolo-apps-staging
Environment: preview
Source: PlatformApplications/TopoloDevelopers/wrangler.toml
Queues / Cron / Workflows
Queue bindings:
No queue bindings were detected.
Cron triggers
*/5 * * * *via PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml
Workflow signals
- cron */5 * * * *
Environment Variables and Bindings
Environment variables:
AUTH_API_URL CATALOG_EMBEDDINGS_URL P2P_API_URL All wrangler bindings
-
DEVELOPERS_DB(d1) -> ab11dc42-6af0-4026-83ec-def345ca7bd3 -
MOBILE_ARTIFACTS(r2) -> topolo-apks -
VECTORIZE(vectorize) -> topolo-apps -
DEVELOPERS_DB(d1) -> c37c0a93-2bfb-44d9-82b3-9176e5225f70 [preview] -
VECTORIZE(vectorize) -> topolo-apps-staging [preview]
Deployments
Deployment environments: preview
Routes: workers.dev or Pages-only delivery
Observability enabled: yes
Wrangler surfaces
- PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml -> topolo-catalog-cron
- PlatformApplications/TopoloDevelopers/wrangler.toml -> topolo-developers
Build and deploy commands
-
build— PlatformApplications/TopoloDevelopers/package.json :: tsc && vite build --mode production -
build:staging— PlatformApplications/TopoloDevelopers/package.json :: env VITE_PORTAL_URL=https://developers.stg.topolo.us VITE_AUTH_URL=https://auth.stg.topolo.us VITE_TOPOLO_AUTH_URL=https://auth.stg.topolo.us sh -c 'tsc && vite build --mode production' -
build:functions— PlatformApplications/TopoloDevelopers/package.json :: wrangler pages functions build functions --project-directory . --outdir .wrangler/functions-build -
preview— PlatformApplications/TopoloDevelopers/package.json :: vite preview -
deploy:staging— PlatformApplications/TopoloDevelopers/package.json :: rm -f node_modules/.cache/wrangler/pages.json node_modules/.cache/wrangler/wrangler-account.json && rm -rf dist && npm run build:staging && CLOUDFLARE_ACCOUNT_ID=4f4e1c69a3830946f9fea7b1eb7531ac wrangler pages deploy dist --project-name topolo-developers-staging --branch staging --commit-dirty=true -
deploy— PlatformApplications/TopoloDevelopers/workers/catalog-cron/package.json :: wrangler deploy
Failure Modes
- Neither OpenAPI nor README-derived interface detail was found.
Debugging Runbooks
Start with these entrypoints:
- PlatformApplications/TopoloDevelopers/workers/catalog-cron/wrangler.toml
- PlatformApplications/TopoloDevelopers/wrangler.toml
- PlatformApplications/TopoloDevelopers/src/App.tsx
- PlatformApplications/TopoloDevelopers/package.json
- PlatformApplications/TopoloDevelopers/workers/catalog-cron/package.json
Change Log / Verification
Lifecycle: active
Last verified: 2026-04-29
Any code change to this system is expected to update the canonical docs in PlatformApplications/TopoloDocs and refresh the verification date.