Skip to content

feat: Add support for multiple workspace paths configuration#468

Draft
szmania wants to merge 16 commits intodwash96:mainfrom
szmania:cli-1-additional-workspaces
Draft

feat: Add support for multiple workspace paths configuration#468
szmania wants to merge 16 commits intodwash96:mainfrom
szmania:cli-1-additional-workspaces

Conversation

@szmania
Copy link

@szmania szmania commented Mar 21, 2026

Workspace Paths Configuration Feature

Summary

This PR introduces support for multiple workspace paths configuration in cecli, allowing users to specify multiple directories to watch and manage within a single session.

Changes

1. Core Functionality

  • args.py: Added --workspace-paths argument to accept multiple workspace directory paths
  • args_formatter.py: Updated formatters to properly document the new configuration option in .env, YAML, and Markdown formats
  • main.py: Integrated workspace paths resolution into the main initialization flow

2. Integration with Skills System

  • tools/load_skill.py and tools/remove_skill.py: Ensure proper skill loading/removal is aware of workspace context
  • helpers/skills.py: Updated SkillsManager to work with multiple workspace paths

Usage Examples

CLI Usage

# Single workspace path (default behavior)
cecli --workspace-paths src/myapp

# Multiple workspace paths (NEW)
cecli --workspace-paths frontend/backend --workspace-paths shared/utils

# With other flags
cecli --workspace-paths src --model gpt-4 --edit-format architect

YAML Configuration (.cecli.conf.yml)

workspace-paths:
  - frontend/src
  - backend/app
  - shared/utils

model: gpt-4
edit-format: agent

Environment Variable (.env)

# Multiple workspace paths (space-separated)
WORKSPACE_PATHS=frontend/src backend/app shared/utils

# Or single path (legacy behavior still works)
WORKSPACE_PATHS=src/myapp

Benefits

  1. Monorepo Support: Easily work across multiple directories in monorepos without manually adding files each time
  2. Shared Code: Include shared libraries or utilities alongside application code seamlessly
  3. Flexible Organization: Support for various project structures and organizational needs

Backward Compatibility

This change is fully backward compatible:

  • Single workspace path still works as before (default behavior unchanged)
  • Existing configurations continue to work without modification

Testing Notes

The feature has been tested with:

  • Single path specification (legacy behavior)
  • Multiple paths via repeated CLI flags
  • Multiple paths via YAML configuration
  • Environment variable configuration (space-separated paths)

Commits:

  • feat: Add support for multiple workspace paths configuration (556dd59, 1e97218)
  • docs: Add workspace-paths feature documentation to HISTORY.md (e6b7b68)
  • test: Update pytest configuration for async and mock support (3475d39)
  • fix: Update conversation system tests to use ConversationChunks.initialize (bf96adf)

@szmania szmania marked this pull request as draft March 23, 2026 03:49
szmania added 4 commits March 23, 2026 00:00
Co-authored-by: cecli (openai/openai_gemini_cli/gemini-2.5-pro)
Co-authored-by: cecli (openai/openai_gemini_cli/gemini-2.5-pro)
Co-authored-by: cecli (openai/openai_gemini_cli/gemini-2.5-pro)
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.

1 participant