Documentation
¶
Overview ¶
Package features holds the registry of experimental features that can be enabled per organization. The registry is the source of truth: feature IDs referenced by enable/disable APIs must exist here, and a feature can be graduated to all organizations by setting Released to a pointer to true.
Index ¶
Constants ¶
const FeatureClaudeManagedAgents = "claude_managed_agents"
FeatureClaudeManagedAgents enables the managed-agents chat experience on a per-organization basis until the integration is generally available.
const FeatureFactories = "factories"
FeatureFactories enables software factories (work orders, lines, factory apps) for a organization until the feature is generally available.
const FeatureFactoryCustomAutomations = "factory_custom_automations"
FeatureFactoryCustomAutomations gates blank custom automations on Verify, Done, and phase columns until the flow is generally available.
const FeatureFactoryDatadogIntake = "factory_datadog_intake"
FeatureFactoryDatadogIntake gates Datadog Error Tracking intake from the Backlog column menu until the flow is generally available.
const FeatureFactoryProductiveIntake = "factory_productive_intake"
FeatureFactoryProductiveIntake gates the manual "Add intake" entry for Productive.io in the Backlog column menu until the flow is generally available.
const FeatureFactoryPullRequestMerge = "factory_pull_request_merge"
FeatureFactoryPullRequestMerge gates the Mergeable chip on task cards and the Merge button on pull request review until the feature is generally available.
const FeatureFactoryScheduledIntake = "factory_scheduled_intake"
const FeatureNewIntegrationSetupFlow = "new_integration_setup_flow"
FeatureNewIntegrationSetupFlow enables the SetupProvider wizard for integrations that register one (for example GitHub). When disabled, create still uses the legacy IntegrationCreateDialog path.
const FeatureNewRunners = "new_runners"
FeatureNewRunners routes newly created runner tasks through SuperPlane's integrated runner API. Existing executions keep their persisted backend.
const FeatureOrganizationBYOK = "organization_byok"
FeatureOrganizationBYOK gates the organization LLM Models settings page until the BYOK UX is ready for general use.
const FeatureOrganizationBYOKCustomProvider = "organization_byok_custom_provider"
FeatureOrganizationBYOKCustomProvider gates a custom model provider on the organization LLM Models page. It requires FeatureOrganizationBYOK as well.
const FeatureSuperPlaneMCPServer = "superplane_mcp_server"
FeatureSuperPlaneMCPServer is released. Every organization can authorize Cursor and other MCP clients against one workspace. The factories flag still applies.
const FeatureWorkspaceAgent = "workspace_agent"
FeatureWorkspaceAgent gates the SuperPlane Agent page until it is ready for general use.
const FeatureWorkspaceMCP = "workspace_mcp"
FeatureWorkspaceMCP gates workspace MCP settings, MCP APIs, and MCP attach.
const FeatureWorkspaceModels = "workspace_models"
FeatureWorkspaceModels gates the in-progress workspace Models settings page until it is ready for general use.
const FeatureWorkspaceSkills = "workspace_skills"
FeatureWorkspaceSkills gates workspace skill settings, skill APIs, and skill attach.
Variables ¶
This section is empty.
Functions ¶
func IsReleased ¶
IsReleased reports whether the feature with the given id is in the registry and marked as released. Released features are considered enabled for every organization regardless of per-organization state.
func WithRegistryForTest ¶
func WithRegistryForTest(r []Feature) func()
WithRegistryForTest temporarily replaces the registry. Intended for tests that need to assert behavior of features not present in the production registry (e.g. released features). The returned function restores the previous registry and should be invoked from a t.Cleanup callback.