Skip to content

feat: blades bot #213

Merged
daemon365 merged 34 commits intomainfrom
feat/cmd_blades
Apr 4, 2026
Merged

feat: blades bot #213
daemon365 merged 34 commits intomainfrom
feat/cmd_blades

Conversation

@daemon365
Copy link
Copy Markdown
Member

No description provided.

Copilot AI review requested due to automatic review settings March 15, 2026 06:06
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the initial implementation of the blades local AI agent CLI, including workspace bootstrapping, toolchain, scheduling, and multi-channel I/O.

Changes:

  • Introduces a file-based workspace/home layout with embedded templates and blades init.
  • Adds built-in tools (notably exec with guards and cron scheduling) plus session persistence and memory store.
  • Implements interactive CLI channel and a Lark/Feishu daemon channel with streaming output.

Reviewed changes

Copilot reviewed 61 out of 344 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds the CLI entrypoint that executes the root command.
cmd/blades/go.mod Defines module dependencies and Go version for the CLI module.
cmd/blades/README.md Documents features, directory layout, and CLI usage (English).
cmd/blades/README_CN.md Documents features, directory layout, and CLI usage (Chinese).
cmd/blades/cmd/root.go Adds root command, global flags, and root logger initialization.
cmd/blades/cmd/root_test.go Tests root logger path resolution and daily log writing.
cmd/blades/cmd/helpers.go Adds shared wiring: loading config/workspace/memory/MCP, building runner/tools, loading skills.
cmd/blades/cmd/helpers_test.go Tests init skill availability, message limit logic, and exec working dir defaults.
cmd/blades/cmd/init.go Implements blades init with separate home/workspace and optional git init.
cmd/blades/cmd/init_test.go Tests init path resolution and separate home/workspace creation.
cmd/blades/cmd/chat.go Implements interactive chat command using the CLI channel and streaming handler.
cmd/blades/cmd/run.go Implements single-turn run command with streaming output and optional log persistence.
cmd/blades/cmd/memory.go Adds memory subcommands (show/add/search) backed by memory store.
cmd/blades/cmd/cron.go Adds cron CLI commands (list/add/remove/run/heartbeat) and delay parsing.
cmd/blades/cmd/cron_test.go Tests delay parsing, heartbeat job creation, and cron add behavior.
cmd/blades/cmd/cron_run.go Adds helper to run a scheduled job immediately with a fully built runner.
cmd/blades/cmd/cron_heartbeat.go Adds heartbeat job ensure/run-now logic.
cmd/blades/cmd/daemon.go Implements daemon mode running cron + optional Lark channel, with reload and auditing.
cmd/blades/cmd/daemon_test.go Tests shutdown waiting behavior used by daemon.
cmd/blades/cmd/doctor.go Adds doctor command to validate workspace/home health and integrations.
cmd/blades/internal/workspace/workspace.go Implements workspace/home pathing, initialization, and template copying via embed.FS.
cmd/blades/internal/workspace/templates/config.yaml Provides default config template for providers and tool overrides.
cmd/blades/internal/workspace/templates/mcp.json Provides default MCP config template.
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Adds agent startup rules, memory rules, and security restrictions template.
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds assistant identity/principles template.
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds quick reference identity template.
cmd/blades/internal/workspace/templates/workspace/USER.md Adds user profile template.
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds long-term memory template.
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds local environment notes template.
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Adds heartbeat checklist template.
cmd/blades/internal/workspace/templates/skills/blades-cron/SKILL.md Adds a built-in cron skill description template.
cmd/blades/internal/tools/exec.go Adds guarded shell command execution tool implementation.
cmd/blades/internal/tools/cron.go Adds cron management tool exposed to the agent.
cmd/blades/internal/tools/cron_test.go Tests cron tool backward-compatible payload/id handling and errors.
cmd/blades/internal/cron/types.go Defines cron job/schedule/payload persisted types.
cmd/blades/internal/cron/service_test.go Tests cron handler compatibility, workdir behavior, timers, and file watching.
cmd/blades/internal/session/session.go Adds file-based session persistence and list/delete support.
cmd/blades/internal/session/session_test.go Tests session save/reload, history preservation, and list/delete.
cmd/blades/internal/memory/store.go Adds memory store (MEMORY.md + daily logs + knowledges injection/search).
cmd/blades/internal/model/provider.go Adds provider factory for anthropic/openai/gemini from config.
cmd/blades/internal/config/config.go Adds config schema and YAML aliases/default handling.
cmd/blades/internal/config/load.go Adds config loading with env expansion and defaults.
cmd/blades/internal/config/expand.go Adds env expansion helper used across config and MCP.
cmd/blades/internal/config/expand_test.go Tests env expansion helper.
cmd/blades/internal/config/mcp.go Adds MCP config loader compatible with Claude Desktop schema + env expansion.
cmd/blades/internal/logger/logger.go Adds runtime/audit logger writing to daily log files.
cmd/blades/internal/command/command.go Adds unified slash-command processor and handlers used across channels.
cmd/blades/internal/command/command_test.go Tests command processor behavior for built-in commands.
cmd/blades/internal/channel/channel.go Defines channel interfaces, streaming writer, and event model.
cmd/blades/internal/channel/registry.go Adds registry for daemon channels.
cmd/blades/internal/channel/registry_test.go Tests channel registry build/start behavior.
cmd/blades/internal/channel/cli/channel.go Adds interactive CLI channel (TUI + simple mode).
cmd/blades/internal/channel/cli/model.go Implements bubbletea model and streaming state for CLI channel.
cmd/blades/internal/channel/cli/update.go Implements CLI input, slash commands, streaming bridge, and stop behavior.
cmd/blades/internal/channel/cli/view.go Implements CLI viewport rendering and cursor positioning adjustments.
cmd/blades/internal/channel/cli/styles.go Centralizes TUI styling based on detected background.
cmd/blades/internal/channel/lark/channel.go Adds Lark/Feishu WebSocket channel with slash commands and dedupe.
cmd/blades/internal/channel/lark/channel_test.go Tests Lark channel options/name and dedupe logic.
cmd/blades/internal/channel/lark/card_writer.go Adds streaming card writer with tool panels and reactions.
cmd/blades/internal/channel/lark/card_writer_test.go Tests tool code block rendering and tool command parsing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Copilot AI review requested due to automatic review settings March 17, 2026 15:32
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the new blades CLI agent, including workspace initialization/templates, tool + cron scheduling support, session/memory persistence, and CLI/Lark channels.

Changes:

  • Introduces the blades CLI entrypoint and command tree (init, chat, run, cron, memory, daemon, doctor).
  • Adds workspace/home directory management with embedded templates (agent/workspace files, skills, config, MCP).
  • Implements core runtime components: exec tool with guards, cron tool/service, session persistence, memory store, channels (CLI TUI + Lark).

Reviewed changes

Copilot reviewed 64 out of 347 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds blades CLI entrypoint.
cmd/blades/go.mod Defines module + dependencies for the CLI.
cmd/blades/README.md Documents CLI features, layout, and commands.
cmd/blades/README_CN.md Chinese documentation for the CLI.
cmd/blades/cmd/root.go Root command, flags, and root logger setup.
cmd/blades/cmd/root_test.go Tests log-root behavior (always ~/.blades/logs).
cmd/blades/cmd/helpers.go Loads config/workspace, builds runner, skills/tools wiring.
cmd/blades/cmd/helpers_test.go Tests init skill loading + exec working dir defaults.
cmd/blades/cmd/init.go Implements blades init (home + workspace init, optional git).
cmd/blades/cmd/init_test.go Tests custom/default init path behavior and generated files.
cmd/blades/cmd/chat.go Implements interactive chat wiring (runner, cron tool handler, CLI channel).
cmd/blades/cmd/run.go Implements one-shot run command with streaming output.
cmd/blades/cmd/memory.go Adds memory subcommands (show/add/search).
cmd/blades/cmd/cron.go Implements cron CLI (add/list/remove/run) and delay parsing.
cmd/blades/cmd/cron_test.go Tests cron CLI helpers and delay support.
cmd/blades/cmd/cron_run.go Implements cron run via runner-backed immediate execution.
cmd/blades/cmd/cron_heartbeat.go Adds cron heartbeat helper job ensuring + run-now option.
cmd/blades/cmd/daemon.go Implements daemon mode wiring cron + channel + reload.
cmd/blades/cmd/daemon_test.go Tests daemon shutdown helper.
cmd/blades/cmd/doctor.go Adds doctor command for workspace health checks + MCP connectivity.
cmd/blades/internal/workspace/workspace.go Adds workspace/home path API + init/template copying logic.
cmd/blades/internal/workspace/templates/config.yaml Provides default config template (providers/channels/exec).
cmd/blades/internal/workspace/templates/mcp.json Provides default global MCP config template.
cmd/blades/internal/workspace/templates/agent.yaml Provides default agent spec template (currently home-level).
cmd/blades/internal/workspace/templates/skills/blades-cron/SKILL.md Adds built-in cron skill documentation.
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Adds workspace behavior rules template.
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds assistant identity/principles template.
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds assistant quick-reference template.
cmd/blades/internal/workspace/templates/workspace/USER.md Adds user profile template.
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds long-term memory template.
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds local setup notes template.
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Adds proactive heartbeat checklist template.
cmd/blades/internal/tools/exec.go Implements guarded exec tool for shell commands.
cmd/blades/internal/tools/cron.go Implements cron tool surface for the agent.
cmd/blades/internal/tools/cron_test.go Tests cron tool compatibility/aliases and error messaging.
cmd/blades/internal/tools/registry.go Adds a basic named tool registry.
cmd/blades/internal/cron/types.go Defines cron job types (schedule/payload/state/store).
cmd/blades/internal/cron/service_test.go Tests cron scheduler behavior (timers + file watcher).
cmd/blades/internal/session/session.go Adds file-persisted session manager.
cmd/blades/internal/session/session_test.go Tests session persistence behavior.
cmd/blades/internal/memory/store.go Adds MEMORY.md + daily log + knowledge injection store.
cmd/blades/internal/logger/logger.go Adds runtime logging helper writing to daily log files.
cmd/blades/internal/model/registry.go Adds provider/model reference resolver.
cmd/blades/internal/model/provider.go Adds provider factory for Anthropic/OpenAI/Gemini.
cmd/blades/internal/config/config.go Defines config schema (providers/exec/channels).
cmd/blades/internal/config/load.go Loads config.yaml with ${ENV_VAR} expansion + tilde expansion helper.
cmd/blades/internal/config/expand.go Implements env expansion.
cmd/blades/internal/config/expand_test.go Tests env expansion.
cmd/blades/internal/config/mcp.go Loads MCP servers from mcp.json (Claude Desktop-like schema + env expansion).
cmd/blades/internal/channel/channel.go Defines channel interfaces + streaming writer/events.
cmd/blades/internal/channel/registry.go Adds channel registry and factory wiring.
cmd/blades/internal/channel/registry_test.go Tests channel registry behavior.
cmd/blades/internal/channel/lark/channel.go Implements Lark WebSocket channel + command handling + dedupe.
cmd/blades/internal/channel/lark/channel_test.go Tests Lark channel basic behaviors.
cmd/blades/internal/channel/lark/card_writer.go Implements Lark interactive card streaming writer (+ tool panels).
cmd/blades/internal/channel/lark/card_writer_test.go Tests tool block parsing/rendering.
cmd/blades/internal/channel/cli/channel.go Implements CLI channel (TUI + simple mode fallback).
cmd/blades/internal/channel/cli/model.go Bubbletea model for CLI channel.
cmd/blades/internal/channel/cli/update.go Event loop, streaming bridge, slash command wiring, stop handling.
cmd/blades/internal/channel/cli/view.go Renders viewport + input + cursor placement fixes.
cmd/blades/internal/channel/cli/styles.go Defines lipgloss styles for TUI.
cmd/blades/internal/command/command.go Adds shared slash command processor and handlers.
cmd/blades/internal/command/command_test.go Tests command processing and help output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

- Introduced a new YAML parser and emitter in `yamlh.go` and `yamlprivateh.go` files, providing comprehensive support for YAML document processing.
- Implemented various data structures and constants for handling YAML tokens, events, nodes, and documents.
- Added utility functions for character checks and buffer management to facilitate parsing and emitting processes.
- Updated `modules.txt` to reflect new dependencies and versions, including updates to `github.com/go-kratos/blades` and `gopkg.in/yaml.v3`.
Copilot AI review requested due to automatic review settings March 18, 2026 11:54
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the new blades CLI application: a local-first personal agent with a file-based workspace, built-in tools (exec/cron), channels (CLI + optional Lark), and bootstrap/config/runtime plumbing.

Changes:

  • Introduces the blades CLI command tree (init/chat/run/memory/cron/daemon/doctor) and bootstrap/runtime wiring.
  • Adds core subsystems: workspace templates/layout, cron scheduler, exec tool, model/provider registry, session persistence, logging, and channel abstractions.
  • Adds extensive unit/integration tests and user documentation (EN + CN).

Reviewed changes

Copilot reviewed 92 out of 403 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds blades CLI entrypoint.
cmd/blades/internal/workspace/workspace_test.go Tests workspace initialization, layout, and file reads.
cmd/blades/internal/workspace/templates/workspace/USER.md Adds workspace template for user profile.
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds workspace template for local tool setup notes.
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds workspace template describing assistant principles.
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds workspace template for long-term memory.
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds workspace template for assistant identity quick ref.
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Adds workspace template for heartbeat checklist.
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Adds primary workspace instruction/safety template.
cmd/blades/internal/workspace/templates/skills/blades-cron/SKILL.md Adds cron skill template documentation.
cmd/blades/internal/workspace/templates/config.yaml Adds example home config template.
cmd/blades/internal/workspace/templates/agent.yaml Adds example agent recipe template.
cmd/blades/internal/tools/registry.go Adds tool registry for resolving tools by name.
cmd/blades/internal/tools/more_test.go Adds tests covering registry + cron tool helper branches.
cmd/blades/internal/tools/exec_test.go Adds tests for exec tool guards and handle branches.
cmd/blades/internal/tools/exec.go Adds exec tool with regex guards and schema metadata.
cmd/blades/internal/tools/cron_test.go Adds tests for cron tool legacy inputs and errors.
cmd/blades/internal/session/session_test.go Adds tests for session manager persistence and helpers.
cmd/blades/internal/model/registry_test.go Adds tests for model registry resolution semantics.
cmd/blades/internal/model/registry_more_test.go Adds more tests for registry/provider branches.
cmd/blades/internal/model/registry.go Adds provider-name-based model resolution.
cmd/blades/internal/model/provider.go Adds provider factory for anthropic/openai/gemini.
cmd/blades/internal/memory/store_test.go Adds tests for memory store read/write/search/instruction.
cmd/blades/internal/logger/logger_test.go Adds tests for runtime log file output.
cmd/blades/internal/logger/logger.go Adds runtime logger and conversation audit logging.
cmd/blades/internal/cron/types.go Defines cron schedule/payload/job types.
cmd/blades/internal/cron/service_test.go Adds cron service tests (timer, watcher, handler behavior).
cmd/blades/internal/config/load_test.go Adds config load tests (defaults, validation, path resolution).
cmd/blades/internal/config/load.go Adds config loading and tilde expansion.
cmd/blades/internal/config/expand_test.go Adds tests for env expansion.
cmd/blades/internal/config/expand.go Adds ${VAR} expansion helper for templates/config.
cmd/blades/internal/config/config.go Adds config schema and normalization/validation.
cmd/blades/internal/command/command_test.go Adds tests for slash command processor and handlers.
cmd/blades/internal/command/command.go Adds unified slash command processor + built-in commands.
cmd/blades/internal/channel/lark/helpers_test.go Adds tests for Lark message parsing and HTTP-backed paths.
cmd/blades/internal/channel/lark/factory_test.go Adds tests for Lark config/env fallback behavior.
cmd/blades/internal/channel/lark/factory.go Adds Lark channel factory from config with env fallbacks.
cmd/blades/internal/channel/lark/channel_test.go Adds tests for Lark channel basics and dedupe/session override.
cmd/blades/internal/channel/lark/card_writer_test.go Adds tests for tool card rendering helpers.
cmd/blades/internal/channel/cli/view.go Adds TUI view rendering + cursor handling for IME/CJK.
cmd/blades/internal/channel/cli/styles.go Adds lipgloss styles derived from dark/light detection.
cmd/blades/internal/channel/cli/model.go Adds bubbletea model: streaming turns/tools, state, styling.
cmd/blades/internal/channel/cli/channel.go Adds CLI channel with TUI and simple (no altscreen) mode.
cmd/blades/internal/channel/channel.go Introduces channel interfaces and streaming event model.
cmd/blades/internal/app/runtime_test.go Adds tests for turn execution and tool event correlation.
cmd/blades/internal/app/runtime.go Adds runtime wiring, turn execution, streaming collector/recorder.
cmd/blades/internal/app/runner_test.go Adds tests for runner construction and registries.
cmd/blades/internal/app/runner.go Adds recipe runner builder, tool/middleware registries, skill loading.
cmd/blades/internal/app/doctor_test.go Adds tests for doctor context/printing behavior.
cmd/blades/internal/app/bootstrap_test.go Adds tests for bootstrap init paths, config, memory, runtime load.
cmd/blades/internal/app/bootstrap.go Adds bootstrap layer for config/workspace/memory/runtime/cron.
cmd/blades/go.mod Defines module deps for the cmd/blades submodule.
cmd/blades/cmd/text_writer.go Adds minimal streaming writer for run output.
cmd/blades/cmd/test_helpers_test.go Adds CLI command test helpers (workspace setup, stdout capture).
cmd/blades/cmd/runtime_command.go Adds helper to run commands with loaded runtime + signal ctx.
cmd/blades/cmd/run.go Adds blades run command.
cmd/blades/cmd/root_test.go Adds tests for root logging + doctor behavior.
cmd/blades/cmd/root.go Adds root command, global flags, and root logger wiring.
cmd/blades/cmd/options.go Adds --config/--workspace/--debug option plumbing via context.
cmd/blades/cmd/memory_command_test.go Adds tests for memory subcommands.
cmd/blades/cmd/memory.go Adds blades memory subcommands (add/show/search).
cmd/blades/cmd/init_test.go Adds tests for init path resolution and separated dirs.
cmd/blades/cmd/init_git_test.go Adds tests for git init + .gitignore helpers.
cmd/blades/cmd/init.go Adds blades init command and optional git initialization.
cmd/blades/cmd/doctor.go Adds blades doctor command.
cmd/blades/cmd/daemon_test.go Adds tests for daemon shutdown wait helper.
cmd/blades/cmd/daemon.go Adds blades daemon command (cron + optional Lark channel).
cmd/blades/cmd/cron_run.go Adds cron run command helper to trigger jobs immediately.
cmd/blades/cmd/cron_heartbeat.go Adds heartbeat job ensure/upsert and run-now logic.
cmd/blades/cmd/cron_command_integration_test.go Adds integration tests for cron commands and flag parsing.
cmd/blades/cmd/cron.go Adds cron command group (list/add/heartbeat/remove/run).
cmd/blades/cmd/command_tree_test.go Adds tests validating command tree and required flags.
cmd/blades/cmd/command_helpers.go Adds shared helpers for command I/O, cron/memory wiring, upserts.
cmd/blades/cmd/chat.go Adds blades chat interactive command (TUI/simple).
cmd/blades/cmd/bootstrap.go Adds cmd-level wrappers around bootstrap loading helpers.
cmd/blades/README_CN.md Adds Chinese documentation for blades CLI.
cmd/blades/README.md Adds English documentation for blades CLI.
agent.go Adjusts agent invocation message assembly helper.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Copilot AI review requested due to automatic review settings March 18, 2026 17:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces the blades CLI: a local-first, file-backed personal AI agent with workspace bootstrapping, built-in tools (exec/cron), multiple model providers, and optional channels (CLI + Lark), alongside extensive tests and templates.

Changes:

  • Added CLI commands (init, chat, run, memory, cron, daemon, doctor) plus runtime bootstrap/loading.
  • Implemented core subsystems: config loading/normalization, model provider registry, exec/cron tools, session persistence, and runtime logging.
  • Added workspace and skill templates plus broad automated test coverage across components.

Reviewed changes

Copilot reviewed 91 out of 404 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds the blades CLI entrypoint.
cmd/blades/internal/workspace/workspace_test.go Tests workspace layout/initialization and file reads.
cmd/blades/internal/workspace/templates/workspace/USER.md Adds user profile template for workspace initialization.
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds local setup notes template for workspace initialization.
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds assistant identity/principles template for workspace initialization.
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds long-term memory template for workspace initialization.
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds assistant “quick reference” template for workspace initialization.
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Adds heartbeat checklist template for proactive polling.
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Adds workspace “operating manual” and safety restrictions.
cmd/blades/internal/workspace/templates/skills/blades-cron/SKILL.md Adds cron skill template documentation.
cmd/blades/internal/workspace/templates/config.yaml Adds example config template (providers + channels + exec).
cmd/blades/internal/workspace/templates/agent.yaml Adds default agent recipe template.
cmd/blades/internal/tools/registry.go Adds a named tool registry compatible with recipe tooling.
cmd/blades/internal/tools/more_test.go Adds tests covering tool registry and additional cron-tool branches.
cmd/blades/internal/tools/exec_test.go Adds tests for exec tool helpers, guard behavior, and handle branches.
cmd/blades/internal/tools/exec.go Implements exec tool with regex guards, timeout, and optional traversal restriction.
cmd/blades/internal/tools/cron_test.go Adds tests for cron-tool legacy aliases and identifier handling.
cmd/blades/internal/session/session_test.go Tests session manager persistence and helper branches.
cmd/blades/internal/model/registry_test.go Tests model registry provider-name resolution behavior.
cmd/blades/internal/model/registry_more_test.go Adds additional model registry and provider factory branch coverage.
cmd/blades/internal/model/registry.go Implements provider-name-based model resolution and fallback construction.
cmd/blades/internal/model/provider.go Implements provider factory for anthropic/openai/gemini.
cmd/blades/internal/memory/store_test.go Tests memory store persistence, logs, knowledge sizing, and search.
cmd/blades/internal/logger/logger_test.go Tests runtime logger output and conversation logging format.
cmd/blades/internal/logger/logger.go Adds runtime logging utility for audits and conversation events.
cmd/blades/internal/cron/types.go Defines cron schedule/payload/job persistence types.
cmd/blades/internal/cron/service_test.go Tests cron service execution, watching, handlers, and scheduling constraints.
cmd/blades/internal/config/load_test.go Tests config loading defaults, normalization, and path resolution.
cmd/blades/internal/config/load.go Implements config loading with env expansion and tilde expansion utility.
cmd/blades/internal/config/expand_test.go Tests env expansion helper.
cmd/blades/internal/config/expand.go Adds env expansion helper via os.ExpandEnv.
cmd/blades/internal/config/config.go Defines config schema + normalization and provider validation.
cmd/blades/internal/command/command_test.go Tests slash-command processor behaviors and handler branches.
cmd/blades/internal/command/command.go Implements slash-command processor + built-in commands.
cmd/blades/internal/channel/lark/helpers_test.go Adds tests for Lark parsing, formatting, and HTTP-backed paths.
cmd/blades/internal/channel/lark/factory_test.go Tests Lark factory env fallbacks and required credentials.
cmd/blades/internal/channel/lark/factory.go Implements Lark channel factory from config with env fallback.
cmd/blades/internal/channel/lark/channel_test.go Tests Lark channel basics (name, config, dedupe, session override).
cmd/blades/internal/channel/lark/card_writer_test.go Tests Lark tool code block rendering and tool command parsing.
cmd/blades/internal/channel/cli/view.go Implements TUI rendering, cursor positioning, and tool sections.
cmd/blades/internal/channel/cli/styles.go Defines cached lipgloss styles for performance/stability.
cmd/blades/internal/channel/cli/model.go Defines CLI model state and initialization.
cmd/blades/internal/channel/cli/channel.go Implements CLI channel (TUI + simple mode).
cmd/blades/internal/channel/channel.go Defines Channel, Writer, and streaming handler contract.
cmd/blades/internal/app/runtime_test.go Tests turn execution, tool event correlation, and session persistence.
cmd/blades/internal/app/runtime.go Adds runtime assembly and turn execution with streaming + recording.
cmd/blades/internal/app/runner_test.go Tests runner build pieces (tool/middleware registry, spec loading).
cmd/blades/internal/app/runner.go Builds runner from spec, config, tools, middlewares, and skills.
cmd/blades/internal/app/doctor_test.go Tests doctor context building and output formatting.
cmd/blades/internal/app/bootstrap_test.go Tests bootstrap path resolution and runtime loading.
cmd/blades/internal/app/bootstrap.go Implements bootstrap for config/workspace/memory/runtime initialization.
cmd/blades/go.mod Adds module definition and dependencies for the cmd/blades module.
cmd/blades/cmd/text_writer.go Adds a minimal Writer implementation for command output streaming.
cmd/blades/cmd/test_helpers_test.go Adds shared test helpers for CLI command tests.
cmd/blades/cmd/runtime_command.go Adds wrapper to execute cobra commands with a loaded runtime.
cmd/blades/cmd/run.go Implements blades run command and session ID generation.
cmd/blades/cmd/root_test.go Tests root logger setup, doctor flow, and doctor output behavior.
cmd/blades/cmd/root.go Implements root command, flags, and root logger setup.
cmd/blades/cmd/options.go Implements passing resolved options through cobra context.
cmd/blades/cmd/memory_command_test.go Integration tests for memory add/show/search commands.
cmd/blades/cmd/memory.go Implements blades memory command group.
cmd/blades/cmd/init_test.go Tests init path resolution and custom workspace initialization behavior.
cmd/blades/cmd/init_git_test.go Tests git init + gitignore utilities for workspace initialization.
cmd/blades/cmd/init.go Implements blades init including optional git init and next steps output.
cmd/blades/cmd/doctor.go Implements blades doctor command that runs health checks.
cmd/blades/cmd/daemon_test.go Tests daemon shutdown waiting helper.
cmd/blades/cmd/daemon.go Implements daemon mode running cron + optional Lark channel.
cmd/blades/cmd/cron_run.go Implements cron run wiring to load runtime and trigger a job.
cmd/blades/cmd/cron_heartbeat.go Implements heartbeat job upsert + optional run-now.
cmd/blades/cmd/cron_command_integration_test.go Integration tests across cron subcommands and schedule parsing.
cmd/blades/cmd/cron.go Implements cron command group, schedule parsing, and add/remove/list.
cmd/blades/cmd/command_tree_test.go Verifies command tree and required flags/args behaviors.
cmd/blades/cmd/command_helpers.go Adds shared helpers for command I/O, signal contexts, and cron upserts.
cmd/blades/cmd/chat.go Implements blades chat command with TUI/simple mode.
cmd/blades/cmd/bootstrap.go Wires cmd-layer helpers to bootstrap/runtime/config/service loading.
cmd/blades/README_CN.md Adds Chinese documentation for the new CLI and features.
cmd/blades/README.md Adds English documentation for the new CLI and features.
agent.go Refactors message selection/append logic for invocations via helper.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Copilot AI review requested due to automatic review settings March 19, 2026 11:42
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the initial blades CLI application with a filesystem-backed workspace layout, tool/cron/runtime integrations, and comprehensive tests/docs for the new command set.

Changes:

  • Introduces the blades CLI entrypoint and command tree (init/chat/run/memory/cron/daemon/doctor).
  • Adds workspace management (home + workspace layout) and embedded template files.
  • Implements core runtime pieces (exec tool, cron scheduler plumbing, model/tool registries, CLI/Lark channels) with broad unit test coverage.

Reviewed changes

Copilot reviewed 90 out of 389 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds CLI entrypoint wiring to cobra command tree
cmd/blades/internal/workspace/workspace.go Implements home/workspace layout creation + embedded template copying
cmd/blades/internal/workspace/workspace_test.go Tests workspace init/load and expected file structure
cmd/blades/internal/workspace/templates/config.yaml Provides default config template (providers/channels/exec)
cmd/blades/internal/workspace/templates/agent.yaml Provides default agent recipe template
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Adds workspace startup rules template
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds assistant persona template
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds identity quick reference template
cmd/blades/internal/workspace/templates/workspace/USER.md Adds user profile template
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds long-term memory template
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds local tooling notes template
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Adds heartbeat checklist template
cmd/blades/internal/tools/registry.go Adds simple name→tool resolver
cmd/blades/internal/tools/exec.go Implements exec tool with basic safety guards + schemas
cmd/blades/internal/tools/exec_test.go Tests exec helper branches and guard behavior
cmd/blades/internal/tools/cron_test.go Adds additional cron tool behavior tests
cmd/blades/internal/tools/more_test.go Adds extra tool/crontool branch coverage tests
cmd/blades/internal/model/registry.go Adds provider/model resolution from config providers
cmd/blades/internal/model/provider.go Builds provider implementations for anthropic/openai/gemini
cmd/blades/internal/model/registry_test.go Tests provider name resolution and prefix rejection
cmd/blades/internal/model/registry_more_test.go Tests additional resolution/error branches
cmd/blades/internal/config/config.go Adds config structs + normalization/validation
cmd/blades/internal/config/load.go Adds config loader with default path discovery + env expansion
cmd/blades/internal/config/expand.go Adds env expansion helper
cmd/blades/internal/config/load_test.go Tests config defaults, normalization, validation, tilde expansion
cmd/blades/internal/config/expand_test.go Tests ExpandEnv behavior
cmd/blades/internal/channel/channel.go Defines channel interfaces and event writer API
cmd/blades/internal/channel/cli/channel.go Implements interactive CLI channel (TUI + simple mode)
cmd/blades/internal/channel/cli/model.go Implements bubbletea model and state
cmd/blades/internal/channel/cli/view.go Implements rendering + cursor positioning
cmd/blades/internal/channel/cli/styles.go Adds centralized TUI styles
cmd/blades/internal/channel/lark/factory.go Adds Lark channel creation from config + env fallbacks
cmd/blades/internal/channel/lark/factory_test.go Tests Lark config env fallback behavior
cmd/blades/internal/channel/lark/channel_test.go Tests Lark channel basics and session mapping
cmd/blades/internal/channel/lark/helpers_test.go Tests Lark helper parsing + HTTP-backed call paths
cmd/blades/internal/channel/lark/card_writer_test.go Tests tool panel/codeblock formatting helpers
cmd/blades/internal/cron/types.go Adds cron domain types (schedule/payload/job)
cmd/blades/internal/cron/service_test.go Adds scheduler/handler behavior tests
cmd/blades/internal/logger/logger.go Adds runtime file logger for audit-style logs
cmd/blades/internal/logger/logger_test.go Tests runtime logger output
cmd/blades/internal/memory/store_test.go Tests memory store read/write/log/search behaviors
cmd/blades/internal/session/session_test.go Tests session persistence and part restoration branches
cmd/blades/internal/app/bootstrap.go Adds runtime bootstrap for config/workspace/memory loading
cmd/blades/internal/app/bootstrap_test.go Tests bootstrap path handling and runtime load
cmd/blades/internal/app/runner.go Builds runner/tool/middleware registries + loads agent spec/skills
cmd/blades/internal/app/runner_test.go Tests runner build paths and workspace instruction injection
cmd/blades/internal/app/runtime.go Adds TurnExecutor, streaming collector, tool events, persistence hooks
cmd/blades/internal/app/runtime_test.go Tests turn execution persistence and tool event correlation
cmd/blades/internal/app/doctor_test.go Tests doctor context and output path behavior
cmd/blades/cmd/root.go Adds root command, flags, and root logger setup
cmd/blades/cmd/root_test.go Tests root logging and doctor config path behavior
cmd/blades/cmd/options.go Adds command option plumbing via context
cmd/blades/cmd/bootstrap.go Wires CLI commands to bootstrap loader helpers
cmd/blades/cmd/command_helpers.go Adds shared command helpers and cron/memory plumbing
cmd/blades/cmd/command_tree_test.go Validates command tree and run command required flags
cmd/blades/cmd/runtime_command.go Adds helper to run commands with loaded runtime and signal ctx
cmd/blades/cmd/init.go Adds blades init (home/workspace init + optional git init)
cmd/blades/cmd/init_test.go Tests init paths and custom workspace layout
cmd/blades/cmd/init_git_test.go Tests git init helper behavior
cmd/blades/cmd/chat.go Adds interactive chat command wiring
cmd/blades/cmd/run.go Adds single-turn run command
cmd/blades/cmd/text_writer.go Adds minimal stream writer adapter for run command
cmd/blades/cmd/memory.go Adds memory subcommands (add/show/search)
cmd/blades/cmd/memory_command_test.go Tests memory subcommands end-to-end against temp workspace
cmd/blades/cmd/cron.go Adds cron command + schedule parsing and validation
cmd/blades/cmd/cron_run.go Adds cron run-now command plumbing
cmd/blades/cmd/cron_heartbeat.go Adds cron heartbeat ensure/update and run-now support
cmd/blades/cmd/daemon.go Adds daemon mode wiring cron + optional Lark channel
cmd/blades/cmd/daemon_test.go Tests daemon channel shutdown helper
cmd/blades/cmd/doctor.go Adds doctor command wiring to app doctor checks
cmd/blades/go.mod Introduces dedicated Go module and dependencies for blades CLI
cmd/blades/README.md Adds English docs for CLI usage and layout
cmd/blades/README_CN.md Adds Chinese docs for CLI usage and layout

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 19, 2026 12:28
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces the new blades CLI for a file-system-based local AI agent, including workspace bootstrapping, interactive chat/run flows, persistent scheduling, and provider-backed model execution.

Changes:

  • Adds the blades command tree (init/chat/run/memory/cron/daemon/doctor) plus bootstrap/runtime wiring.
  • Implements built-in tools (read, write, edit, bash, cron) and supporting utilities/tests.
  • Adds workspace templates and configuration/model-provider resolution with extensive unit tests.

Reviewed changes

Copilot reviewed 95 out of 396 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds CLI entrypoint wiring to cmd.Execute().
cmd/blades/go.mod Introduces a standalone Go module for the CLI and its dependencies.
cmd/blades/README.md Documents installation, layout, and CLI usage for the new tool.
cmd/blades/README_CN.md Chinese documentation for the same CLI/features.
cmd/blades/internal/workspace/workspace_test.go Adds coverage for workspace init/load/layout behavior.
cmd/blades/internal/workspace/templates/config.yaml Provides default provider/channel/exec template config.
cmd/blades/internal/workspace/templates/agent.yaml Provides default agent recipe template (loop + action/review agents).
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Defines workspace behavior/safety rules loaded into the agent.
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Provides default heartbeat checklist template.
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds identity quick-reference template.
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds long-term memory template.
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds assistant “principles/boundaries” template.
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds local machine setup notes template.
cmd/blades/internal/workspace/templates/workspace/USER.md Adds user profile/preferences template.
cmd/blades/internal/tools/bash.go Implements guarded bash tool execution with schemas.
cmd/blades/internal/tools/bash_test.go Tests bash guard + handler branches.
cmd/blades/internal/tools/edit.go Implements exact string-replacement edit tool.
cmd/blades/internal/tools/file_tools_test.go Adds tests for read/write/edit tools and workspace path restriction.
cmd/blades/internal/tools/fileutil.go Adds path resolution, text reading, and atomic write helpers.
cmd/blades/internal/tools/more_test.go Adds extra tests for tool registry + cron tool branches.
cmd/blades/internal/tools/read.go Implements the read tool with optional line slicing.
cmd/blades/internal/tools/registry.go Adds tool registry resolver used by recipe runtime.
cmd/blades/internal/tools/write.go Implements atomic write tool with overwrite/error modes.
cmd/blades/internal/tools/cron_test.go Adds cron tool behavior/schema tests.
cmd/blades/internal/model/provider.go Adds provider factory for anthropic/openai/gemini.
cmd/blades/internal/model/registry.go Resolves model refs using provider config.
cmd/blades/internal/model/registry_test.go Tests provider-name based registry resolution.
cmd/blades/internal/model/registry_more_test.go Adds extra resolution-path and provider factory branch coverage.
cmd/blades/internal/config/config.go Adds config schema + normalization/validation.
cmd/blades/internal/config/expand.go Adds env expansion helper for templates/config.
cmd/blades/internal/config/expand_test.go Tests env expansion behavior.
cmd/blades/internal/config/load.go Adds config load (default path + env expand + normalize).
cmd/blades/internal/config/load_test.go Tests config load defaults, path selection, and validation.
cmd/blades/internal/cron/types.go Defines cron schedule/payload/job types.
cmd/blades/internal/cron/service_test.go Tests cron service execution, reload/watcher behavior, and cancellation handling.
cmd/blades/internal/logger/logger.go Adds runtime logger writing to daily log files.
cmd/blades/internal/logger/logger_test.go Tests runtime logger output formatting.
cmd/blades/internal/session/session_test.go Adds session persistence/compression tests.
cmd/blades/internal/channel/channel.go Defines channel + streaming writer/event abstraction.
cmd/blades/internal/channel/cli/channel.go Implements interactive CLI channel (TUI + simple mode).
cmd/blades/internal/channel/cli/model.go Adds bubbletea model state, streaming tracking, tool sections.
cmd/blades/internal/channel/cli/styles.go Centralizes TUI styles computed from dark/light background.
cmd/blades/internal/channel/cli/view.go Implements rendering, viewport content building, cursor/IME handling.
cmd/blades/internal/channel/lark/channel_test.go Tests Lark channel session overrides and dedupe behavior.
cmd/blades/internal/channel/lark/card_writer_test.go Tests tool code block rendering/parsing for cards/messages.
cmd/blades/internal/channel/lark/factory.go Builds Lark channel from config with env fallbacks.
cmd/blades/internal/channel/lark/factory_test.go Tests env fallback behavior for required Lark credentials.
cmd/blades/internal/app/bootstrap.go Adds bootstrap for config/workspace/memory/runtime creation.
cmd/blades/internal/app/bootstrap_test.go Tests bootstrap init paths and runtime loading.
cmd/blades/internal/app/doctor_test.go Tests doctor context + result printing behavior.
cmd/blades/internal/app/runner.go Builds runner/tool/middleware registries and session manager from spec/config/workspace.
cmd/blades/internal/app/runner_test.go Tests runner building, exec defaults, and context application.
cmd/blades/internal/app/runtime_test.go Tests tool event correlation + session persistence in executor/stream handler.
cmd/blades/cmd/bootstrap.go Wires command-layer bootstrap/load helpers.
cmd/blades/cmd/chat.go Adds blades chat command (TUI/simple) and session handling.
cmd/blades/cmd/command_helpers.go Adds shared helpers for signal contexts, output, memory/cron subcommands, and cron upsert logic.
cmd/blades/cmd/command_tree_test.go Verifies root command tree shape and required flags.
cmd/blades/cmd/cron.go Adds cron CLI with add/list/remove/run/heartbeat parsing and validation.
cmd/blades/cmd/cron_heartbeat.go Adds heartbeat job ensure/upsert logic and optional run-now.
cmd/blades/cmd/cron_run.go Adds immediate job run command wiring through runtime.
cmd/blades/cmd/daemon.go Adds daemon mode (cron + optional Lark channel) with graceful shutdown.
cmd/blades/cmd/daemon_test.go Tests daemon shutdown waiting helper.
cmd/blades/cmd/doctor.go Adds workspace health check command wiring to app doctor logic.
cmd/blades/cmd/init.go Adds workspace init + optional git init, plus printed next steps.
cmd/blades/cmd/init_git_test.go Tests git init + gitignore/hint helpers.
cmd/blades/cmd/init_test.go Tests init path resolution and custom workspace separation behavior.
cmd/blades/cmd/memory.go Adds memory subcommands (add/show/search) backed by memory store.
cmd/blades/cmd/memory_command_test.go Tests memory command behavior end-to-end.
cmd/blades/cmd/options.go Adds command options propagation via cobra context values.
cmd/blades/cmd/root.go Adds root command, global flags, and root logger configuration.
cmd/blades/cmd/root_test.go Tests root logger placement and doctor/config path behaviors.
cmd/blades/cmd/run.go Adds single-turn run command using executor + streaming writer.
cmd/blades/cmd/runtime_command.go Adds helper to load runtime under a signal-aware context.
cmd/blades/cmd/test_helpers_test.go Adds shared test helpers for command tests.
cmd/blades/cmd/text_writer.go Adds minimal channel.Writer adapter for streaming to CLI output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Copilot AI review requested due to automatic review settings March 23, 2026 07:32
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new blades CLI agent with workspace scaffolding, built-in tools (read/write/edit/bash/cron), multi-provider model resolution, and channel integrations (CLI TUI + Lark), plus extensive unit tests.

Changes:

  • Introduces the blades CLI entrypoint/command tree with init/chat/run/memory/cron/daemon/doctor flows.
  • Adds workspace templates (AGENTS/SOUL/USER/IDENTITY/MEMORY/TOOLS/HEARTBEAT) plus config/agent templates.
  • Implements core runtime components: local tools, cron scheduler, session persistence, logging, and model provider registry.

Reviewed changes

Copilot reviewed 97 out of 402 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
cmd/blades/main.go Adds the CLI entrypoint that dispatches to the cobra command tree.
cmd/blades/internal/workspace/workspace_test.go Tests workspace init/load behavior and template outputs.
cmd/blades/internal/workspace/templates/workspace/USER.md Adds user profile template for workspace bootstrapping.
cmd/blades/internal/workspace/templates/workspace/TOOLS.md Adds local tool/setup notes template.
cmd/blades/internal/workspace/templates/workspace/SOUL.md Adds assistant persona/principles template.
cmd/blades/internal/workspace/templates/workspace/MEMORY.md Adds long-term memory template.
cmd/blades/internal/workspace/templates/workspace/IDENTITY.md Adds assistant identity template.
cmd/blades/internal/workspace/templates/workspace/HEARTBEAT.md Adds heartbeat checklist template.
cmd/blades/internal/workspace/templates/workspace/AGENTS.md Adds workspace “operating manual” and safety rules template.
cmd/blades/internal/workspace/templates/config.yaml Adds default provider/channel/exec config template.
cmd/blades/internal/workspace/templates/agent.yaml Adds default agent recipe template.
cmd/blades/internal/tools/write.go Implements atomic text file write tool.
cmd/blades/internal/tools/registry.go Adds named-tool registry resolver.
cmd/blades/internal/tools/read.go Implements read tool with optional line ranges.
cmd/blades/internal/tools/more_test.go Adds additional tool and cron-tool branch coverage tests.
cmd/blades/internal/tools/fileutil.go Adds path resolution, safe text reading, and atomic write helpers.
cmd/blades/internal/tools/file_tools_test.go Tests read/write/edit tools and path restriction behavior.
cmd/blades/internal/tools/edit.go Implements exact string replacement edit tool.
cmd/blades/internal/tools/cron_test.go Adds cron tool schema and behavior tests.
cmd/blades/internal/tools/bash_test.go Tests bash tool guards, parsing branches, and timeout.
cmd/blades/internal/tools/bash.go Implements bash execution tool with allow/deny guards and workspace restrictions.
cmd/blades/internal/session/session_test.go Tests session persistence, history, and compression behavior.
cmd/blades/internal/model/registry_test.go Tests provider-name-based model resolution behavior.
cmd/blades/internal/model/registry_more_test.go Adds more registry/provider branch tests.
cmd/blades/internal/model/registry.go Implements provider/model resolution logic.
cmd/blades/internal/model/provider.go Implements provider factory for OpenAI/Anthropic/Gemini.
cmd/blades/internal/memory/store_test.go Tests memory store read/write/search/instruction building.
cmd/blades/internal/logger/logger_test.go Tests runtime log writing and conversation audit logging.
cmd/blades/internal/logger/logger.go Implements runtime logger and conversation audit logging.
cmd/blades/internal/cron/types.go Adds cron schedule/payload/job types.
cmd/blades/internal/cron/service_test.go Tests cron service timers, reload watcher, and handler behavior.
cmd/blades/internal/config/load_test.go Tests config loading, defaults, provider normalization, and tilde expansion.
cmd/blades/internal/config/load.go Implements config load with default path and env expansion.
cmd/blades/internal/config/expand_test.go Tests env expansion helper.
cmd/blades/internal/config/expand.go Adds env expansion helper.
cmd/blades/internal/config/config.go Implements config structures + normalization/validation.
cmd/blades/internal/command/command_test.go Tests slash-command processor behaviors.
cmd/blades/internal/command/command.go Implements unified slash-command processor and handlers.
cmd/blades/internal/channel/lark/factory_test.go Tests Lark channel config env fallback behavior.
cmd/blades/internal/channel/lark/factory.go Implements Lark channel creation from config.
cmd/blades/internal/channel/lark/channel_test.go Adds Lark channel unit tests for message/session behaviors.
cmd/blades/internal/channel/lark/card_writer_test.go Tests tool-output formatting for Lark cards.
cmd/blades/internal/channel/cli/view.go Implements bubbletea view rendering and cursor positioning logic.
cmd/blades/internal/channel/cli/styles.go Adds lipgloss style builder with dark/light support.
cmd/blades/internal/channel/cli/model.go Implements CLI TUI model state and streaming tracking structures.
cmd/blades/internal/channel/cli/channel.go Implements TUI vs simple-mode CLI channel and wiring to command processor.
cmd/blades/internal/channel/channel.go Defines channel interfaces and streaming event protocol.
cmd/blades/internal/app/runtime_test.go Tests turn execution, session persistence, and tool event correlation.
cmd/blades/internal/app/runner_test.go Tests runner bootstrapping, tool registry, and context behavior.
cmd/blades/internal/app/doctor_test.go Tests doctor checks runner and printing behavior.
cmd/blades/internal/app/bootstrap_test.go Tests bootstrap path resolution and runtime loading.
cmd/blades/internal/app/bootstrap.go Implements bootstrapping of config/workspace/memory/runtime/cron service.
cmd/blades/go.mod Adds a Go module for the cmd/blades subproject and its dependencies.
cmd/blades/cmd/text_writer.go Adds a minimal streaming writer adapter for run.
cmd/blades/cmd/test_helpers_test.go Adds shared helpers for CLI command tests.
cmd/blades/cmd/runtime_command.go Adds helper to load runtime with signal-aware context.
cmd/blades/cmd/run.go Implements blades run command.
cmd/blades/cmd/root_test.go Tests root logger configuration and doctor behavior with explicit config.
cmd/blades/cmd/root.go Implements root command, global flags, and root log wiring.
cmd/blades/cmd/options.go Implements options extraction/injection via cobra command context.
cmd/blades/cmd/memory_command_test.go Tests memory subcommands end-to-end.
cmd/blades/cmd/memory.go Implements memory command group (add/show/search).
cmd/blades/cmd/init_test.go Tests init path resolution and init behaviors with custom workspace.
cmd/blades/cmd/init_git_test.go Tests git init helpers and .gitignore creation.
cmd/blades/cmd/init.go Implements blades init plus optional git initialization.
cmd/blades/cmd/doctor.go Implements doctor command wiring.
cmd/blades/cmd/daemon_test.go Tests daemon shutdown waiting helper.
cmd/blades/cmd/daemon.go Implements daemon command (cron + optional Lark) with graceful shutdown.
cmd/blades/cmd/cron_run.go Implements cron run helper to load runtime and trigger a job.
cmd/blades/cmd/cron_heartbeat.go Implements cron heartbeat job upsert and optional run-now behavior.
cmd/blades/cmd/cron.go Implements cron command group and schedule/payload flag parsing.
cmd/blades/cmd/command_tree_test.go Tests root command tree composition and run required flags.
cmd/blades/cmd/command_helpers.go Adds shared command helpers, cron upsert, and payload/schedule builders.
cmd/blades/cmd/chat.go Implements blades chat channel wiring and session defaulting.
cmd/blades/cmd/bootstrap.go Adds cmd-layer wrappers around internal bootstrap loaders.
cmd/blades/README_CN.md Adds Chinese documentation for the CLI and architecture.
cmd/blades/README.md Adds English documentation for the CLI and architecture.
agent_exit_tool_test.go Adds test ensuring agent loop exits immediately after exit tool action.
agent.go Updates agent loop to append ephemeral messages and stop iteration on loop-exit tool action.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings March 23, 2026 13:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 103 out of 405 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@daemon365 daemon365 merged commit f9ad0c4 into main Apr 4, 2026
1 check passed
@daemon365 daemon365 deleted the feat/cmd_blades branch April 4, 2026 04:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants