turbo_promptable 0.4.0
turbo_promptable: ^0.4.0 copied to clipboard
Object-Oriented Prompting framework for defining AI agent prompts, roles, workflows, and tools as type-safe Dart objects.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.4.0 - 2026-04-17 #
Added #
- Tool command model
ToolCommandfor declaring individual operations that aToolexposes (CLI subcommands, REST endpoints, MCP functions, etc.) - Tool parameter models
ToolParameterandToolParameterOptionfor describing command inputs, enumerated options, defaults, and required flags - Tool ability model
ToolAbilityfor describing the capabilities surfaced by a tool Mcptool model for declaring Model Context Protocol servers alongside the existingApi,Cli, andScripttool kindsTMetaDatais now re-exported frommeta/t_promptable.dartso downstream models that depend on it no longer need a separate import
Changed #
- BREAKING: Removed the
Agentroot model. UsePersonaextended withTSpawnablefields (cliTool,command,promptDelivery) to represent a launchable agent. - BREAKING: Dropped the
metaDataconstructor parameter from leaf context/root models that do not need it (Actor,Concept,Documentation,Project,Stakeholder,Subject,Checklist,Context, and related models). Pass metadata only on the models that still declare the parameter. - BREAKING: Removed barrel exports for internal/auxiliary members:
core/constants/tp_keys.dart,core/models/t_config.dart,core/models/t_embed_type.dart,core/models/t_md_section.dart,core/models/t_render_type.dart,core/typedefs/t_body_builder_def.dart,workspace/models/checklists/acceptance_criteria.dart,workspace/models/checklists/constraints.dart,workspace/models/checklists/non_goals.dart, andworkspace/models/meta/t_tag.dart. Consumers that relied on those names should import the deep paths directly or model their own equivalents. TPromptable.mdFactorynow derives its body fromtoJson()(minus the metadata key) so frontmatter/body separation is consistent across every subclass.- Bumped minimum
turbo_serializableconstraint to^0.5.0(pulls in thets_map_extensionrename and the wider barrel exposure from that release).
Fixed #
- Removed unused and unnecessary imports flagged by the analyzer in
workspace/models/context/collection.dart,workspace/models/root/activity.dart, andworkspace/models/root/persona.dart.
0.3.0 - 2026-04-15 #
Changed #
- BREAKING: Remove Dart source rendering from workspace entities (per-entity emission methods, helper mixins/classes under
lib/core/helpers/, and the dedicated rendering test file). JSON, YAML, Markdown, and XML serialization remain. - Document public members on
Abilityso pub.dev documentation scoring stays at or above the 20% API threshold.
0.2.0 - 2026-04-13 #
Added #
TSpawnablebase class for promptable models that can be spawned as CLI processesTCliToolenum for supported CLI tools (Claude Code, Cursor, Windsurf, etc.)TPromptDeliveryenum for prompt delivery methods (system, user, stdin, file)- Spawn module with
TFile,TFolder, andTSpawnConfigmodels - New root models:
Activity,Agent,Checklist,Context,Goal,Input,Instruction,Issue,Output,Persona,PromptField,Role,Spec,Template,Tool,Workflow - New spec models:
Mockup,Module,Prototype,Taskwith cross-referencing viaOf*interfaces TDartRenderHelpermixin for rendering models as Dart constructor callsTDartStringHelperfor Dart-safe string escaping- Workspace abstracts:
OfAbilities,OfFeatures,OfIssues,OfJourneys,OfMockups,OfModules,OfPrds,OfProjects,OfPrototypes,OfScenarios Projectcontext modelStepworkflow model with ordering and substep support
Changed #
- BREAKING: Removed
TTaskroot model — replaced by the richerTaskspec model - BREAKING: Expanded
Rolefrom a simple model to a full spawnable with activities, checklists, instructions, templates, tools, and workflows - BREAKING:
PersonaandAgentnow extendTSpawnablewith CLI tool and command support - Enriched
Activitywithpersona,goal,input,output,context, andworkflowfields - Enriched
Inputwithformat,constraints, andvalidationsfields - Enriched
Outputwithformat,constraints,validations, anddeliverablesfields - Enriched
Instructionwithscope,priority,applicability, andexamplesfields - Enriched spec models (
Ability,Feature,Requirement,Scenario) with cross-referencing IDs
0.1.0 - 2026-04-10 #
Added #
- Workspace model system with 8 domain groups: checklists, context, instructions, memories, meta, root, specs, tools, and workflows
- Checklist models:
TAcceptanceCriteria,TConstraints,TNonGoalswith JSON serialization - Context models:
TActor,TCollection,TConcept,TDocumentation,TReference,TStakeholder,TSubjectwith JSON serialization - Instruction models:
TConvention,TSkillwith JSON serialization - Memory models:
TDecision,TEvent,TInsight,TMeeting,TProgresswith JSON serialization - Meta models:
TMetaData,TPromptablewith JSON serialization - Root models:
TActivity,TAgent,TChecklist,TContext,TGoal,TInput,TInstruction,TIssue,TMemory,TOutput,TPersona,TPromptField,TRole,TSpec,TTask,TTemplate,TTool,TWorkflowwith JSON serialization - Spec models:
TAbility,TFeature,TJourney,TRequirement,TScenariowith JSON serialization - Tool models:
TApi,TCli,TScriptwith JSON serialization - Workflow model:
TStepwith JSON serialization - Enums:
TBodyType,TRefType - Core extensions:
TCollectionExtensionsfor YAML and XML serialization of lists/maps - Core models:
TConfig,TEmbedType,TMdSection,TRenderType - Spawn models:
TFile,TFolder,TSpawnConfig json_annotationdependency for generated JSON serialization
Changed #
- BREAKING: Restructured from flat DTO-based architecture to domain-grouped workspace model system
- BREAKING: Removed all previous DTO classes (TeamDto, AreaDto, RoleDto, CollectionDto, InstructionDto, etc.)
- BREAKING: Removed example files and export configuration system (ExportConfig, ExportType, ExportResult)
- Replaced
pathdependency onturbo_serializablewith versioned constraint^0.3.0
0.0.2 - 2026-03-19 #
0.0.1 - 2026-01-01 #
Added #
- Initial release
- TurboPromptable base class extending TurboSerializable
- Convenience
nameanddescriptionconstructor parameters on all DTOs - Automatic FrontmatterDto creation from name/description
- ExportConfig with fileType, bodyType, shouldExport, fileName
- ExportType enum (md, yaml, json, xml, txt, dart)
- BodyType enum (markdown, yaml, json, xml, dart)
- Tree structure with config inheritance via resolveConfig
- YAML frontmatter generation via generateFrontmatter
- Body export via exportBody
- FrontmatterDto for structured metadata (name, description, values)
- ExportResult for export output (body, frontmatter, config, promptable)
- export() method with shouldExport filtering
- exportTree() method for recursive tree export
- Hierarchy DTOs: TeamDto, AreaDto, RoleDto
- Knowledge DTOs: CollectionDto, InstructionDto, WorkflowDto, ReferenceDto, TemplateDto, RawBoxDto, ActivityDto, AgentDto, RepoDto
- Tool DTOs: ToolDto, ApiDto, ScriptDto, ToolMethodDto, ToolParameterDto
- PersonaDto for agent identity