Source code for ralph.config.ccs_config
"""CCS configuration model definitions."""
from __future__ import annotations
from pydantic import ConfigDict
from ralph.config._ccs_alias_config import CcsAliasConfig
from ralph.pydantic_compat import RalphBaseModel
[docs]
class CcsConfig(RalphBaseModel):
"""Headless-by-design Claude Code Switch (CCS) defaults.
CCS aliases explicitly run Claude in non-interactive streaming mode
(``--print --output-format=stream-json``). That is the intended explicit
headless Claude path for users who configure ``[ccs_aliases]``. The built-in
``claude`` agent runs in interactive mode by default.
"""
model_config = ConfigDict(frozen=True)
output_flag: str = "--output-format=stream-json"
yolo_flag: str = "--permission-mode auto"
verbose_flag: str = "--verbose"
print_flag: str = "--print"
streaming_flag: str = "--include-partial-messages"
json_parser: str = "claude"
session_flag: str = "--resume {}"
can_commit: bool = True
__all__ = ["CcsAliasConfig", "CcsConfig"]