Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: lessweb/deepcode-cli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: al4xdev/deepcode-cli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 20 commits
  • 15 files changed
  • 1 contributor

Commits on Jul 1, 2026

  1. feat(core): add KeybindMap type and keybinds to settings resolution

    - Add KeybindMap type (Record<string, string>) for configurable keybinds
    - Add keybinds field to DeepcodingSettings and ResolvedDeepcodingSettings
    - Add normalizeKeybinds() to validate keybind entries
    - Add mergeKeybinds() with project-over-user precedence
    - Export KeybindMap from core public API
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    3614dbc View commit details
    Browse the repository at this point in the history
  2. feat(cli): add keybind parser module

    - Add matchKeybind() to match shortcut strings (e.g. "ctrl+shift+g")
      against raw input and InputKey with exact modifier matching
    - Add buildKeybindMatchers() to pre-compile a KeybindMap into an array
      of matchers for fast per-keystroke lookup
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    40b96ac View commit details
    Browse the repository at this point in the history
  3. feat(cli): add /keybind command and integrate keybinds into input han…

    …dling
    
    - Add "keybind" to SlashCommandKind and BUILTIN_SLASH_COMMANDS with
      args hint (add <shortcut> <action>, remove <shortcut>, list)
    - Implement /keybind handler with add/remove/list subcommands that
      read/write settings.json (project-level if present, user-level fallback)
    - Integrate keybind checking in useTerminalInput callback: custom
      keybinds are matched before hardcoded shortcuts, only when no
      dropdown/menu is open to avoid conflicts
    - Resolve keybind action to SlashCommandItem and dispatch via
      handleSlashSelection (supports all built-in commands and skills)
    - Pass resolved settings keybinds from App to PromptInput
    - Export matchKeybind, buildKeybindMatchers, and KeybindMatcher
      from the UI barrel
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    b0c662b View commit details
    Browse the repository at this point in the history
  4. test: add keybind tests and update existing test suites

    - Add 19 unit tests for matchKeybind covering ctrl, shift, meta modifiers,
      exact matching, case insensitivity, digit/non-alpha keys, and edge cases
    - Add 4 integration tests for keybinds settings resolution: default empty,
      user-only, project-over-user merge, and invalid entry filtering
    - Update slash-commands test to include "keybind" in built-in names
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    9e878ad View commit details
    Browse the repository at this point in the history
  5. docs: add keybinds configuration reference (zh + en)

    Document the keybinds settings field following the same format
    as enabledSkills and mcpServers:
    
    - Shortcut format: ctrl+key, ctrl+shift+key, meta+key
    - Project-over-user merge precedence
    - Runtime management via /keybind add|remove|list
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    f2cd225 View commit details
    Browse the repository at this point in the history
  6. fix(cli): refresh resolved settings after /keybind add or remove

    Add onKeybindsChanged callback so that keybinds added or removed
    via the /keybind slash command take effect immediately without
    requiring a session restart. The callback re-resolves settings
    from disk, matching the pattern used by handleModelConfigChange.
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    e0cc9e2 View commit details
    Browse the repository at this point in the history
  7. feat(cli): add /usage slash command for DeepSeek API balance

    - Add 'usage' to SlashCommandKind type and BUILTIN_SLASH_COMMANDS
    - Handle /usage in PromptInput (command type + handleSlashSelection)
    - Create handleUsage callback in App: detects DeepSeek via baseURL,
      fetches GET /user/balance, displays result as system message
    - Detect slash commands in -p/--prompt startup path
    - Show provider mismatch error when baseURL is not api.deepseek.com
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    9af2be3 View commit details
    Browse the repository at this point in the history
  8. refactor(cli): show /usage balance in dedicated view instead of syste…

    …m message
    
    Replace inline system message with a UsageView component (bordered box,
    Esc to close), matching the MCP status pattern. This avoids render issues
    with addSessionSystemMessage and provides a cleaner UX.
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    b5338dc View commit details
    Browse the repository at this point in the history
  9. feat(keybinds): add custom keybind management with --global flag

    - Add /keybind slash command with add, remove, list subcommands
    - Auto-complete partial matches (/key -> /keybind)
    - Show usage hint on bare /keybind instead of opening view
    - /keybind list opens KeybindsView showing all configured keybinds
    - --global flag forces operations on user-level settings
    - Cross-level duplicate detection (merged keybind lookup)
    - KeybindsView shows [global]/[local] origin indicator
    - Custom keybind matchers trigger slash actions on shortcut press
    - Status message timeout increased to 8s for readability
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    fb745d6 View commit details
    Browse the repository at this point in the history
  10. Merge branch 'feat/keybinds'

    # Conflicts:
    #	packages/cli/src/ui/views/App.tsx
    #	packages/cli/src/ui/views/PromptInput.tsx
    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    af33b2a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8e89320 View commit details
    Browse the repository at this point in the history
  12. chore: remove plan files

    al4xdev committed Jul 1, 2026
    Configuration menu
    Copy the full SHA
    351daf5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    7ac9d36 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    1f1911c View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    608ee9b View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    824201f View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    246b695 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    17d464f View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    98a164a View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    fed2a1f View commit details
    Browse the repository at this point in the history
Loading