Packages · @purista/cli
@purista/cli
Signature
@purista/cli Classes
3 entries
PuristaCliError
Classes
class PuristaCliError Base error type thrown by the programmatic CLI API.
PuristaCliPromptError
Classes
class PuristaCliPromptError Error thrown by prompt adapters when interactive input cannot be collected.
PuristaCliValidationError
Classes
class PuristaCliValidationError Error thrown when command input or project state cannot be resolved.
Interfaces
2 entries
Type Aliases
42 entries
AddPuristaQueueInput
Types
type AddPuristaQueueInput = void Input for generating a queue, its primary worker, and optional producer command.
AddPuristaQueueWorkerInput
Types
type AddPuristaQueueWorkerInput = void Input for generating an additional worker for an existing queue.
BasePromptRequest
Types
type BasePromptRequest = void Shared fields used by prompt requests.
BlueprintId
Types
type BlueprintId = typeof blueprintIds[number] Built-in project blueprint identifiers understood by the generator.
ConfirmPromptRequest
Types
type ConfirmPromptRequest = BasePromptRequest<TKey> & { defaultValue: boolean; type: "confirm" } Boolean confirmation prompt request.
CreateProjectInput
Types
type CreateProjectInput = void Normalized input used to plan and materialize a new PURISTA project.
EnqueueOption
Types
type EnqueueOption = void Queue import metadata used when generating a command with `.canEnqueue(...)`.
ExampleServiceGeneratorStep
Types
type ExampleServiceGeneratorStep = void Deferred generator action that creates the example service after base files exist.
InputPromptRequest
Types
type InputPromptRequest = BasePromptRequest<TKey> & { type: "input"; validate: (value: string) => true | string } Text input prompt request.
Locale
Types
type Locale = string[] | string | false | undefined Supported locale values. Use `false` to ignore locale. Defaults to `undefined`, which uses the host environment.
OutputAdapter
Types
type OutputAdapter = void Adapter for rendering CLI results and errors in custom hosts.
PackageManager
Types
type PackageManager = "npm" | "bun" | "pnpm" | "yarn" Package managers supported by the project generator.
PKG
Types
type PKG = PackageJson & { trustedDependencies: string[] } Package.json shape used by the CLI project blueprint merger.
ProjectBlueprint
Types
type ProjectBlueprint = void A reusable project generator unit.
ProjectBlueprintContext
Types
type ProjectBlueprintContext = CreateProjectInput & { targetDirectoryPath: string } Input visible to a blueprint while it decides and creates contributions.
ProjectBlueprintContribution
Types
type ProjectBlueprintContribution = ProjectConfigPatch & { files: ProjectFileContribution[]; generatorSteps: ProjectGeneratorStep[]; warnings: string[] } Files, config patches, warnings, and deferred steps emitted by a blueprint.
ProjectConfigPatch
Types
type ProjectConfigPatch = void Partial project-level configuration merged from a blueprint.
ProjectFileContribution
Types
type ProjectFileContribution = void A file that a blueprint contributes to a project generation plan.
ProjectGenerationPlan
Types
type ProjectGenerationPlan = void Complete dry-run project generation plan.
ProjectGeneratorStep
Types
type ProjectGeneratorStep = ExampleServiceGeneratorStep Union of deferred generator steps executed while materializing a project.
ProjectSnapshot
Types
type ProjectSnapshot = void Full project snapshot used by CLI generators to append new definitions safely.
PromptAdapter
Types
type PromptAdapter = void Adapter used by the engine when it must collect missing input.
PromptAnswerMap
Types
type PromptAnswerMap = Record<string, string | boolean> Programmatic answer map keyed by prompt `key`.
PromptChoice
Types
type PromptChoice = void One selectable prompt option.
PromptRequest
Types
type PromptRequest = InputPromptRequest<TKey> | ConfirmPromptRequest<TKey> | SelectPromptRequest<TKey> Union of prompt requests emitted by CLI command resolution.
PuristaCliEngineOptions
Types
type PuristaCliEngineOptions = void Options for creating a reusable programmatic PURISTA CLI engine.
PuristaCommandContext
Types
type PuristaCommandContext = void Runtime context passed to CLI command resolvers and executors.
PuristaCommandId
Types
type PuristaCommandId = typeof puristaCommandIds[number] Command identifiers accepted by the programmatic CLI engine.
PuristaCommandIssue
Types
type PuristaCommandIssue = void A validation or execution issue reported by a CLI command.
PuristaCommandMode
Types
type PuristaCommandMode = "interactive" | "non-interactive" | "programmatic" Controls how unresolved command input is completed before execution.
PuristaCommandResolution
Types
type PuristaCommandResolution = void Output of command input resolution before execution.
PuristaCommandResult
Types
type PuristaCommandResult = void Result returned after a CLI command has executed.
PuristaConfig
Types
type PuristaConfig = z.infer<typeof puristaConfigSchema> Parsed `purista.json` configuration with defaults applied.
PuristaExecutableCommand
Types
type PuristaExecutableCommand = void Definition contract implemented by commands registered in the CLI engine.
PuristaFileMutation
Types
type PuristaFileMutation = void Describes one file path changed by a CLI command.
PuristaProjectInfo
Types
type PuristaProjectInfo = void Public project information required by scaffolding helpers.
PuristaProjectServices
Types
type PuristaProjectServices = Record<string, Record<string, Omit<ServiceVersionSnapshot, "queues" | "queueWorkers">>> Public service scan result used by legacy generator helpers.
QueueProducerOptions
Types
type QueueProducerOptions = void Optional command generated together with a queue to enqueue work.
QueueWorkerOptions
Types
type QueueWorkerOptions = void Queue worker generated together with a queue.
ResolvedProjectBlueprints
Types
type ResolvedProjectBlueprints = void Result of selecting project blueprints for a concrete init input.
SelectPromptRequest
Types
type SelectPromptRequest = BasePromptRequest<TKey> & { choices: ReadonlyArray<PromptChoice<TValue>>; defaultValue: TValue; type: "select" } Single-choice prompt request.
ServiceVersionSnapshot
Types
type ServiceVersionSnapshot = void Discovered files and artifact directories for one service version.
Variables
4 entries
blueprintIds
Variables
const blueprintIds: typeOperator Ordered list of built-in project blueprint identifiers.
projectBlueprintRegistry
Variables
const projectBlueprintRegistry: Record<string, ProjectBlueprint> Registry of built-in project blueprints used by `planProjectGeneration`.
puristaCommandIds
Variables
const puristaCommandIds: typeOperator Ordered list of command identifiers supported by the programmatic CLI engine.
puristaConfigSchema
Variables
const puristaConfigSchema: ZodObject<{ $schema: ZodDefault<ZodOptional<ZodString>>; agentPath: ZodDefault<ZodOptional<ZodString>>; eventBridge: ZodDefault<ZodEnum<{ amqp: unknown; dapr: unknown; default: unknown; mqtt: unknown; nats: unknown }>>; eventConvention: ZodDefault<ZodEnum<{ camel: unknown; constantCase: unknown; dotCase: unknown; kebab: unknown; pascal: unknown; pascalSnake: unknown; ... }>>; fileConvention: ZodDefault<ZodEnum<{ camel: unknown; kebab: unknown; pascal: unknown; pascalSnake: unknown; snake: unknown }>>; formatter: ZodDefault<ZodEnum<{ biome: unknown; none: unknown; prettier: unknown }>>; ... }, $strip> Zod schema for the `purista.json` configuration file consumed by the CLI.
Functions
70 entries
addPuristaAgent
Functions
addPuristaAgent(input: { agentDescription: string; agentName: string; codeWriterOptions: Partial<Options>; projectRootPath: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; ... }): Promise<void> addPuristaCommand
Functions
addPuristaCommand(input: { codeWriterOptions: Partial<Options>; commandDescription: string; commandName: string; enqueues: { parameterSchemaExportName: string; payloadSchemaExportName: string; queueName: string; schemaFilePath: string }[]; eventToSubscribe: string; projectRootPath: string; ... }): Promise<void> addPuristaQueue
Functions
addPuristaQueue(input: AddPuristaQueueInput): Promise<void> addPuristaQueueWorker
Functions
addPuristaQueueWorker(input: AddPuristaQueueWorkerInput): Promise<void> addPuristaService
Functions
addPuristaService(input: { codeWriterOptions: Partial<Options>; projectRootPath: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; serviceDescription: string; serviceName: string; ... }): Promise<void> addPuristaStream
Functions
addPuristaStream(input: { codeWriterOptions: Partial<Options>; projectRootPath: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; responseEventName: string; serviceName: string; ... }): Promise<void> addPuristaSubscription
Functions
addPuristaSubscription(input: { codeWriterOptions: Partial<Options>; eventToSubscribe: string; projectRootPath: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; responseEventName: string; ... }): Promise<void> camelCase
Functions
camelCase(input: string, options?: PascalCaseOptions): string capitalCase
Functions
capitalCase(input: string, options?: Options): string constantCase
Functions
constantCase(input: string, options?: Options): string convertToProjectFileCasing
Functions
convertToProjectFileCasing(input: string, puristaProjectConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }): string createAmqpConfigFile
Functions
createAmqpConfigFile(): string createBiomeConfigFile
Functions
createBiomeConfigFile(): string createDaprConfigFile
Functions
createDaprConfigFile(): string createDefinitionsFile
Functions
createDefinitionsFile(input: CreateProjectInput): string createEntrypointFile
Functions
createEntrypointFile(input: CreateProjectInput, puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }): string createEslintModuleConfigFile
Functions
createEslintModuleConfigFile(): string createEventBridgeFile
Functions
createEventBridgeFile(input: CreateProjectInput): string createExportDefinitionsFile
Functions
createExportDefinitionsFile(): string createGitIgnoreFile
Functions
createGitIgnoreFile(): string createHttpConfigFile
Functions
createHttpConfigFile(): string createHttpFile
Functions
createHttpFile(runtime: "node" | "bun"): "import type { EventBridge, Logger, Service } from '@purista/core'\nimport { honoV1Service } from '@purista/hono-http-server'\nimport { apiReference } from '@scalar/hono-api-reference'\nimport { serveStatic } from 'hono/bun'\nimport httpConfig from './config/http.js'\n\nexport const getHttpServer = async (input: { eventBridge: EventBridge; logger: Logger; services: Service[] }) => {\n\tconst honoService = await honoV1Service.getInstance(input.eventBridge, {\n\t\tlogger: input.logger,\n\t\tserviceConfig: { ...httpConfig.serviceConfig, services: input.services },\n\t})\n\n\thonoService.app.get(\n\t\thttpConfig.serviceConfig.apiMountPath,\n\t\tapiReference({\n\t\t\tpageTitle: httpConfig.serviceConfig.openApi.info.title,\n\t\t\tspec: {\n\t\t\t\turl: `${httpConfig.serviceConfig.apiMountPath}/openapi.json`,\n\t\t\t},\n\t\t}),\n\t)\n\n\thonoService.app.get('*', serveStatic({ root: httpConfig.root }))\n\thonoService.openApi.addServer({\n\t\turl: `http://localhost:${httpConfig.port}`,\n\t\tdescription: 'the local server',\n\t})\n\n\tawait honoService.start()\n\n\tconst serverInstance = Bun.serve({\n\t\tfetch: honoService.app.fetch,\n\t\tport: httpConfig.port,\n\t})\n\n\treturn { honoService, serverInstance }\n}\n" | "import { serve } from '@hono/node-server'\nimport { serveStatic } from '@hono/node-server/serve-static'\nimport type { EventBridge, Logger, Service } from '@purista/core'\nimport { honoV1Service } from '@purista/hono-http-server'\nimport { apiReference } from '@scalar/hono-api-reference'\nimport httpConfig from './config/http.js'\n\nexport const getHttpServer = async (input: { eventBridge: EventBridge; logger: Logger; services: Service[] }) => {\n\tconst honoService = await honoV1Service.getInstance(input.eventBridge, {\n\t\tlogger: input.logger,\n\t\tserviceConfig: { ...httpConfig.serviceConfig, services: input.services },\n\t})\n\n\thonoService.app.get(\n\t\thttpConfig.serviceConfig.apiMountPath,\n\t\tapiReference({\n\t\t\tpageTitle: httpConfig.serviceConfig.openApi.info.title,\n\t\t\tspec: {\n\t\t\t\turl: `${httpConfig.serviceConfig.apiMountPath}/openapi.json`,\n\t\t\t},\n\t\t}),\n\t)\n\n\thonoService.app.get('*', serveStatic({ root: httpConfig.root }))\n\thonoService.openApi.addServer({ url: `http://localhost:${httpConfig.port}`, description: 'the local server' })\n\n\tawait honoService.start()\n\n\tconst serverInstance = serve({\n\t\tfetch: honoService.app.fetch,\n\t\tport: httpConfig.port,\n\t})\n\n\treturn { honoService, serverInstance }\n}\n" createMqttConfigFile
Functions
createMqttConfigFile(): string createNatsConfigFile
Functions
createNatsConfigFile(): string createProjectSnapshot
Functions
createProjectSnapshot(puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }, projectRootPath?: string): Promise<ProjectSnapshot> createPublicIndexHtml
Functions
createPublicIndexHtml(input: CreateProjectInput): string createPuristaCliEngine
Functions
createPuristaCliEngine(options: PuristaCliEngineOptions): { resolvePuristaCommand: (commandId: "add-service" | "add-command" | "add-subscription" | "add-stream" | "add-queue" | "add-queue-worker" | "add-agent" | "export-asyncapi" | "export-runtime-capabilities" | "export-schedule-manifest" | "export-kubernetes-cronjob" | "export-cloudevents-schema" | "init-project", input: TInput) => Promise<PuristaCommandResolution<TInput, unknown>>; runPuristaCommand: (commandId: "add-service" | "add-command" | "add-subscription" | "add-stream" | "add-queue" | "add-queue-worker" | "add-agent" | "export-asyncapi" | "export-runtime-capabilities" | "export-schedule-manifest" | "export-kubernetes-cronjob" | "export-cloudevents-schema" | "init-project", input: TInput) => Promise<PuristaCommandResult> } createReadmeFile
Functions
createReadmeFile(input: CreateProjectInput): string createServiceEventEnumFile
Functions
createServiceEventEnumFile(input: CreateProjectInput): string dotCase
Functions
dotCase(input: string, options?: Options): string getCommandBuilderFileContent
Functions
getCommandBuilderFileContent(input: { codeWriterOptions: Partial<Options>; commandDescription: string; commandName: string; enqueueOptions: EnqueueOption[]; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; ... }): string getCommandSchemaFileContent
Functions
getCommandSchemaFileContent(input: { codeWriterOptions: Partial<Options>; commandName: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string }): string getCommandTestFileContent
Functions
getCommandTestFileContent(input: { codeWriterOptions: Partial<Options>; commandName: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string }): string getCommandTypeFileContent
Functions
getCommandTypeFileContent(input: { codeWriterOptions: Partial<Options>; commandName: string; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string }): string getGeneralServiceConfigFileContent
Functions
getGeneralServiceConfigFileContent(input: { codeWriterOptions: Partial<Options>; serviceDescription: string; serviceName: string }): string getQueueBuilderFileContent
Functions
getQueueBuilderFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; queueDescription: string; queueName: string; serviceName: string; serviceVersion: string }): string getQueueSchemaFileContent
Functions
getQueueSchemaFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; queueName: string; serviceName: string; serviceVersion: string }): string getQueueTestFileContent
Functions
getQueueTestFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; queueName: string; serviceName: string; serviceVersion: string }): string getQueueTypeFileContent
Functions
getQueueTypeFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; queueName: string; serviceName: string; serviceVersion: string }): string getQueueWorkerBuilderFileContent
Functions
getQueueWorkerBuilderFileContent(input: { codeWriterOptions: Partial<Options>; intervalMs: number; maxParallelHandlers: number; mode: "continuous" | "interval" | "sequential"; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; queueName: string; ... }): string getQueueWorkerTestFileContent
Functions
getQueueWorkerTestFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; queueName: string; serviceName: string; serviceVersion: string; workerName: string }): string getServiceBuilderFileContent
Functions
getServiceBuilderFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string }): string getServiceConfigFileContent
Functions
getServiceConfigFileContent(input: { codeWriterOptions: Partial<Options>; serviceName: string; serviceVersion: string }): string getServiceFileContent
Functions
getServiceFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string }): string getServiceTestFileContent
Functions
getServiceTestFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string }): string getStreamBuilderFileContent
Functions
getStreamBuilderFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; responseEventName: string; serviceName: string; serviceVersion: string; ... }): string getStreamSchemaFileContent
Functions
getStreamSchemaFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string; streamName: string }): string getStreamTestFileContent
Functions
getStreamTestFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string; streamName: string }): string getStreamTypeFileContent
Functions
getStreamTypeFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string; streamName: string }): string getSubscriptionBuilderFileContent
Functions
getSubscriptionBuilderFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; puristaProject: PuristaProjectInfo; responseEventName: string; serviceName: string; serviceVersion: string; ... }): string getSubscriptionSchemaFileContent
Functions
getSubscriptionSchemaFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; responseEventName: string; serviceName: string; serviceVersion: string; subscriptionName: string }): string getSubscriptionTestFileContent
Functions
getSubscriptionTestFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; serviceName: string; serviceVersion: string; subscriptionName: string }): string getSubscriptionTypeFileContent
Functions
getSubscriptionTypeFileContent(input: { codeWriterOptions: Partial<Options>; puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }; responseEventName: string; serviceName: string; serviceVersion: string; subscriptionName: string }): string kebabCase
Functions
kebabCase(input: string, options?: Options): string loadPuristaConfig
Functions
loadPuristaConfig(projectRootPath?: string): Promise<{ $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }> materializeProjectGeneration
Functions
materializeProjectGeneration(plan: ProjectGenerationPlan): Promise<{ files: string[]; targetDirectoryPath: string }> noCase
Functions
noCase(input: string, options?: Options): string pascalCase
Functions
pascalCase(input: string, options?: PascalCaseOptions): string pascalSnakeCase
Functions
pascalSnakeCase(input: string, options?: Options): string pathCase
Functions
pathCase(input: string, options?: Options): string planProjectGeneration
Functions
planProjectGeneration(input: CreateProjectInput, options: { cwd: string }): ProjectGenerationPlan resolveProjectBlueprints
Functions
resolveProjectBlueprints(input: CreateProjectInput, options: { cwd: string }): ResolvedProjectBlueprints resolvePuristaCommand
Functions
resolvePuristaCommand<TInput>(commandId: "add-service" | "add-command" | "add-subscription" | "add-stream" | "add-queue" | "add-queue-worker" | "add-agent" | "export-asyncapi" | "export-runtime-capabilities" | "export-schedule-manifest" | "export-kubernetes-cronjob" | "export-cloudevents-schema" | "init-project", input: TInput, options?: PuristaCliEngineOptions): Promise<PuristaCommandResolution<TInput, unknown>> runPuristaCommand
Functions
runPuristaCommand<TInput>(commandId: "add-service" | "add-command" | "add-subscription" | "add-stream" | "add-queue" | "add-queue-worker" | "add-agent" | "export-asyncapi" | "export-runtime-capabilities" | "export-schedule-manifest" | "export-kubernetes-cronjob" | "export-cloudevents-schema" | "init-project", input: TInput, options?: PuristaCliEngineOptions): Promise<PuristaCommandResult> scanPuristaProject
Functions
scanPuristaProject(puristaConfig: { $schema: string; agentPath: string; eventBridge: "default" | "amqp" | "nats" | "mqtt" | "dapr"; eventConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake" | "constantCase" | "dotCase" | "pathCase" | "trainCase"; fileConvention: "camel" | "snake" | "kebab" | "pascal" | "pascalSnake"; formatter: "biome" | "prettier" | "none"; ... }, projectRootPath?: string): Promise<PuristaProjectInfo> sentenceCase
Functions
sentenceCase(input: string, options?: Options): string snakeCase
Functions
snakeCase(input: string, options?: Options): string split
Functions
split(value: string): string[] splitSeparateNumbers
Functions
splitSeparateNumbers(value: string): string[] trainCase
Functions
trainCase(input: string, options?: Options): string