Project Configuration
You can add a .scc.yaml file to your repository root to customize SCC settings for that specific project.
When to Use Project Config
Section titled “When to Use Project Config”Use .scc.yaml when you need:
- Project-specific plugins
- Project-specific MCP servers
- Custom session timeouts (auto_resume is advisory)
File Location
Section titled “File Location”Directorymy-project/
- .scc.yaml ← Project config
Directory.git/
- …
Directorysrc/
- …
- package.json
Basic Structure
Section titled “Basic Structure”# Add plugins specific to this projectadditional_plugins: - "eslint-plugin@internal" - "project-linter@team-marketplace"
# Optional MCP servers for this projectadditional_mcp_servers: - name: "project-api" type: "sse" url: "https://api.example.com/mcp"
# Override session settingssession: timeout_hours: 4Available Options
Section titled “Available Options”Additional Plugins
Section titled “Additional Plugins”Add plugins beyond what your team provides:
additional_plugins: - "plugin-name@marketplace" - "another-plugin@marketplace"Session Settings
Section titled “Session Settings”Override session behavior:
session: timeout_hours: 4 # Override team default auto_resume: false # Advisory only in v1Additional MCP Servers
Section titled “Additional MCP Servers”Add MCP servers scoped to this project:
additional_mcp_servers: - name: project-api type: sse url: https://api.example.com/mcpExample Configurations
Section titled “Example Configurations”Monorepo Frontend Package
Section titled “Monorepo Frontend Package”# Add React-specific toolingadditional_plugins: - "react-tools@frontend-marketplace"
session: timeout_hours: 8Security-Sensitive Project
Section titled “Security-Sensitive Project”# Short sessions for sensitive worksession: timeout_hours: 2 auto_resume: falseData Science Project
Section titled “Data Science Project”# Longer sessions for training runssession: timeout_hours: 24
# Add data science pluginsadditional_plugins: - "jupyter-helper@ml-marketplace" - "pandas-tools@ml-marketplace"Validation
Section titled “Validation”Validate your project config:
scc config validateThis checks:
- YAML syntax is correct
- Referenced plugins/MCP servers are allowed
- Project delegation rules are satisfied
- Selected team exists in org config
- Unknown keys are reported (ignored at runtime)
Seeing Effective Config
Section titled “Seeing Effective Config”To see how project config combines with team and org settings:
scc config explainOutput shows the source of each setting:
Effective configuration for ~/project:
plugins: - scc-safety-net (from: team/backend) - code-formatter (from: team/backend) - eslint-plugin (from: project/.scc.yaml) ← Project addition
session: timeout_hours: 4 (from: project/.scc.yaml) ← Project override auto_resume: true (from: team/backend, advisory)
network_policy: corp-proxy-only (from: org/defaults)What You Cannot Override
Section titled “What You Cannot Override”Project config cannot:
- Remove team default plugins
- Unblock organization-blocked plugins
- Override network policy (projects cannot set it; teams can only tighten org defaults)
- Bypass security settings
Git Ignore Considerations
Section titled “Git Ignore Considerations”The .scc.yaml file should typically be committed to your repository so all team members get the same project settings.
Local-only overrides are not supported in v1. Use personal profiles for machine-specific plugins or MCP servers.
Personal Profiles (Local)
Section titled “Personal Profiles (Local)”If you want your own plugins or MCP servers without committing anything to the repo, use personal profiles.
scc profile savescc profile applyPersonal profiles live outside the repo and can be synced across machines. See Personal Profiles for details.
Troubleshooting
Section titled “Troubleshooting””Plugin not allowed”
Section titled “”Plugin not allowed””Your team’s delegation rules don’t permit that plugin. Check with your team lead.
scc config explain --field denied”Team not found”
Section titled “”Team not found””Your selected team no longer exists in the org config. Pick a valid team:
scc team listscc team switch <team>Changes not taking effect
Section titled “Changes not taking effect”Project config is read at session start. Restart your session:
scc stopscc start --fresh