Submission guidelines
All modules submitted to the Turtini Marketplace must meet the following requirements:
Build:
• Modules must be built using the @turtini/sdk package and compiled to a .zip bundle via turtini-dev build
• The bundle must be under 25 MB
• Use the hooks provided by the SDK (useActiveOrg, useCurrentUser, useOrgRole, etc.) to access org and user context — do not rely on localStorage or hardcoded org IDs
Design:
• Use the Turtini design token system (@turtini/sdk/tokens) so your module adapts to light and dark mode automatically
• Semantic Tailwind classes (bg-card, text-fg, text-accent, border-stroke) are also acceptable if using Tailwind in your module
Data security:
• All Firestore data must be scoped to the installing org — no cross-org reads or writes
• Do not store credentials, tokens, or sensitive user data in Firestore documents
Payments:
• Paid modules must have a connected Stripe account before they can be approved
• You may not charge orgs outside the Turtini billing system
Conduct:
• Modules must not impersonate Turtini first-party modules
• Modules must accurately describe their functionality
• Modules may be rejected, taken offline (moved to Draft), or permanently removed for policy violations at any time
The Turtini team may request changes before approving a submission. Review notes are sent to the submitter and appear in the My Modules tab.