shepherd 0.12.24
shepherd: ^0.12.24 copied to clipboard
Advanced CLI automation and productivity engine for Dart. Simplifies workflows and bridges Design Systems to UI testing.
0.12.24 - 2026-10-01 #
Interactive AI Modes (/plan, /auto, /fast) and Tier Switching #
- Interactive Execution Modes in
shepherd ai:/plan [tarefa]: Switches session to PLAN mode. Injects software architect directives instructing the LLM to analyze the workspace, identify exact affected files, evaluate dependencies, and produce a step-by-step implementation plan without modifying files yet./auto [tarefa]: Switches session to AUTO mode. Instructs the model to generate full file patches (// FILE: path) and automatically applies them safely to the project workspace./fast [tarefa]: Switches session back to FAST direct mode for quick, concise answers./mode <fast|plan|auto>: Inspects or defines the active execution mode.
- Interactive Reasoning Tier Control:
/tier <fast|deep>: Toggles between quick responses (fast) and deep reasoning (deep) with architectural edge-case scrutiny.
- Dynamic Prompt & Workspace Preamble:
- Added project directory preamble so local and remote models know their execution context, local RAG indexing, and MCP tool capabilities.
- Interactive input prompt now reflects active mode (e.g.
[plan] >,[auto] >,[fast] >) with live status in the telemetry footer.
0.12.23 - 2026-10-01 #
AI Telemetry, MCP Tool Execution & Reasoning Stream #
- Telemetry & Metrics Alignment:
- Extended AI telemetry events with
profile,isEstimatedindicator (for local heuristic token calculations), andtoolCallsCount. - Added native
mcp_tool_calltelemetry events reporting tool usage, server identity, and execution status to Shepherd backend dashboard.
- Extended AI telemetry events with
- MCP Tool Integration:
- Added
AiMcpIntegrationService,AiMcpToolCallEntity, andAiMcpToolCallModelto execute and track Model Context Protocol tools within interactive AI workflows.
- Added
- Reasoning Stream Parsing:
- Added
AiReasoningStreamTransformer,AiReasoningChunkEntity, andAiReasoningChunkModelfor transparently capturing<think>reasoning blocks from modern reasoning models.
- Added
- Context Budget & Vector Store:
- Added
AiContextBudgetServiceto supervise prompt context limits. - Enhanced vector chunk deduplication using SHA256 hashes in
AiVectorDatabase.
- Added
0.12.22 - 2026-09-30 #
Dynamic Ollama Model Discovery & Multi-Model Selection #
- Automatic Ollama Model Auto-Discovery:
- The model switcher (
/modelandshepherd ai model) now queries the local Ollama instance (/api/tags) and automatically displays all models downloaded and installed locally (e.g.qwen2.5-coder:7b,llama3.1,deepseek-r1:8b,codellama, etc.) as numbered selectable options. - When Ollama is offline, gracefully falls back to cached/known models without blocking.
- The model switcher (
- Direct Model Selection Syntax:
- Developers can type any Ollama model name directly in the prompt or command (e.g.
/model qwen2.5-coder:7b,/model ollama deepseek-r1, orshepherd ai model ollama <modelo>). - Added persistence: newly selected models are dynamically registered in
known_modelsin.shepherd/ai_config.yaml.
- Developers can type any Ollama model name directly in the prompt or command (e.g.
- Improved Connection Error Guidance:
- Friendly actionable diagnostics when Ollama is offline or
Connection refusedoccurs, advising developers to startollama serveor switch models with/modelormedium.
- Friendly actionable diagnostics when Ollama is offline or
0.12.21 - 2026-09-30 #
Interactive Shell Navigation (cd, pwd, workspace) & Smart Project Clean #
- Built-in Shell Navigation (
cd,pwd):- Added native
cdandpwdcommands insideshepherd shell(REPL) to navigate directories without exiting the session. - Supports
~home expansion, relative paths,..,-(previous directory), and absolute paths. - Automatically jumps to registered workspace projects by name: typing
cd <nome_do_projeto>navigates straight to the project folder. - Automatically jumps to workspace root via
cd workspace,cd ws, orcd root. - Re-evaluates workspace manifest and project context dynamically upon changing directories, updating the prompt and session in real time.
- Added native
- Workspace Project Listing (
workspace/ws):- Lists all registered projects in
.shepherd/workspace.yamlwith their categories, paths, and indicator for the currently active project.
- Lists all registered projects in
- Smart Target Resolution in
shepherd clean:shepherd clean <alvo>can now target a specific project by name, matching registered projects inworkspace.yamlor any subpath.- Uses
manifest.rootDirto accurately resolve project paths even when invoked from a nested subdirectory.
0.12.20 - 2026-09-30 #
Resilient Safe Workspace Scanning in shepherd clean #
- Safe Directory Traversal & Permission Guard:
- Replaced unshielded recursive directory streams with a safe breadth-first scanner in
clean_command.dart. - Automatically catches and silently skips
PathAccessException/FileSystemExceptionon macOS/Linux protected folders (e.g.Photos Library.photoslibrary,Library, etc.).
- Replaced unshielded recursive directory streams with a safe breadth-first scanner in
- System and Media Directory Exclusions:
- Excluded OS system and media directories (
Pictures,Movies,Music,Library,Applications,System,.Trash,.cache). - Added home directory (
~) safeguard: prevents runaway scans across user disks if executed from the home directory root.
- Excluded OS system and media directories (
- Smart Dart vs Flutter Detection:
- Differentiates pure Dart packages from Flutter projects, executing
dart pub getfor Dart andflutter clean+flutter pub getfor Flutter.
- Differentiates pure Dart packages from Flutter projects, executing
0.12.19 - 2026-09-30 #
Shepherd Shell Slash Command Interception & Dynamic Model Switching #
- Universal Slash Command Interception in
shepherd shell:- The Shepherd Shell REPL (
shepherd shell) now intercepts commands starting with/(such as/model,/modelo,/change-model,/help,/clear,/exit,/index), preventing them from being mistakenly forwarded as natural language prompts to the LLM.
- The Shepherd Shell REPL (
- Dynamic Model Switching from REPL:
- Running
/modelormodelin the shell opens the interactive model selection menu. - Running
/model <provedor_ou_modelo>(e.g./model sonnet 5,/model chat_gpt,/model ollama) immediately updates the active model and synchronizes the session state in real time.
- Running
0.12.18 - 2026-09-30 #
Smart Model Alias Normalization & Provider-Level Default Persistence #
- Precise Model Name Normalization:
- Implemented
_normalizeModelNameto cleanly decouple provider aliases from specific model identifiers. - Commands like
shepherd ai model sonnet 5,shepherd ai model "sonnet 5",sonnet-5, andsonnet 4.6instantly resolve toclaude-sonnet-5andclaude-sonnet-4-6.
- Implemented
- Automatic Provider-Level Default Model Persistence:
- When switching models via
shepherd ai model <modelo>or interactive/model, Shepherd now updates bothactive_modeland the provider'sdefault_modelin.shepherd/ai_config.yaml. - Future switches to that provider (e.g.
shepherd ai model claude) automatically recall the user's latest chosen model for that provider.
- When switching models via
0.12.17 - 2026-09-30 #
Anthropic Claude Sonnet 5 Upgrade & Flexible Aliases #
- Claude Sonnet 5 by Default:
- Upgraded the primary Anthropic default model from legacy versions to
claude-sonnet-5. - Added support for the Anthropic 4.6 family, including
claude-sonnet-4-6andclaude-opus-4-6inAiModelCatalogService.
- Upgraded the primary Anthropic default model from legacy versions to
- Extended Sonnet Aliases & Prefix Resolution:
- Dynamic inference now recognizes
sonnet*prefixes directly (e.g.,sonnet 5,sonnet-5,sonnet 4.6,sonnet-4.6,claude-5,claude 5). - Typing
shepherd ai model sonnet 5orshepherd ai model claudeautomatically points toclaude-sonnet-5.
- Dynamic inference now recognizes
0.12.16 - 2026-09-30 #
Provider-Agnostic Dynamic Model Switching & Neutral Provider Resolution #
- Universal Model Switching Subcommands (
shepherd ai model/modelo/change-model):- Direct switching between models and providers from the command line:
shepherd ai model [nome_ou_provedor]. - Interactive selection menu when executed without arguments: lists all configured providers with current active indicator (★).
- Direct switching between models and providers from the command line:
- Interactive Chat Dynamic Switching (
/model//modelo):- Instant in-session model switching during
shepherd aiinteractive chat without restarting the session.
- Instant in-session model switching during
- Provider Neutrality & Parity:
- Completely balanced, provider-agnostic architecture giving equal treatment to Google Gemini, OpenAI (ChatGPT), Anthropic (Claude), and Ollama/LocalAI.
- Symmetric menu rendering: 1 balanced slot per configured provider reflecting the user's specific configured model and credentials from
.shepherd/ai_config.yaml. - Rich alias matching:
chat_gpt,chatgpt,openai,claude,anthropic,gemini,google,ollama,local. - Dynamic model prefix inference without biased fallbacks: correctly routes
gpt-*,o1-*,o3-*,claude-*,gemini-*,llama*,deepseek*, etc.
- Balanced Adaptive RAG Policy:
- Local models (
ollama,local_ai): RAG active by default ($0 cost, 100% private codebase retrieval). - Cloud paid models (
openai,anthropic,gemini): RAG disabled by default to safeguard API token consumption, easily enabled via--ragor/rag on.
- Local models (
- Model State Management:
- Implemented
copyWithonAiConfigModelfor clean, immutable persistence to.shepherd/ai_config.yaml.
- Implemented
0.12.15 - 2026-09-30 #
Adaptive Smart RAG & Multi-Language Cost-Saving Optimization #
- Local-First Adaptive RAG Architecture:
- RAG vector context injection is now active by default for local models (
ollama,local_ai,--local), providing unlimited, 100% private, and zero-cost codebase retrieval. - Automatically disabled by default for remote/paid cloud providers (Google Gemini, OpenAI, Anthropic) to prevent accidental and excessive API token consumption.
- RAG vector context injection is now active by default for local models (
- Explicit Opt-in / Opt-out Flags (
--rag/--no-rag):- Developers can pass
--ragto enable vector context on cloud models, or--no-ragto completely disable it for any provider.
- Developers can pass
- Trilingual Friendly Tips (PT / EN / ES):
- Clear, actionable tips displayed when executing cloud queries without
--rag, informing users that local models offer free RAG by default. - Handled cleanly via
AiI18nHelper(ragCloudTip,ragIndexTip,ragStatusLabel).
- Clear, actionable tips displayed when executing cloud queries without
- Interactive Chat Slash Commands:
- In
shepherd aiinteractive chat, users can now toggle RAG in real time with/rag on,/rag off, or check current status with/rag. - Header displays exact status label:
RAG: Local (Active / Free),RAG: Cloud (Active via --rag), orRAG: Disabled (use --rag).
- In
0.12.14 - 2026-09-27 #
Azure DevOps (Azure Connect) & GitHub Dual Remote Integration #
- GitRemoteHelper & Auto-Detection: Added robust parser in
git_remote_utils.dartthat automatically detects whether the active repository is hosted on Azure DevOps (dev.azure.com,visualstudio.com,ssh.dev.azure.com) or GitHub (github.com), extracting organization, project, repository name, and web base URLs. - Clean Architecture Models: Introduced
GitRemoteRepoEntityandGitRemoteRepoModeladhering to Domain-Driven Design patterns. - Workspace Configuration Alignment: Enhanced
config_utils.dartto readrepoTypeandpullRequestEnabledfrom.shepherd/config.yaml, ensuring 100% interoperability with Shepherd Studio Engine workspace configurations. - Multi-Platform PR Creation in Shepherd Flow:
- Azure DevOps REST API: Automatic Pull Request creation using Azure DevOps REST API v7.1 when
AZURE_DEVOPS_EXT_PATorAZURE_TOKENenvironment variables are configured. - Azure CLI Support: Seamlessly falls back to
az repos pr createif the Azure CLI is installed. - Interactive Fallback: Directly opens the Azure DevOps
/pullrequestcreateweb URL if CLI or tokens are not available. - GitHub Continuity: Full backward compatibility with
gh pr createand GitHub web comparison URLs.
- Azure DevOps REST API: Automatic Pull Request creation using Azure DevOps REST API v7.1 when
- Deploy Menu Overhaul: Updated
deploy_menu.dartto recognize Azure DevOps repositories and dynamically tailor release and PR options.
0.12.13 - 2026-09-27 #
Shepherd Flow Interactive Menu Integration & Direct Release Support #
- Main Menu Integration: Added option
[F] Shepherd Flow (TBD Release Automation) 🚀to the main interactive menu (general_menu.dart), making the Trunk-Based Development release flow accessible with a single keystroke. - Deploy Menu Overhaul: Promoted
shepherd flowto option1. 🚀 Execute Automated Release Flowindeploy_menu.dart, seamlessly connecting the automated pipeline with manual changelog and PR management options. - Direct Release & Auto-Tagging (
--no-pr): EnhancedrunFlowCommandwhen Pull Requests are skipped (--no-pr), automatically offering to merge the release branch into the principal branch and create/push the git tagvX.Y.Zimmediately. - Automatic
lib/src/version.dartSync:_updateAppVersionnow automatically detects and updates Dart version constant files in sync withpubspec.yaml, eliminating version drift in Dart packages.
0.12.12 - 2026-09-27 #
Local SQLite Vector Store & Semantic RAG Indexer #
- Decentralized Local Vector Database: Implemented a 100% local, private vector database stored in
.shepherd/vectors/embeddings.dbpowered bysqflite_common_ffi. Excluded from git repositories via.shepherd/.gitignore. - Trilingual Indexing Commands (
shepherd ai index/indexar):- Full multilingual support in English, Portuguese, and Spanish:
shepherd ai index/shepherd ai indexar. - Flags for complete control:
--force/--forcar/--forzar,--status/--estado,--clear/--limpar/--limpiar, and--project/--projeto. - Incremental indexing: skips unchanged files in milliseconds using modification timestamps.
- Full multilingual support in English, Portuguese, and Spanish:
- Hybrid Embedding Engine (
AiEmbeddingService):- Supports deep neural embeddings via Ollama/LAN AI (
nomic-embed-text), Google Gemini (text-embedding-004), and OpenAI (text-embedding-3-small). - Built-in zero-latency local dense vectorizer (128 dimensions, L2-normalized) for 100% offline indexing and search without external services.
- Supports deep neural embeddings via Ollama/LAN AI (
- Smart Workspace Scanner & Overlapping Chunking:
- Automatic detection of multi-repo workspaces (
.shepherd/workspace.yaml) or standalone project directories. - Chunks code with line overlap to preserve function/class context.
- Automatic detection of multi-repo workspaces (
- Automatic RAG Integration in AI Invocations:
- Prompts in
shepherd aiautomatically query the local vector store and attach the most relevant code chunks. - Interactive Shell REPL (
ShepherdShell) includes vector retrieval per message and direct/indexslash command. - Inference footers display exact vector chunk count:
RAG: local-vector (N chunks).
- Prompts in
0.12.11 - 2026-09-27 #
Localized Shell Welcome Banner & Local/LAN AI Session Resolution #
- Localized Shell Welcome Banner: Automatically renders welcome status, offline tool notices, and help guidance in the developer's language (EN / PT / ES) based on
AiI18nHelper.detectSystemLanguage(). - Local/LAN AI Session Resolution Fix: Updated
ShellSessionModel.loadFromWorkspace()to detect configured local AI engines (Ollama, local_ai, LAN servers) even whenapiKeyis empty, properly showing active provider, model, and local status in the shell banner.
0.12.10 - 2026-09-27 #
Multilingual 3-Profile AI System (EN / PT / ES) & Guided LAN Setup #
- Multilingual Command & Flag Support: Full polyglot recognition across English, Portuguese, and Spanish simultaneously:
- Advanced Model Profile:
--advanced(EN),--avancado(PT),--avanzado(ES), or--deep. - Medium Model Profile:
--medium(EN),--medio(PT / ES), or--fast. - Local Zero-Cost Profile:
--local(EN / PT / ES).
- Advanced Model Profile:
- Shepherd Shell Trilingual Commands: Direct slash commands
/advanced,/avancado,/avanzado,/medium,/medio,/local, and/help,/ajuda,/ayudain interactive chat. - Dedicated Profile Slots (
AiModelSlotEntity&AiModelSlotModel): Configurable in.shepherd/ai_config.yamlto bind preferred engines to Advanced, Medium, and Local profiles, with easy switching of the active default. - Frictionless Local vs. LAN Setup: Interactive guided configuration in
shepherd ai configprompts whether local AI runs on[1] This machine (localhost)(instant zero-URL connection) or[2] Another machine on LAN (IP address).
0.12.9 - 2026-09-27 #
Universal Local & LAN AI Server Support (LM Studio, vLLM, Jan, LocalAI, Ollama) #
- Support for Any AI Software on Local Network: Introduced first-class support for any self-hosted or LAN-accessible AI server (
local_ai), including LM Studio, vLLM, Jan, LocalAI, llama.cpp, and Text Generation WebUI via standard OpenAI-compatible endpoints (/v1/chat/completionsand/v1/models). - Smart LAN Subnet & Zero-Cost Detection: Automatically detects LAN and loopback addresses (
localhost,127.0.0.1,0.0.0.0,192.168.x.x,10.x.x.x,172.16-31.x.x,*.local), treating any connected local machine as zero cost:- Terminal markers display
[Local / Gratuito]. - Shepherd Union governance telemetry reports
providerCategory: "local". - API keys are made optional for local endpoints (no mandatory tokens or cloud accounts required).
- Terminal markers display
- Interactive Multi-Provider Configuration: Added
[5] Servidor Local / Rede Localtoshepherd ai configwith custom base URL prompts, optional key input, and instant model catalog queries (/models) over the local network.
0.12.8 - 2026-09-27 #
Asynchronous AI Telemetry to Union & Remote LAN Ollama Support #
- Union AI Telemetry Integration (
sendAITelemetry): Ships non-intrusive, privacy-preserving governance telemetry (llm_callandmemory_opfor RAG) directly to Shepherd Union / BFF in the background without exposing user prompts or code. - Local Network / LAN Ollama Support: Ollama configuration now fully supports remote LAN IP addresses, hostnames, and custom ports (e.g.
http://192.168.1.50:11434,my-gpu.local:11434), as well as automatic fallback toOLLAMA_HOST/OLLAMA_BASE_URLenvironment variables.
0.12.7 - 2026-09-27 #
Token Telemetry & Local Free vs. Paid API Classification #
- Token Economy Marker: Implemented real-time token tracking in inference footers, mirroring Shepherd Studio Engine /
shepherd_intelligence. - Transparent Usage Classification: Distinguishes between local free tokens (e.g. Ollama daemon, marked as
[Local / Gratuito]) and cloud billing tokens (e.g. Gemini, OpenAI, Claude, marked as[API / Pago]). - Prompt + Completion Breakdown: Displays exact prompt (
p) and completion (c) token counts (e.g.,Tokens: 193 [158p+35c] (API / Pago)).
0.12.6 - 2026-09-27 #
Local RAG Usage Status & Visual Markers #
- Transparent Context/RAG Status: Added dynamic RAG usage indicators to LLM response footers, showing exactly when local project files and workspace context are utilized (
RAG: Local (Workspace)orRAG: Local (X arqs)). - Shepherd Shell RAG Integration: Added RAG status badges to the Shepherd Shell welcome box, interactive prompt headers, and
statuscommand.
0.12.5 - 2026-09-27 #
Multi-Model BYOK Architecture & Dynamic Model Sync #
- Direct Multi-Provider Inference: Re-architected
shepherd aito talk directly from the developer's machine to the configured AI provider (Google Gemini, OpenAI, Anthropic Claude, or local Ollama). Eliminates central proxy latency, network errors, and cross-tenant billing risks. - Simultaneous Multi-Model Configuration: Developers can now configure and store API keys and endpoints for multiple providers at the same time in
.shepherd/ai_config.yamlor global~/.shepherd/ai_config.yaml, easily choosing or switching active models without losing other keys. - Dynamic Online Model Sync: Interactive model selector in
shepherd ai configfetches up-to-date models directly from provider APIs (Gemini, OpenAI, Anthropic, and local Ollama daemon) with quick selection numbers. - Persistent Manual Model Addition: Custom or newly released models can be added manually on the fly and are immediately saved into the persistent local catalog.
0.12.4 - 2026-09-27 #
Shepherd Platform AI Gateway Route Standardization #
- Unified AI Gateway Host: Standardized
ShepherdPlatformAiServicegateway URL to point directly tounion.shepherdplatform.com(union-uat.shepherdplatform.comfor UAT), eliminating the requirement for a separateai.shepherdplatform.comsubdomain.
0.12.3 - 2026-09-26 #
Fix Environment Syncing with Shepherd Union #
- Robust Environment Parsing: Fixed a bug where
.shepherd/environments.yamlwithenvironments: []or nested structures mistakenly sentenvironmentsas an environment name, causing a 404Global environment not registered: environmentserror during project linking and sync. - Safe Fallback: Added
parseLocalEnvironmentssupporting both flat mappings (dev: develop) and structured lists/maps, properly filtering out invalid or placeholder names.
0.12.2 - 2026-09-26 #
Shell UX Polish & Banner Border Alignment #
- Workspace-Centric Display: Removed redundant
Projetodisplay from the REPL welcome banner and status view; now prominently showcases the active Workspace name. - Pixel-Perfect Banner Borders: Solved terminal border overflow by implementing unicode-aware display width calculation (
_visualWidth) for emojis and wide glyphs with dynamic padding. - Removed Startup Update Notification: Eliminated intrusive and conflicting "Update available" startup banner.
0.12.1 - 2026-09-26 #
Shepherd Tag Unification & Test Generation Refactor #
- Shepherd Tag Standardization: Replaced all legacy Maestro references with Shepherd Tag across CLI commands, help documentation, and automated flow generation.
- Normalized Flow Directory: Automated test flows generated by
shepherd test genare now placed in.shepherd/flows/. - CI / Distribution Build Fixes: Cleaned release packaging rules and resolved package exclusions in
.pubignoreand.gitignore.
0.12.0 - 2026-09-26 #
MCP (Model Context Protocol) Native Client Integration #
- Shepherd Studio & Intelligence Interoperability: Full compatibility with Shepherd Studio Engine (
pkg/mcpclient) and registry format (~/.shepherd/mcp_servers.jsonand.shepherd/mcp_servers.json), as well as standard.shepherd/mcp.json. - Dual Transport Support: Connect to MCP servers via standard I/O child processes (
stdio) or streamable HTTP/SSE endpoints (http). - MCP CLI & Shell Commands: Added
shepherd mcp [list|status|call]and interactive shell integration to discover tools, check handshake latency, and execute MCP tool calls directly. - AI Prompt Context Injection: Enabled MCP tools are automatically discovered and summarized into the AI context for
shepherd ai, empowering LLM agents with local environment tools.
Multi-Platform Standalone Binary Distribution (Universal CLI) #
- Zero-Dependency Native Binaries: GitHub Actions automated pipeline (
release_binaries.yml) compiling standalone AOT native executables for macOS (Apple Silicon arm64 + Intel x64), Linux (x64), and Windows (x64) attached to GitHub Releases. - Universal Install Scripts:
scripts/install.sh: One-liner installer for macOS and Linux (curl -fsSL https://... | bash) with auto-architecture detection.scripts/install.ps1: One-liner installer for Windows PowerShell (irm https://... | iex).
0.11.2 - 2026-09-26 #
Workspace & Project Architecture Alignment #
- Workspace-Level
skills.yaml: Introduced.shepherd/skills.yamlto configure organization/workspace AI skills and workflows, automatically ingested byshepherd aias context for the Shepherd Platform Gateway & Orchestrator. - Project-Level
specs.yaml: Introduced.shepherd/specs.yamlcontaining architectural guidelines, DDD patterns, and project requirements, injected into AI context for localized code generation. - Automatic Scaffolding on Startup (
WorkspaceScaffoldService): When launchingshepherdor enteringshepherd shell, all missing canonical Shepherd Platform YAML files (workspace.yaml,skills.yaml,domains.yaml,sync_config.yaml,project.yaml,specs.yaml,environments.yaml,feature_toggles.yaml,config.yaml,microfrontends.yaml,shepherd_activity.yaml) are automatically created without overwriting existing configurations. - Workspace & Project Hierarchy in Shell: Display both active Workspace name and Project name across the REPL prompt (
shepherd [Workspace > Projeto] (fast) >), status command, and welcome banner. - Secret Protection: Automatically maintains
.shepherd/.gitignoreto keep credentials and local cache (session.yaml,ai_config.yaml,shepherd.db,update_cache.yaml,environment_variables.yaml) safely out of version control.
0.11.1 - 2026-09-26 #
LLM Engine Clarity & Transparency #
- Active Engine Indicators: Visible model name (e.g.
gemini-2.5-flash,gemini-1.5-pro), provider, tier, tokens, and latency displayed inshepherd shellbanners,statuscommand, and in response footers ofshepherd ai. model/engineShell Command: Inspect provider, model, tier, and execution mode directly in the REPL.
Local File Reading & Safe File Modifications (Coding Agent Capabilities) #
- Local Context Injection (
@arquivo&-f/--file): Mention any local file with@path/to/filein prompts or pass-f <path>to automatically read and attach file contents into AI prompt context. - Diff Preview & Confirmation (
[S/n]): AI-proposed code modifications and file creations are rendered as unified colored diffs for review before applying. - Auto-Execution in
--auto: Files are modified automatically with workspace safety checks preventing path traversal.
Shell as Default CLI Experience #
- Interactive Shell by Default: Running
shepherdwithout arguments now immediately launchesShepherdShellinstead of the legacy numbered menus. - Auto-Routing in Shell: Prompts typed directly into the shell without command prefixes are automatically forwarded to
shepherd ai.
0.11.0 - 2026-09-26 #
Shepherd Interactive Shell (REPL) #
shepherd shell: Added persistent interactive shell environment. Keeps project context in memory, allows running commands directly (ai,clean,flow,changelog,status, etc.) without shell re-initialization overhead.- Configurable Modes & Tiers: Manage execution modes (
fast,plan,auto) and model tiers (fast,deep) viamode <fast|plan|auto>andtier <fast|deep>.
Shepherd Platform AI Gateway #
- Multi-Model & Enterprise RAG Integration: Integrated
shepherd aiwith the Shepherd Platform AI Gateway, utilizing private RAG knowledge bases, contextual embeddings, and autonomous execution pipelines fromshepherd_intelligence. - Plan Review & Autonomous Execution: Added
--planand--autoexecution modes with interactive step-by-step confirmation and direct action execution. - Graceful Local Fallback: When offline or unauthenticated,
shepherd aigracefully suggests creating a free platform account athttps://shepherdplatform.comor falls back to local direct Gemini keys.
Productivity Tools Guarantee & Branding #
- 100% Offline Local Productivity: Clarified and ensured all core developer commands (
shepherd clean,shepherd flow,shepherd changelog,shepherd analyze,shepherd test) remain completely functional offline without requiring an account or network access. - Marmelotech Official Attribution: Added official credits and links to Marmelotech and the free Shepherd Platform tier across all menus, shell banners, and CLI informational displays.
0.10.4 - 2026-09-24 #
Fixes #
- Default Gemini model deprecated:
gemini-2.5-flashis no longer available to new users ("This model models/gemini-2.5-flash is no longer available to new users..."). Changed the default used byshepherd aiandshepherd ai configtogemini-3.8-flash.
0.10.3 - 2026-09-24 #
Fixes #
shepherd logincrashing withNoSuchMethodError: The method '[]' was called on nullduring environment sync: root cause was server-side (shepherd_bff'ssyncProjectEnvironmentswas returningenvironment: nullfor every result — fixed separately) — this CLI-side change makes the sync defensive against a malformed/partial response either way: a result with noenvironmentis now skipped instead of crashing the wholeshepherd loginflow.
0.10.2 - 2026-09-24 #
Fixes #
- Error messages showing the literal text
$einstead of the actual error:\$e/\${...}inside regular (non-raw) Dart strings escapes interpolation — copied from the GraphQL query strings just above them, where that escaping is required, into the plain error-printing statements right after, where it isn't. Affectedshepherd login's connection/project-fetch/environment-sync error messages andshepherd changelog's telemetry sync error messages. This is what was hiding the real cause behind "Could not sync environments: $e" after a successful login.
0.10.1 - 2026-09-24 #
Fixes #
shepherd loginfetch-projects step failing with "Sessão inválida ou expirada": the CLI was sending the session token asAuthorization: Bearer <token>, but shepherd_bff only ever readX-Auth-Token. This mismatch existed for a long time with no visible effect because the affected resolvers had no auth check at all until a recent backend security fix started enforcing it, which is what surfaced this bug. Fixed inshepherd login(both the projects fetch and the environments sync) and inshepherd changelog's telemetry sync, all now sendingX-Auth-Token. Two of those call sites (_fetchServerRevision,_syncEnvironments) had a second, independent bug where the token was interpolated as\$tokeninside a non-raw string, sending the literal text$tokeninstead of the actual value — also fixed.
0.10.0 - 2026-09-24 #
Shepherd AI #
shepherd ai: New command that sends a prompt (CLI argument and/or stdin pipe) to Gemini and streams the response. Requires an authenticatedshepherd loginsession and automatically includes local project context (.shepherd/project.yaml,.shepherd/environments.yaml,devops/domains.yaml) in every prompt.shepherd ai config: New interactive command to set the model and API key used byai, stored in.shepherd/ai_config.yaml. Falls back to theGEMINI_API_KEYenvironment variable when no config exists.--scope project|workspace: New option onshepherd ai(defaultproject) —workspacealso includes a summary of every project registered in.shepherd/workspace.yaml(the multi-repo catalog generated by Shepherd Studio orshepherd init), so the AI can be scoped to just the current project or the whole workspace at runtime.- Interactive chat mode: Running
shepherd aiwith no prompt in a real terminal now starts a REPL-style conversation, keeping history between turns, instead of printing a usage message.
Fixes & Housekeeping #
session.yamlandai_config.yamlnow live in.shepherd/(same directory asproject.yaml/workspace.yaml) instead of a separate global directory, and are automatically added to.shepherd/.gitignoreso a login token or API key can never end up committed.
0.9.8 - 2026-08-06 #
- Workspace Governance & DDD Specification: Added support for
.shepherd/workspace.yamland elevated hierarchical domain catalog matching. - Squads & Team Members Support: Integrated
squadswith member email lists and domain ownership mapping compliant with Shepherd Studio Engine.
0.9.7 - 2026-07-08 #
- Corporation Scope Filtering: Fixed an issue where
shepherd loginandshepherd syncdid not send theX-Corporation-Idheader, causing project listings and syncs to bypass corporation filtering.
0.9.6 - 2026-07-05 #
- OCC (Optimistic Concurrency Control) for Telemetry Sync: Implemented revision checks during shepherd gen syncing to prevent overwriting cloud data when local repository is outdated (Missing Git Pull).
- Interactive Multi-Environment Login: shepherd login now supports an interactive menu to choose between Production and UAT environments, persisting the selection globally.
0.9.5 - 2026-06-05 #
- Pure Dart CLI compilation: Removed
shepherd_tagfrompubspec.yamldependencies. Since the CLI only generates the tag files dynamically using text/regex manipulation, it does not requireshepherd_tagas a compiled dependency. This eliminates transitive Flutter SDK requirements, allowing the CLI to be globally activated and updated on any machine using standarddart pub global activate shepherdwithout needing the Flutter SDK.
0.9.4 - 2026-05-29 #
- update new site Shepherd Platform information
0.9.3 - 2026-05-29 #
- Pull Request automation: Added automatic PR creation after release flow, with interactive PR title prompt and changelog body fallback. Option
--no-prdisables PR creation. Supports GitHub token or gh CLI. - Version bump enhancements: Updated flow to prompt for PR title and use changelog as PR body.
0.9.2 - 2026-05-29 #
- Git base reference validation: Fixed a bug where comparing against a tag (e.g.
vX.Y.Z) failed due to prepend oforigin/. It now dynamically checks if the remote reference exists before using it. - Interactive Version Input: Modified
shepherd flowto show calculated suggestions (patch/minor/major) and accept any custom version string directly.
0.9.0 - 2026-05-29 #
Trunk Based Development Release Flow #
- shepherd flow: Added a release flow automation command (
shepherd flow) that creates a release branch, bumps versions, updates/archives the changelog, and opens a Pull Request on GitHub usinggh. - Global argument parser: Registered options and flags for the
flowsubcommand in the routing engine.
0.8.3 - 2026-02-27 #
- pub.dev compliance: Shortened package description in
pubspec.yamlto meet the 60-180 character limit requirement.
0.8.2 - 2026-02-27 #
Enhanced Shepherd Tag Web Identification & Abstraction Support #
- Transparent Web Selectors: Updated
TestGenerationServiceto prioritize explicitlabelselectors for all interaction steps (tapOn,assertVisible) when targeting Web. - ShepherdKey Detection: Added support for discovering widgets wrapped with the new
ShepherdKeyabstraction, ensuring seamless Shepherd Tag integration without explicitSemanticswidgets in UI code. - Dependency Update: Bumped
shepherd_tagto^0.0.5.
0.8.1 - 2026-02-27 #
Shepherd Tag Web Compatibility & Selector Optimization #
- Optimized Selectors: Updated
TestGenerationServiceto generate direct string selectors (- assertVisible: "shepherd:ID") for improved reliability on Flutter Web. - Web Visibility Fix: Adjusted generation logic to ensure elements can be found via
aria-label(mapped fromShepherdPageTaglabel) even when using CanvasKit renderer. - Dependency Update: Bumped
shepherd_tagto0.0.4.
0.8.0 - 2026-02-26 #
Atomic Design Integration & Standardized Automation #
- Atomic Design Schema: Unified
shepherd_activity.yamlto include anelementssection withtypeDesignElementcategorization (Atom, Molecule, Organism, Token). - Intelligent Flow Generation:
shepherd test genis now semantically aware; generating automatedtapOnandinputTextsteps for Atoms, andassertVisiblefor complex Molecules/Organisms from Shepherd Tag. - Design Element CLI: Added
shepherd element <add|list>commands to manage design interaction points directly from the terminal. - Strict Tag Naming: Enforced a consistent
WidgetName + Tagsnaming convention for all generated wrapper classes and files, improving project scalability. - Enhanced Command Discovery: Updated CLI help menus and documentation for
story,task,element, andtagcommand groups. - Robust YAML Core: Deep YAML-to-Dart conversion in
TestGenerationServiceto handle complex nested metadata and avoid type casting errors.
0.7.5 - 2026-02-26 #
Automated Test Generation & Tagging System #
- Shepherd Tag Test Generation: Introduced
shepherd test gencommand to automatically generate Shepherd Tag YAML flows from tagged Flutter code. - Smart Activity Integration: Test flows are now enriched with real User Story context from
shepherd_activity.yaml(titles, descriptions, and task lists). - Shepherd Tag System: Official support for the
shepherd_tagpackage, allowing lightweight annotation-based tagging of widgets and classes. - Improved YAML Parsing: Enhanced regex engine in
ShepherdRegexfor discovering@ShepherdTagandShepherdPageTagannotations. - Automatic Step Discovery: CLI now parses static members within tagged classes to automatically generate interaction steps like
tapOnandinputText. - Clean Structure: Generated test flows are now centralized within
.shepherd/flows/to keep project roots organized.
0.7.4 - 2026-01-09 #
Onboarding & User Experience Improvements #
- Modular Initialization: Introduced two setup modes during
shepherd init:- Automation Only: Lightweight setup for CI/CD (clean, changelog, deploy commands)
- Full Setup: Complete DDD project management with domains and team ownership
- Automatic Onboarding: Running
shepherdwithout arguments now automatically detects missing configuration and guides users through setup - Interactive First-Run Prompt: When configuration is missing, users can choose between:
- Initialize a new project
- Pull from existing project
- Exit
- Auto-Directory Creation:
.shepherdanddevopsdirectories are now created automatically during init - Database Initialization Fix: Fixed "no such table: persons" error by ensuring core tables are created before insert operations
- Environment Setup UX: Improved environment configuration with clear examples (DEV→develop, UAT→release, PRD→main)
- Mode-Aware Menu: Automation mode projects skip the interactive menu and show CLI usage guide instead
- Customized Help:
shepherd helpnow shows different content based on project mode:- Automation mode: Shows only automation commands and information
- Full mode: Shows complete command reference
- Documentation Updates: README restructured to reflect automatic onboarding flow
Technical Improvements #
- Init mode is now persisted in
project.yamlasinit_modefield - Added
ensureCoreTablescall toConfigDatabasefor proper schema initialization - Created
printAutomationHelp()method for mode-specific help display - Improved error handling and user feedback throughout onboarding flows
0.7.3 - 2025-12-22 #
- Fixed unnecessary archiving to
changelog_history.mdwhen version hasn't changed - archiving now only happens when version changes. - Fixed header duplication issue where new commits were creating duplicate headers - new commits are now cleanly inserted into existing changelog structure.
0.7.2 - 2025-12-22 #
- Fixed
shepherd changelogcommand to no longer require version changes for updating the changelog. - The changelog now updates based on semantic commits only, allowing users to document commits incrementally before changing versions.
- This fix also improves the
shepherd deploycommand when using "change" mode for changelog generation.
0.7.1 - 2025-12-16 #
- Improved
shepherd changelogcommand UX by properly prompting for both base branch and changelog type at the handler level.
0.7.0 - 2025-12-16 #
- Fixed
shepherd pullcommand that was not working due to missing registration in the CLI runner. - The pull command now correctly imports YAML configuration into the shepherd.db database.
0.6.9 - 2025-12-16 #
- Implemented automatic update notification banner in the main interactive menu to alert users when a new version is available.
- Update notifications now appear even when no users are registered (before
shepherd init), ensuring first-time users are aware of available updates.
0.6.8 - 2025-12-16 #
- Introduced
shepherd auto-updateas a direct command for configuring update modes (notify,prompt,silent). - This command allows configuration via arguments (e.g.,
shepherd auto-update --mode=prompt) or through an interactive menu. - Removed auto-update configuration from the general Config menu to favor the direct command approach.
0.6.7 - 2025-12-16 #
- Improved
shepherd helpcommand with better organization: commands are now clearly separated into four categories (Direct Commands, Automation & Maintenance, Interactive Menus, and Information). - Enhanced user experience: easier to understand the difference between commands that execute immediately versus those that open interactive menus.
- Added practical examples and tips for getting more details on any command with
--helpflag.
0.6.6 - 2025-12-15 #
- Added configurable auto-update modes via
.shepherd/config.yaml. - New update modes:
notify(default, shows notification),prompt(asks user to update),silent(disables checks). - Implemented interactive update prompt that can automatically execute
dart pub global activate shepherdif user confirms.
0.6.5 - 2025-12-15 #
- Fixed a bug where the previous
CHANGELOG.mdcontent was not being archived todev_tools/changelog_history.mdwhen using the "update" mode in deploy or changelog commands. - Refactored
deploycommand to use the unifiedChangelogServicelogic, ensuring consistent behavior and proper history preservation across all changelog operations.
0.6.4 - 2025-11-19 #
- Centralized and improved the version detection logic: Shepherd now always tries the root pubspec.yaml first, then automatically falls back to the first microfrontend if needed, for all update flows.
- All related comments and documentation are now in English for better maintainability.
0.6.3 - 2025-11-19 #
- Fixed the update command to correctly fallback to the first microfrontend's pubspec.yaml when the root pubspec.yaml is missing, preventing errors in microfrontends environments.
- Now the changelog version is always set, as long as a pubspec.yaml exists in the root or in the first microfrontend.
0.6.2 - 2025-11-19 #
- Improved version detection for microfrontends: if there is no pubspec.yaml in the root, Shepherd now automatically uses the version from the first registered microfrontend.
- Ensured changelog versioning works correctly in microfrontends environments.
0.6.1 - 2025-11-18 #
- Fixed a bug where the CLI version was not displayed version correctly in some scenarios.
0.6.0 - 2025-11-18 #
- Improved the changelog type selection prompt: now provides clear English explanations, automatic suggestions based on branch name, and a help option for user guidance.
- Enhanced user experience for changelog and deploy commands, reducing confusion between "update" and "change" options.
- Fixed path/case issues when copying the changelog from a reference branch, ensuring robust operation in all environments.
- General code cleanups and minor bug fixes.
0.5.9 - 2025-11-18 #
- Shepherd version command now always displays the CLI version from a constant, regardless of the current project.
- Improved internal code organization and fixed minor issues with command registration.
0.5.8 - 2025-11-18 #
- Refactored changelog copy logic to always use
git showinstead ofgit checkout, ensuring compatibility and reliability across all project structures. - Fixed issues where changelog operations could fail in microfrontends due to file existence discrepancies between branches.
- Improved error handling and user feedback when copying the changelog from the reference branch.
- General code cleanups and documentation updates.
0.5.7 - 2025-11-18 #
- Ensured that
CHANGELOG.mdis managed only at the project root, even in microfrontends contexts. - Fully reviewed and standardized the logic for changelog update and copy in both
deployandchangelogcommands. - Improved robustness and clarity of the deploy and changelog flows.
- Minor fixes and message adjustments for better predictability and maintainability.
0.5.6 - 2025-11-18 #
- Standardized the method for copying CHANGELOG.md from the reference branch using git checkout in both deploy and changelog commands.
- Improved code consistency and maintainability across CLI commands.
- Minor bug fixes and usability improvements.
0.5.5 - 2025-11-12 #
- Bugs general fixes
0.5.4 - 2025-11-12 #
- Added gitrecover command: interactive interface, branch and date selection, commit summary, confirmation, and automatic changelog saving.
- User experience improvements for deploy and changelog commands.
- Bug fixes in changelog generation.
0.5.3 - 2025-11-12 #
- Changelog update reliability: Improved the update option in the deploy process to ensure the changelog is copied from the reference branch and the header is updated correctly, without fetching commits.
- Microfrontends safety: Added safeguards to prevent changelog overwrites or errors in microfrontends environments during deploy update.
- Internationalization: Standardized all code comments to English for better maintainability and collaboration.
- Bug fixes and refactoring: General code cleanups and minor bug fixes to improve stability and code quality.
0.5.2 - 2025-11-12 #
Improved deploy process: Deploy now allows choosing between "change" or "update" options for the changelog, making the workflow more flexible and automated. Changelog header update guarantee: The changelog header is automatically updated after the file is copied when choosing the update option in the deploy process. General fixes: Code adjustments and cleanups for better organization and standardization.
0.5.1 - 2025-10-10 #
- Fixed Shepherd changelog and deploy process: Implemented comprehensive improvements to the changelog system including history preservation, version detection, enhanced formatting with hash/author/date, microfrontends support, and deploy workflow optimization with direct step-by-step execution.
0.5.0 - 2025-10-07 #
- Fixed Init Command: Restored full functionality to
shepherd initcommand that was broken due to missing routing in CLI runner. - Fixed Deploy Command: Restored full functionality to
shepherd deploycommand that was broken due to missing routing in CLI runner. - Enhanced Deploy Implementation: Complete overhaul of deploy command to execute step-by-step deployment process directly without interactive menus.
- Streamlined Deploy Workflow: Deploy command now runs automatic step-by-step process including version updates, changelog generation, and PR creation prompts.
- Improved CLI Routing: Fixed systematic CLI routing issues affecting multiple commands (init, deploy, clean) by adding proper switch cases in shepherd_runner.dart.
- Command Standardization: Implemented consistent command wrapper pattern for all CLI commands with standardized argument handling.
- Direct Deploy Execution:
shepherd deploynow executes deployment workflow directly instead of showing interactive menu, making it more efficient for CI/CD usage. - Better User Experience: Simplified deployment process with streamlined prompts and automatic progression through deployment steps.
0.4.9 - 2025-10-07 #
- Fixed Clean Command: Restored full functionality to
shepherd cleancommand that was broken due to missing routing in CLI runner. - Enhanced Clean Implementation: Complete rewrite of clean command with robust project detection, recursive cleaning, and comprehensive cleanup operations.
- Improved Clean Features: Added support for both global cleaning (
shepherd clean) and project-specific cleaning (shepherd clean project) with enhanced visual feedback. - Better Error Handling: Improved error handling and user feedback during clean operations with detailed status reporting and emoji indicators.
- Comprehensive Cleanup: Clean command now removes
pubspec.lock,build/,.dart_tool/directories and runsflutter clean+flutter pub getautomatically. - Multi-Project Support: Enhanced support for cleaning multiple projects and microfrontends in a single command execution.
0.4.8 - 2025-10-07 #
- Complete DDD Architecture Implementation: Implemented comprehensive Domain-Driven Design architecture for changelog service with proper separation of domain, data, and presentation layers.
- Enhanced Feature Toggle System: Complete refactoring of feature toggle commands to use clean DDD patterns with enhanced database support and enterprise fields (team, activity, prototype, versions).
- Full English Internationalization: Translated all Portuguese user-facing text to English across feature toggle commands, menus, and user prompts for international compatibility.
- Improved CLI Routing: Fixed command routing system in shepherd_runner.dart to properly handle
dart run shepherd changelogand other commands. - Professional User Interface: Standardized all user interactions with consistent English messaging, field labels, and status indicators.
- Enterprise Field Support: Added comprehensive support for enterprise-level feature toggle fields including team assignments, activity tracking, and prototype management.
- Enhanced Import/Export: Improved DynamoDB Terraform import/export functionality with configurable field mapping and validation.
- Database Architecture: Implemented robust enhanced feature toggle database with full CRUD operations and migration support from legacy systems.
- Configuration Management: Added advanced import field configuration system with predefined templates and custom mapping capabilities.
- Backward Compatibility: Maintained full compatibility with existing feature toggle data while providing migration paths to enhanced system.
0.4.7 - 2025-09-03 #
- Automatic synchronization: now, whenever any essential YAML file contains data,
shepherd pullis executed automatically to ensureshepherd.dbis always up-to-date with YAML sources. - Improved logic for database and YAML sync: prevents outdated information by always prioritizing YAML content when present.
- The
user_active.yamlfile is now generated automatically based on the selection of owners indomains.yaml. - Minor bug fixes and code cleanups.
0.4.6 - 2025-09-03 #
- Improved user registration flow in
shepherd pull(separate prompts for first name and last name). - When running the shepherd command, if the user_active.yaml file does not exist, suggest creating a default user or registering a new one from scratch.
0.4.5 - 2025-09-01 #
- Refactored changelog update flow to use a single prompt for the base branch, regardless of project type.
- Minor bug fixes and code cleanup.
0.4.4 - 2025-09-01 #
- Improved changelog flow: base branch is now requested only once for both simple projects and microfrontends, preventing duplicate prompts and errors.
- Unified logic for changelog updates, ensuring a smoother experience in all project types.
- Minor bug fixes and code cleanups.
0.4.3 - 2025-09-01 #
- Improved the shepherd pull flow: now the database is created and populated from YAML files if missing, without triggering project initialization.
- Enhanced validation: shepherd pull no longer requires shepherd.db to exist beforehand, making onboarding and sync more robust.
- Minor bug fixes and code cleanups for a smoother CLI experience.
0.4.2 - 2025-08-29 #
- Restored branch name registration in the changelog before each group of commits.
- Commits are now listed with a dash (
-) for improved readability. - Minor code and documentation cleanups.
0.4.1 - 2025-08-28 #
- Refactored changelog service: removed all debug prints and ensured clean output for production use.
- Centralized environment branch validation logic in a dedicated function (
validateEnvironmentBranch), improving maintainability and clarity. - The changelog update flow now blocks updates on environment branches, with clear messaging and no duplicate success messages.
- Translated all code comments and user-facing messages to English for internationalization and consistency.
- Improved modularization: separated logic for simple projects and microfrontends, making the codebase easier to extend and maintain.
- Minor bug fixes and code cleanup for robustness.
0.4.0 - 2025-08-28 #
- The changelog now prompts the user to specify the base branch (e.g., main, develop) when updating, making the workflow flexible for any team or context.
- Commit filtering improved: only direct semantic commits (refactor:, feat:, fix:) exclusive to the current branch (compared to the specified base) are registered.
- Removed dependency on shepherd.yaml for base branch configuration; the entire flow is now handled via user input.
- Ensured the base branch prompt is integrated into all Shepherd commands that update the changelog, including deploy.
- Refactored and centralized commit regex for greater clarity and maintainability.
0.3.9 - 2025-08-28 #
- Changelog service now strictly registers only direct semantic commits (refactor:, feat:, fix:) authored by the user, excluding all merges—even those with semantic messages.
- The release history is now fully aligned with the Conventional Commits standard and avoids noise from merged PRs.
0.3.8 - 2025-08-28 #
- Changelog service now only registers semantic commits (refactor:, feat:, fix:, tests:) authored by the current user and excludes merges.
- Release notes are now cleaner and focused on meaningful changes, following the Conventional Commits standard.
0.3.7 - 2025-08-28 #
- Centralized all commit-related regular expressions in shepherd_regex.dart for maintainability and clarity.
- Changelog service now uses ShepherdRegex for author and parent hash extraction, making commit filtering more robust and easier to maintain.
0.3.6 - 2025-08-28 #
- Changelog logic updated: now all commits are listed from the current branch, independent of any base branch (like main).
- This makes the changelog compatible with any workflow or branch naming convention, ensuring all your direct commits are captured.
0.3.5 - 2025-08-28 #
- Changelog filter improved: now uses Git commit parent hashes to technically exclude all merge commits, regardless of message content.
- Only direct commits authored by the current user are listed, making the changelog even more precise and robust.
0.3.4 - 2025-08-28 #
- Changelog commit filtering improved: now only shows commits authored by the current user in their branch.
- All merge commits (including PR merges and branch merges) are excluded from the changelog.
- Commits of type docs, chore, and style continue to be excluded for clarity.
- This ensures the changelog reflects only your direct contributions, making release notes more precise and personalized.
0.3.3 - 2025-08-28 #
- Refactored runner to act only as orchestrator, delegating validation and initialization to services.
- Centralized essential file validation and initialization in PathValidatorService.
- Fixed YAML file creation: all essential files are now created inside the .shepherd folder.
- Improved pull command: now always creates/synchronizes YAML files in .shepherd and updates the database accordingly.
- Enhanced SQLite inspection: CLI now allows viewing structure and data of all tables in shepherd.db.
- Modularized and cleaned up code for better maintainability and robustness.
- Improved error handling and feedback for missing essential files.
- Updated documentation and changelog logic for clarity and consistency.
0.3.2 - 2025-08-28 #
- Centralized active user logic in SyncController; removed all runner references to hasUser.
- New feature: CLI now checks for an active user and prompts to create a new user by entering details, or initializes with default values if preferred.
- Cleaned up runner logic: removed legacy variables and conditions, now only calls SyncController for user setup.
- Enhanced YAML and database consistency checks.
- Minor bug fixes and documentation updates.
0.3.1 - 2025-08-28 #
- Fixed the path for reading the .shepherd/domains.yaml file to ensure correct operation across multiple projects.
0.3.0 - 2025-08-27 #
- Shepherd now creates and uses the shepherd.db database and YAML files exclusively inside the .shepherd folder.
- The initialization flow has been improved: the interactive menu only shows the "project already initialized" warning if project.yaml contains valid id and name.
- Improvements in validation and consistency of YAML files and the database.
- Adjustments and refactoring for greater robustness, clarity, and user experience.
- Created a new registration for squad management.
- ShepherdCLI prepare code structure for display an interactive and visual Dashboard.
- The changelog.md now includes user commits, excluding docs, style, and chore commits, following the semantic commit standard.
0.2.9 - 2025-08-08 #
- The root CHANGELOG.md now always prioritizes the version from the root pubspec.yaml. If it does not exist, it uses the version from the first microfrontend listed in microfrontends.yaml.
- Improved consistency between deploy and changelog flows for multi-microfrontend projects.
- Code cleanup and improved logic for version and changelog management.
0.2.8 - 2025-08-08 #
- The root CHANGELOG.md is now always updated using the version from the specified microfrontend's pubspec.yaml, even if there is no pubspec.yaml in the root directory.
- Improved deploy and changelog flows for multi-microfrontend projects: version and changelog logic now work seamlessly for any microfrontend.
- Updated documentation and version references for 0.2.8.
- Minor bug fixes and code cleanup for reliability.
0.2.7 - 2025-08-08 #
- Fix changelog logic: now only the root or first microfrontend's changelog is updated, with clearer archiving of previous entries.
- Updated documentation and README files to reflect the new version and features.
- Minor bug fixes and code cleanup for a more robust and professional CLI experience.
0.2.6 - 2025-08-08 #
- Improved multi-microfrontend versioning: Shepherd now updates the version in all microfrontends'
pubspec.yamlfiles. - Enhanced changelog management: The changelog is now updated for all microfrontends, not just the first one.
- Environment branch logic: Changelog updates are now correctly blocked only for branches listed in
environments.yaml. - Accurate CLI feedback: The CLI now displays clear and correct messages about changelog updates.
- Removed debug print statements from changelog logic.
- Documentation updates and minor bug fixes.
0.2.5 - 2025-08-06 #
- shepherd pull now works even if user_active.yaml does not exist, as long as the project is already configured.
- Fixed user/owner selection and creation flow to avoid duplication and scoping errors.
- Code reorganized to ensure robustness and clarity in initialization and onboarding.
- Minor consistency improvements and error messages.
0.2.4 - 2025-08-05 #
- Now domains.yaml is updated automatically whenever an owner is added to a domain (no need to manually export anymore).
- Improves workflow and consistency for domain/owner management.
- Minor code improvements and error handling for YAML export.
0.2.3 - 2025-08-05 #
- Fixed: changelog update now works even if there is no pubspec.yaml in the root directory; Shepherd will use the first microfrontend's pubspec.yaml automatically.
- Prevents PathNotFoundException and improves deploy/versioning flow for microfrontend-based projects.
- Minor code improvements and error handling for changelog logic.
0.2.2 - 2025-08-05 #
- Restored the prompt asking whether to update the root pubspec.yaml when it exists, for safer and more flexible versioning flows.
- If the root pubspec.yaml does not exist, Shepherd updates the first microfrontend's pubspec.yaml automatically.
- Improved UX: clearer feedback when updating versions, and more control for the user in multi-project setups.
- Minor code and documentation improvements.
0.2.1 - 2025-08-05 #
- All user-facing messages, prompts, and comments standardized to English across the CLI and codebase.
- Microfrontends prompt in shepherd init now only accepts yes/no answers in English, with validation and reprompting.
- Improved help/about commands: now always available, even without project initialization.
- Translated and improved all CLI feedback, error messages, and onboarding flows for internationalization and clarity.
- Bug fixes and code cleanup for a more consistent and professional user experience.
0.2.0 - 2025-08-05 #
- Context-aware versioning: deploy and menu flows now prompt to update only the correct pubspec.yaml files, with an option to also update the root pubspec.yaml when microfrontends exist.
- Pull Request (PR) enable/disable: shepherd init now prompts for PR support and saves the setting in config.yaml, controlling PR options in deploy flows.
- Improved feedback: clear messages indicate which microfrontends and pubspec.yaml files are updated during deploy/versioning.
- Consistent UX: both interactive menu and automatic deploy flows now offer the same control over versioning and PR logic.
- Documentation and example updates: README files and shepherd_example.dart updated to reflect new best practices and features.
- Bug fixes and code cleanup for a more robust CLI experience.
0.1.9 - 2025-08-04 #
- shepherd clean and shepherd project are now fully independent from shepherd.db and YAML files. Both commands are routed before any initialization or onboarding logic, ensuring they work in any directory, even without project initialization.
- Fixed command routing and parser registration for shepherd project, making it a true alias for cleaning only the current project.
- Minor code cleanup and improved command documentation.
0.1.8 - 2025-08-04 #
- sync_config.yaml generation now always includes dev_tools/shepherd/domains.yaml as a required file, ensuring robust onboarding and sync flows.
- Fixed type conversion bug when listing tasks from YAML, preventing runtime errors.
- Updated all YAML export/import logic (domains.yaml, feature_toggles.yaml, etc.) to reflect the new dev_tools/shepherd/ structure.
- Documentation (README and translations) updated to reflect new paths, onboarding, and sync flows.
- Minor bug fixes, UX improvements, and code cleanup.
0.1.7 - 2025-08-04 #
- domains.yaml migration: now exported and read from dev_tools/shepherd/domains.yaml instead of devops/domains.yaml.
- Feature Toggles for domains: improved support and synchronization between feature_toggles.yaml and the database, with robust consistency checks and regeneration logic.
- Updated all CLI commands (export, pull, init) to use the new path for domains.yaml.
- Improved onboarding and sync flows to reflect the new YAML location and feature toggle management.
- Documentation and help messages updated to reference the new paths and features.
- Code cleanup and minor bug fixes related to the migration and YAML sync.
0.1.6 - 2025-07-30 #
- Major refactor: modularized all CLI commands and domain logic for maintainability.
- All configuration and domain logic migrated to YAML and new domain folders.
- Updated all documentation (README, translations) to reflect new structure and features.
- Fixed all import and build errors after folder restructuring.
- Improved onboarding, error handling, and CLI UX.
- Added .pubignore and changelog compliance for pub.dev publication.
- Bug fixes and code cleanup for a stable release.
0.1.5 - 2025-07-24 #
- shepherd deploy: improved changelog step to avoid duplicate entries by checking the full branch description, not just the branch number.
0.1.4 - 2025-07-23 #
- Environment management improved: now each environment is linked to a single branch.
- Added environments management to the Config menu for easier access and editing.
- shepherd init now prompts for both environment name and its branch, saving in the correct format.
- All onboarding, deploy, and changelog flows updated to use the new environment-branch structure.
- Bug fixes and code cleanup for a more robust and user-friendly CLI.
0.1.3 - 2025-07-23 #
- Environment management: environments are now empty by default and must be configured interactively during shepherd init. No default environments are added automatically.
- Improved deploy and changelog flows: changelog updates are blocked on environment branches, and the message is only shown once.
- Deploy menu: removed unnecessary 'Version not changed.' message when exiting the menu.
- CLI onboarding and error handling further improved for clarity and user experience.
- Code cleanup and bug fixes for robust, professional CLI workflows.
0.1.2 - 2025-07-22 #
- shepherd pull: onboarding flow improved. Now creates the devops directory interactively if missing, and if domains.yaml is missing, prompts to run shepherd init and launches it automatically if user agrees.
- All onboarding and error flows are now more robust and user-friendly, with clear English-only messages.
- Modularization and code cleanup: CLI protections and onboarding logic separated for maintainability.
- README and translations updated to reflect new version and onboarding flow.
- Minor bug fixes and improvements.
0.1.1 - 2025-07-22 #
- Features in the README are now grouped by DOMAIN, TOOLS, DEPLOY, and CONFIG for better clarity.
- Added a note in the DEPLOY section about Pull Request creation with GitHub CLI and Azure CLI integration (coming soon).
- Minor documentation improvements and consistency fixes.
0.1.0 - 2025-07-21 #
- Fixed and unified the format for
user_active.yamlacross all flows (init, pull, etc): now always writes the full user object (id, first_name, last_name, email, type, github_username) for consistent CLI experience. - Shepherd pull now uses the same user writing logic as shepherd init, preventing display bugs and ensuring correct active user info.
- Refactored and cleaned up code in
pull_command.dart,edit_person_controller.dart,config_menu.dart, andshepherd_database.dartfor maintainability and internationalization. - Minor bug fixes and code cleanup.
0.0.9 - 2025-07-20 #
- About command: now displays author, homepage, repository, and docs as clickable links (OSC 8 hyperlinks) and uses centralized ANSI color constants for a visually improved output.
- All CLI colors and styles are now managed via
AnsiColorsfor consistency. - Version updated to 0.0.9 in all READMEs.
- Improved about command layout and border for a more professional look.
- Removed deprecated
author/authorsfields from pubspec.yaml, author is now hardcoded in about. - README, README.pt-br.md, and README.es.md updated to reference version 0.0.9.
- Minor bug fixes and code cleanup.
0.0.8 - 2025-07-20 #
- Visual improvements to the Analyze domains command: clearer layout, domain information shown first, better separation and readability.
- Fixed a bug in Shepherd init where the domain was not created before owner registration, causing "Domain does not exist" errors when adding owners during initialization. Now the domain is created immediately after entering its name.
0.0.7 - 2025-07-20 #
dart formaton the entire project.- change the changelog display format
0.0.6 - 2025-07-20 #
- Data layer refactor:
- Moved
ShepherdDatabasetolib/src/data/datasources/local/shepherd_database.dartto follow Clean Architecture conventions for local datasources. - Updated all imports across the project to use the new path for
ShepherdDatabase.
- Moved
- CLI and menu improvements:
- Modularized the project initialization flow (
shepherd init) into smaller files: domain prompt, owner prompt, repo type prompt, GitHub username prompt, and summary. - Improved code organization in the presentation layer for easier maintenance and testing.
- Main menu and all submenus now follow Dart CLI standards, with improved color and ASCII art.
- The 'Init' option was removed from the main menu (now only available via
shepherd init). - All submenus now support both '0. Exit' and '9. Back to main menu'.
- The active user is now displayed and persisted.
- Domains menu: now lists available domains for user story/task management, and prevents adding owners to non-existent domains.
- User stories/tasks: when creating a user story, the user can select one or more domains (comma separated) or leave blank for ALL; prompt is only shown at the right moment.
- Removed redundant prompts for domain selection in user story flow.
- Modularized the project initialization flow (
- Bug fixes and polish:
- Fixed type safety in repo type prompt to ensure non-nullable return.
- Removed unused imports and improved error handling in prompts.
- All comments and user-facing strings are now in English for pub.dev compliance.
- Prevented adding owners to non-existent domains.
- Improved validation and user experience in all prompts (cancel/return, empty input, etc).
- Documentation:
- Updated code comments and documentation for clarity and maintainability.
- Added guidance on folder structure for datasources (local/remote) in Clean Architecture.
- Updated changelog to reflect all recent CLI and UX improvements.
0.0.5 - 2025-07-18 #
- Refactored command structure:
- All CLI commands are now centralized in
lib/src/presentation/commands/commands.dartfor easier import and maintenance. - Removed the
cli_helpers.dartfile, making the structure cleaner. - Updated command imports in
bin/shepherd.dartto use onlycommands.dart.
- All CLI commands are now centralized in
- Export file updates:
- The
lib/shepherd.dartfile now exports onlycommands.dartto centralize command access, while keeping entity and service exports.
- The
- README updates:
- Package usage example updated in English, Portuguese, and Spanish READMEs to reflect the new command export centralization.
- Imports in examples are now simplified and aligned with the new structure.
- Improved code organization and modularization, following Clean Architecture and best practices for pub.dev publication.
0.0.4 - 2025-07-18 #
- Added platform support section to README in English, Portuguese, and Spanish, clarifying that the package is intended for CLI/desktop/server use and does not support Web or WASM (due to dart:io).
- Updated dependencies in pubspec.yaml.
0.0.3 - 2025-07-18 #
- Dart format applied
0.0.2 - 2025-07-18 #
- Provide home page and documentation
0.0.1 - 2025-07-18 #
- Initial release: CLI and package for DDD project management in Dart/Flutter
- Uses a local SQLite database (via sqflite_ffi) for persistent storage of domains, owners, and related data. No external server required.
- Domain health analysis, owner management, YAML export, and cleaning automation
- Interactive CLI and programmatic API
- Owner type field is now standardized across all flows (domain config and add-owner) using a single allowed list: administrator, developer, lead_domain. Prevents inconsistent or duplicate owner types.