ridu

package module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2026 License: MIT Imports: 6 Imported by: 0

README

Ridu

Ridu is a pre-1.0 Go content-management framework with an included Svelte 5 admin. Define collections, fields, access rules, hooks, and plugins in Go; Ridu derives the selected database schema and migrations, REST API, generated TypeScript contracts, Fetch SDK, and authoring interface from that one executable configuration.

[!IMPORTANT] Ridu is pre-1.0 software. Compatibility may change between minor releases, so evaluate it carefully before using it with production data. Ridu is available under the MIT License.

Ridu's embedded admin dashboard

Why Ridu

  • Go-defined content models. Ridu resolves executable Go configuration into a deterministic, versioned schema manifest.
  • One operation engine. Local Go calls, REST, the SDK, admin, tasks, and plugin transports share authorization, validation, hooks, transactions, population, and redaction.
  • One application binary. The built Svelte admin is embedded in the Go server. npm, Bun, pnpm, or Yarn is used at build time, not as a production runtime.
  • Explicit extension points. Backend plugins are compiled Go packages; admin plugins are statically registered Svelte and TypeScript modules.
  • Project tooling included. The CLI creates projects, generates contracts, manages migrations, runs development, builds releases, and installs optional coding-agent guidance.

Create a project

Open the npm initializer and choose Starter and SQLite for a service-free first run. After the wizard finishes, run the commands it prints:

npm create ridu@latest my-app
cd my-app
npm install
npm run dev

The project records npm as its package manager and pins the matching @riducms/cli version. The same flow works with bun create, pnpm create, or yarn create; the project then uses that manager for development, checks, builds, and plugin packages. Go users can instead install and run the same command directly:

go install github.com/riducms/ridu/cmd/ridu@latest
ridu new

Follow the Quickstart to create the first user and document, then read it through the generated TypeScript SDK. PostgreSQL and MongoDB setup, including existing-project wiring and production limits, is covered by the public adapter guides.

Try the source checkout

Building the source checkout requires Go 1.25 or newer and Bun 1.4.0.

git clone https://github.com/riducms/ridu.git
cd ridu
bun install --frozen-lockfile
make demo

Open http://127.0.0.1:8080/admin/login and sign in with:

  • email: editor@riducms.test
  • password: ridu-browser

The demo uses an in-memory store and resets when it stops, so it does not require PostgreSQL.

Framework contributors can exercise the current checkout's scaffold instead of the registry CLI. Choose a target directory that does not exist:

make dogfood-new TARGET=/tmp/ridu-dogfood-content
cd /tmp/ridu-dogfood-content
./.ridu/bin/ridu dev

To run the interactive Charm wizard against the current checkout, use:

make dogfood-new INTERACTIVE=1

The wizard asks where the project should live. Pass TARGET=/tmp/ridu-interactive-content as well when you want to preselect the directory and proceed directly to the template choice. Cancelling the wizard does not provision local packages or report a ready project.

Set RIDU_ACCESSIBLE=1 to use stable plain-text prompts instead of the full terminal interface. Routine CLI logs use muted short timestamps and a [ridu] scope; warnings and errors add an explicit level, and only error timestamps are bold. Set NO_COLOR (an empty value is sufficient) to disable their ANSI styling. During development Vite owns its warning/error formatting while Go server output remains identifiable by a [server] badge.

Documentation

Repository map

cmd/ridu/                    project CLI
core/                        public application contracts and runtime coordination
field/, query/, schema/      public content-model and query contracts
store/, storage/             public persistence and object-storage contracts
internal/                    framework implementation
adapters/                    official database and object-storage adapters
plugins/                     official backend and paired admin plugins
admin/                       framework-owned Svelte admin
packages/                    npm CLI plus TypeScript protocol, SDK, build, UI, and plugin contracts
migration/                   source-neutral migration building blocks
tests/, testdata/            cross-surface contracts and fixtures
website/                     public product site, guides, and API reference
playground/                  isolated migration and component-evaluation applications

The root Go package is a thin ergonomic facade. Public leaf packages remain independent of it, and production code never imports from the playground. The ownership rules contributors need are summarized in CONTRIBUTING.md.

Develop Ridu

bun install --frozen-lockfile
make check-dev
make check-fast

Use make check-dev for the ordinary edit loop. make check-fast adds generated-project contracts and production frontend builds; run make check-full before handing off framework changes. Before publishing, run make release-check; it also requires GoReleaser 2.18.0.

Read CONTRIBUTING.md before changing public contracts. The intended Go module is github.com/riducms/ridu, framework JavaScript packages use the @riducms npm scope, and the intended public site is https://riducms.com. Releases are version-coordinated across Go, npm, and official plugins; vulnerabilities should be reported through the private process in SECURITY.md.

Documentation

Overview

Package ridu provides the public application-authoring facade for the Ridu content-management framework.

The facade re-exports the stable authoring and application contracts from package core while keeping ordinary application imports concise. Declarative fields and queries resolve into one schema, and every document operation enters the same internal operation engine.

Index

Constants

View Source
const (
	AccessAllow = core.AccessAllow
	AccessDeny  = core.AccessDeny
	AccessWhere = core.AccessWhere

	AdminPluginAPIVersion = core.AdminPluginAPIVersion
	PluginAPIVersion      = core.PluginAPIVersion

	OperationCreate          = core.OperationCreate
	OperationDuplicate       = core.OperationDuplicate
	OperationAdmin           = core.OperationAdmin
	OperationRead            = core.OperationRead
	OperationReadVersions    = core.OperationReadVersions
	OperationUpdate          = core.OperationUpdate
	OperationDelete          = core.OperationDelete
	OperationRestoreDeleted  = core.OperationRestoreDeleted
	OperationDeletePermanent = core.OperationDeletePermanent
	OperationPublish         = core.OperationPublish
	OperationUnpublish       = core.OperationUnpublish

	FrameworkVersion = core.FrameworkVersion

	PluginDatabaseAdapterPostgres = core.PluginDatabaseAdapterPostgres
	PluginDatabaseAdapterSQLite   = core.PluginDatabaseAdapterSQLite

	AuthOperationLogin             = core.AuthOperationLogin
	AuthOperationLogout            = core.AuthOperationLogout
	AuthOperationRefresh           = core.AuthOperationRefresh
	AuthOperationPasswordReset     = core.AuthOperationPasswordReset
	AuthOperationEmailVerification = core.AuthOperationEmailVerification
	AuthOperationAPIKey            = core.AuthOperationAPIKey
	AuthOperationExternalStrategy  = core.AuthOperationExternalStrategy

	TaskBackoffFixed       = core.TaskBackoffFixed
	TaskBackoffLinear      = core.TaskBackoffLinear
	TaskBackoffExponential = core.TaskBackoffExponential
	TaskStateQueued        = store.TaskStateQueued
	TaskStateRunning       = store.TaskStateRunning
	TaskStateSucceeded     = store.TaskStateSucceeded
	TaskStateFailed        = store.TaskStateFailed
	TaskStateCanceled      = store.TaskStateCanceled

	TaskErrorNotRegistered = core.TaskErrorNotRegistered
	TaskErrorUnavailable   = core.TaskErrorUnavailable
	TaskErrorInvalidInput  = core.TaskErrorInvalidInput
	TaskErrorInvalidOutput = core.TaskErrorInvalidOutput
	TaskErrorNotFound      = core.TaskErrorNotFound
	TaskErrorStoreFailed   = core.TaskErrorStoreFailed
	TaskErrorLeaseLost     = core.TaskErrorLeaseLost
)
View Source
const MaxTaskPayloadBytes = core.MaxTaskPayloadBytes

Variables

This section is empty.

Functions

func AbortTask

func AbortTask(code string, cause error) error

func Execute

func Execute(applicationConfig Config, options ...ExecuteOption) error

Execute resolves configuration, initializes plugins, and runs configured services.

func Resolve

func Resolve(applicationConfig Config) (schema.Manifest, error)

Resolve validates executable configuration and returns its canonical manifest.

func RetryTask

func RetryTask(code string, cause error) error

func RetryTaskAfter

func RetryTaskAfter(code string, cause error, delay time.Duration) error

Types

type APIKey

type APIKey = core.APIKey

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type APIKeyInfo

type APIKeyInfo = core.APIKeyInfo

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AccessCapabilities

type AccessCapabilities = core.AccessCapabilities

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AccessContext

type AccessContext = core.AccessContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AccessDecision

type AccessDecision = core.AccessDecision

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

func Allow

func Allow() AccessDecision

Allow authorizes an operation without adding a document filter.

func Deny

func Deny() AccessDecision

Deny rejects an operation.

func Where

func Where(expression query.Expression) AccessDecision

Where authorizes only documents matching expression.

type AccessDecisionKind

type AccessDecisionKind = core.AccessDecisionKind

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AccessRule

type AccessRule = core.AccessRule

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AdminConfig

type AdminConfig = core.AdminConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AdminLanguage

type AdminLanguage = core.AdminLanguage

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AdminLocalizationConfig

type AdminLocalizationConfig = core.AdminLocalizationConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AdminPluginMetadata

type AdminPluginMetadata = core.AdminPluginMetadata

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AdminTimeZone

type AdminTimeZone = core.AdminTimeZone

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AfterCommitDispatcher

type AfterCommitDispatcher = core.AfterCommitDispatcher

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AfterCommitEffect

type AfterCommitEffect = core.AfterCommitEffect

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type App

type App = core.App

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

func New

func New(applicationConfig Config, backend store.Store) (*App, error)

New builds an application runtime using backend after resolving configuration.

type AuditEvent

type AuditEvent = core.AuditEvent

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthAccess

type AuthAccess = core.AuthAccess

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthAccessRule

type AuthAccessRule = core.AuthAccessRule

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthConfig

type AuthConfig = core.AuthConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthContext

type AuthContext = core.AuthContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthHook

type AuthHook = core.AuthHook

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthHooks

type AuthHooks = core.AuthHooks

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthIdentity

type AuthIdentity = core.AuthIdentity

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthOperation

type AuthOperation = core.AuthOperation

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthSession

type AuthSession = core.AuthSession

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthSessionInfo

type AuthSessionInfo = core.AuthSessionInfo

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthStrategy

type AuthStrategy = core.AuthStrategy

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthStrategyContext

type AuthStrategyContext = core.AuthStrategyContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type AuthStrategyResult

type AuthStrategyResult = core.AuthStrategyResult

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type CapabilityOptions

type CapabilityOptions = core.CapabilityOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Collection

type Collection = core.Collection

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type CollectionAccess

type CollectionAccess = core.CollectionAccess

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type CollectionAdmin

type CollectionAdmin = core.CollectionAdmin

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type CollectionHooks

type CollectionHooks = core.CollectionHooks

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type CollectionIndex

type CollectionIndex = core.CollectionIndex

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type CollectionLabels

type CollectionLabels = core.CollectionLabels

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Computed

type Computed = core.Computed

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ComputedContext

type ComputedContext = core.ComputedContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Config

type Config = core.Config

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ConfigTransformer

type ConfigTransformer = core.ConfigTransformer

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type DescriptorProvider

type DescriptorProvider = core.DescriptorProvider

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type DistinctOptions

type DistinctOptions = core.DistinctOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type DocumentLockConfig

type DocumentLockConfig = core.DocumentLockConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Endpoint

type Endpoint = core.Endpoint

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type EndpointContext

type EndpointContext = core.EndpointContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type EndpointHandler

type EndpointHandler = core.EndpointHandler

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type EndpointProvider

type EndpointProvider = core.EndpointProvider

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ExecuteOption

type ExecuteOption = core.ExecuteOption

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

func WithAddress

func WithAddress(address string) ExecuteOption

WithAddress configures the HTTP listen address. The default is :8080.

func WithHandlerOptions

func WithHandlerOptions(options HandlerOptions) ExecuteOption

WithHandlerOptions configures HTTP security, limits, and observation hooks.

func WithProjectMigrations

func WithProjectMigrations(driver migration.ProjectDriver) ExecuteOption

WithProjectMigrations registers an adapter-owned compiled migration driver for checksum-bound application data callbacks.

func WithServerOptions

func WithServerOptions(options ServerOptions) ExecuteOption

WithServerOptions customizes production socket and graceful-drain bounds.

func WithStore

func WithStore(factory StoreFactory) ExecuteOption

WithStore configures the singular document-store adapter lazily.

func WithUploadStorage

func WithUploadStorage(factory StorageFactory) ExecuteOption

WithUploadStorage configures the upload storage factory used by Execute.

type FieldAccess

type FieldAccess = core.FieldAccess

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type FieldAccessContext

type FieldAccessContext = core.FieldAccessContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type FieldAccessRule

type FieldAccessRule = core.FieldAccessRule

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type FieldCapabilities

type FieldCapabilities = core.FieldCapabilities

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type FieldValidatorProvider

type FieldValidatorProvider = core.FieldValidatorProvider

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type FindOptions

type FindOptions = core.FindOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type GenerationProvider

type GenerationProvider = core.GenerationProvider

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Global

type Global = core.Global

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type GlobalAccess

type GlobalAccess = core.GlobalAccess

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type GlobalAdmin

type GlobalAdmin = core.GlobalAdmin

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type HandlerOptions

type HandlerOptions = core.HandlerOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Hook

type Hook = core.Hook

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type HookContext

type HookContext = core.HookContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type HookProvider

type HookProvider = core.HookProvider

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ImageSize

type ImageSize = core.ImageSize

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ImportOptions

type ImportOptions = core.ImportOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type JoinMutationResult

type JoinMutationResult = core.JoinMutationResult

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ListOptions

type ListOptions = core.ListOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ListWindowOptions

type ListWindowOptions = core.ListWindowOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type LivePreviewConfig

type LivePreviewConfig = core.LivePreviewConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type LocalAPI

type LocalAPI = core.LocalAPI

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Locale

type Locale = core.Locale

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type LocaleOptions

type LocaleOptions = core.LocaleOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type LocalizationConfig

type LocalizationConfig = core.LocalizationConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type LoginOptions

type LoginOptions = core.LoginOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type MutationOptions

type MutationOptions = core.MutationOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Operation

type Operation = core.Operation

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type OperationCapabilities

type OperationCapabilities = core.OperationCapabilities

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type OperationError

type OperationError = core.OperationError

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PasswordPolicy

type PasswordPolicy = core.PasswordPolicy

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PasswordResetConfig

type PasswordResetConfig = core.PasswordResetConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PasswordResetNotification

type PasswordResetNotification = core.PasswordResetNotification

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type Plugin

type Plugin = core.Plugin

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginDatabaseAdapter

type PluginDatabaseAdapter = core.PluginDatabaseAdapter

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginDatabaseContribution

type PluginDatabaseContribution = core.PluginDatabaseContribution

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginDescriptor

type PluginDescriptor = core.PluginDescriptor

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginEndpoint

type PluginEndpoint = core.PluginEndpoint

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginEndpointContext

type PluginEndpointContext = core.PluginEndpointContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginEndpointHandler

type PluginEndpointHandler = core.PluginEndpointHandler

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginFieldType

type PluginFieldType = core.PluginFieldType

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginFieldValidationContext

type PluginFieldValidationContext = core.PluginFieldValidationContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginFieldValidator

type PluginFieldValidator = core.PluginFieldValidator

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginGeneratedArtifact

type PluginGeneratedArtifact = core.PluginGeneratedArtifact

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginGenerationContext

type PluginGenerationContext = core.PluginGenerationContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginHookContribution

type PluginHookContribution = core.PluginHookContribution

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginMigration

type PluginMigration = core.PluginMigration

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginTransport

type PluginTransport = core.PluginTransport

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PluginTransportContext

type PluginTransportContext = core.PluginTransportContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type PreviewBreakpoint

type PreviewBreakpoint = core.PreviewBreakpoint

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ReadinessCheck

type ReadinessCheck = core.ReadinessCheck

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ReconcileResult

type ReconcileResult = core.ReconcileResult

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type RequestErrorEvent

type RequestErrorEvent = core.RequestErrorEvent

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type RequestObservation

type RequestObservation = core.RequestObservation

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type RiduCompatibility

type RiduCompatibility = core.RiduCompatibility

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type ServerOptions

type ServerOptions = core.ServerOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type StorageFactory

type StorageFactory = core.StorageFactory

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type StoreFactory

type StoreFactory = core.StoreFactory

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskBackoff

type TaskBackoff = core.TaskBackoff

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskContext

type TaskContext = core.TaskContext

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskDefinition

type TaskDefinition = core.TaskDefinition

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskEnqueueOptions

type TaskEnqueueOptions = core.TaskEnqueueOptions

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskError

type TaskError = core.TaskError

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskErrorCode

type TaskErrorCode = core.TaskErrorCode

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskHandler

type TaskHandler[Input, Output any] = core.TaskHandler[Input, Output]

type TaskOption

type TaskOption = core.TaskOption

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

func TaskAdmissionReconciler

func TaskAdmissionReconciler(reconcile TaskReconciler) TaskOption

func TaskQueue

func TaskQueue(queue string) TaskOption

func TaskRetention

func TaskRetention(retention time.Duration) TaskOption

func TaskRetries

func TaskRetries(maxAttempts int, delay, maxDelay time.Duration, backoff TaskBackoff) TaskOption

func TaskTimeout

func TaskTimeout(timeout time.Duration) TaskOption

type TaskReceipt

type TaskReceipt[Output any] = core.TaskReceipt[Output]

type TaskReconciler

type TaskReconciler = core.TaskReconciler

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskResult

type TaskResult[Output any] = core.TaskResult[Output]

type TaskRunSummary

type TaskRunSummary = core.TaskRunSummary

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TaskState

type TaskState = store.TaskState

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TransportProvider

type TransportProvider = core.TransportProvider

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type TypedTask

type TypedTask[Input, Output any] = core.TypedTask[Input, Output]

func NewTask

func NewTask[Input, Output any](slug string, handler TaskHandler[Input, Output], options ...TaskOption) TypedTask[Input, Output]

type UploadConfig

type UploadConfig = core.UploadConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type UploadInput

type UploadInput = core.UploadInput

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type VerifyEmailConfig

type VerifyEmailConfig = core.VerifyEmailConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type VerifyEmailNotification

type VerifyEmailNotification = core.VerifyEmailNotification

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

type VersionConfig

type VersionConfig = core.VersionConfig

Public authoring and runtime contracts live in core. These aliases keep the root package as the ergonomic application-facing entry point.

Directories

Path Synopsis
adapters
mongodb
Package mongodb provides Ridu's official MongoDB document store.
Package mongodb provides Ridu's official MongoDB document store.
postgres
Package postgres provides Ridu's first official document store.
Package postgres provides Ridu's first official document store.
sqlite
Package sqlite provides Ridu's official embedded SQLite document store.
Package sqlite provides Ridu's official embedded SQLite document store.
storage/local
Package local provides filesystem object storage for development and single-node deployments.
Package local provides filesystem object storage for development and single-node deployments.
storage/s3
Package s3 provides a dependency-free S3-compatible object backend.
Package s3 provides a dependency-free S3-compatible object backend.
cmd
ridu command
Command ridu is the portable project and build orchestrator for Ridu.
Command ridu is the portable project and build orchestrator for Ridu.
Package core owns Ridu's application contracts and runtime.
Package core owns Ridu's application contracts and runtime.
examples
documentation/adoption
Package adoption compile-checks the public field, adapter, and plugin surfaces used throughout the adoption documentation.
Package adoption compile-checks the public field, adapter, and plugin surfaces used throughout the adoption documentation.
documentation/quickstart/content
Package content contains the compile-tested model used by the public Quickstart.
Package content contains the compile-tested model used by the public Quickstart.
Package field defines declarative authoring values used to describe Ridu collection fields.
Package field defines declarative authoring values used to describe Ridu collection fields.
internal
adminassets
Package adminassets owns the framework admin build embedded in Ridu servers.
Package adminassets owns the framework admin build embedded in Ridu servers.
agentdocs
Package agentdocs installs the release-owned Ridu skill bundle into generated and existing projects without overwriting user-authored instructions.
Package agentdocs installs the release-owned Ridu skill bundle into generated and existing projects without overwriting user-authored instructions.
cli
Package cli implements the portable Ridu command-line interface behind the thin cmd/ridu entry point.
Package cli implements the portable Ridu command-line interface behind the thin cmd/ridu entry point.
config
Package config validates and normalizes the public authoring model into a canonical immutable schema manifest.
Package config validates and normalizes the public authoring model into a canonical immutable schema manifest.
dogfood/admin command
Command admin runs the framework repository's admin fixture and Vite server together.
Command admin runs the framework repository's admin fixture and Vite server together.
dogfood/new command
Command dogfood-new builds and exercises the real Ridu CLI against a local versioned module proxy.
Command dogfood-new builds and exercises the real Ridu CLI against a local versioned module proxy.
dogfood/playground command
Command playground-ridu-hydrate restores the ignored development-only packages and CLI used by the committed generated Ridu playground.
Command playground-ridu-hydrate restores the ignored development-only packages and CLI used by the committed generated Ridu playground.
frameworkpackages
Package frameworkpackages publishes the framework's unpublished frontend workspaces into a generated project for local dogfood testing.
Package frameworkpackages publishes the framework's unpublished frontend workspaces into a generated project for local dogfood testing.
frameworkproxy
Package frameworkproxy publishes a Ridu checkout to a local Go module proxy for release-path tests and manual framework dogfooding.
Package frameworkproxy publishes a Ridu checkout to a local Go module proxy for release-path tests and manual framework dogfooding.
generate
Package generate obtains a resolved manifest from an executable project and installs generated artifacts atomically.
Package generate obtains a resolved manifest from an executable project and installs generated artifacts atomically.
jsonlimit
Package jsonlimit validates untrusted JSON structure before application decoders allocate recursive values.
Package jsonlimit validates untrusted JSON structure before application decoders allocate recursive values.
localization
Package localization owns locale request resolution and the logical single-locale/canonical-storage transform shared by operation engines and strict store fixtures.
Package localization owns locale request resolution and the logical single-locale/canonical-storage transform shared by operation engines and strict store fixtures.
migrationartifact
Package migrationartifact owns atomic, immutable migration artifact files.
Package migrationartifact owns atomic, immutable migration artifact files.
pluginregistry
Package pluginregistry owns the explicit, versioned plugin installation registry used by generated Ridu applications.
Package pluginregistry owns the explicit, versioned plugin installation registry used by generated Ridu applications.
pluginscaffold
Package pluginscaffold renders a distributable paired Ridu plugin.
Package pluginscaffold renders a distributable paired Ridu plugin.
population
Package population owns schema-driven relationship population traversal.
Package population owns schema-driven relationship population traversal.
postgresmigration
Package postgresmigration owns private deterministic artifact assembly that is shared by the PostgreSQL planner and the portable CLI.
Package postgresmigration owns private deterministic artifact assembly that is shared by the PostgreSQL planner and the portable CLI.
project
Package project owns the private, versioned machine protocol between the portable Ridu CLI and an application's compiled project entry.
Package project owns the private, versioned machine protocol between the portable Ridu CLI and an application's compiled project entry.
projectfile
Package projectfile discovers and validates the structural ridu.toml file owned by a generated application.
Package projectfile discovers and validates the structural ridu.toml file owned by a generated application.
referenceindex
Package referenceindex derives and reconciles current relationship and upload references from canonical store values.
Package referenceindex derives and reconciles current relationship and upload references from canonical store values.
releaselicense command
Command releaselicense inventories licences for modules linked into a Go binary.
Command releaselicense inventories licences for modules linked into a Go binary.
remotefile
Package remotefile downloads user-supplied asset URLs without allowing the server to become a proxy into loopback, private, link-local, or metadata networks.
Package remotefile downloads user-supplied asset URLs without allowing the server to become a proxy into loopback, private, link-local, or metadata networks.
scaffold
Package scaffold renders a generated Ridu application into an atomically installed target directory.
Package scaffold renders a generated Ridu application into an atomically installed target directory.
schemadiff
Package schemadiff compares canonical manifests for migration intent that cannot be inferred safely from a database schema alone.
Package schemadiff compares canonical manifests for migration intent that cannot be inferred safely from a database schema alone.
teststore
Package teststore provides a strict transactional fake for operation and adapter conformance tests.
Package teststore provides a strict transactional fake for operation and adapter conformance tests.
typescript
Package typescript generates checked TypeScript contracts from Go-owned protocol and schema constants.
Package typescript generates checked TypeScript contracts from Go-owned protocol and schema constants.
Package migration defines Ridu's database-agnostic, reviewable migration artifact vocabulary.
Package migration defines Ridu's database-agnostic, reviewable migration artifact vocabulary.
payload
Package payload imports a normalized Payload CMS export without coupling Ridu to Payload's database schema.
Package payload imports a normalized Payload CMS export without coupling Ridu to Payload's database schema.
plugins
formbuilder
Package formbuilder contributes Payload-familiar dynamic form definitions, submission persistence, validation, payment callbacks, and email delivery.
Package formbuilder contributes Payload-familiar dynamic form definitions, submission persistence, validation, payment callbacks, and email delivery.
graphql
Package graphql provides Ridu's optional, manifest-derived GraphQL transport.
Package graphql provides Ridu's optional, manifest-derived GraphQL transport.
mcp
Package mcp exposes explicitly selected Ridu content reads through Model Context Protocol without bypassing the ordinary authorization and operation engine.
Package mcp exposes explicitly selected Ridu content reads through Model Context Protocol without bypassing the ordinary authorization and operation engine.
richtext
Package richtext provides Ridu's official versioned rich-text field plugin.
Package richtext provides Ridu's official versioned rich-text field plugin.
seo
Package seo contributes Payload-familiar search metadata fields and a paired admin authoring experience without moving executable generators into the schema manifest.
Package seo contributes Payload-familiar search metadata fields and a paired admin authoring experience without moving executable generators into the schema manifest.
Package plugintest provides the public backend conformance suite for Ridu plugins.
Package plugintest provides the public backend conformance suite for Ridu plugins.
Package protocol defines stable JSON envelopes shared by Ridu's HTTP API, generated TypeScript contracts, Fetch SDK, and admin.
Package protocol defines stable JSON envelopes shared by Ridu's HTTP API, generated TypeScript contracts, Fetch SDK, and admin.
Package query defines Ridu's transport-independent query language.
Package query defines Ridu's transport-independent query language.
Package schema defines the immutable, versioned representation of a resolved Ridu configuration.
Package schema defines the immutable, versioned representation of a resolved Ridu configuration.
Package storage defines the public object-storage boundary used by upload collections.
Package storage defines the public object-storage boundary used by upload collections.
Package store defines public document-storage and transaction contracts.
Package store defines public document-storage and transaction contracts.
conformance
Package conformance provides the reusable black-box contract suite for Ridu document-store adapters.
Package conformance provides the reusable black-box contract suite for Ridu document-store adapters.
tests
contracts/admin_server command
Command admin_server is a deterministic browser-verification fixture for the embedded admin.
Command admin_server is a deterministic browser-verification fixture for the embedded admin.
performance/graphqlfixture
Package graphqlfixture provides the representative schema used by the optional-GraphQL memory comparison.
Package graphqlfixture provides the representative schema used by the optional-GraphQL memory comparison.
website
tools/referencegen/goextract command
Command goextract emits the public Go declaration surface used by the website reference generator.
Command goextract emits the public Go declaration surface used by the website reference generator.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL