---
id: BACK-164
title: Add auto_commit config option with default false
status: Done
assignee: []
created_date: '2025-07-07'
updated_date: '2025-07-07'
labels:
  - enhancement
  - config
dependencies: []
---

## Description

Add configuration option to disable automatic git commits based on user feedback in issues #160 and #164. Users want control over their git history and commit conventions.

## Acceptance Criteria

- [x] Add autoCommit field to BacklogConfig type definition
- [x] Update config schema migration to include autoCommit with default false
- [x] Modify Core class to respect autoCommit setting for all git operations
- [x] Update CLI commands to check autoCommit config before committing
- [x] Add config command support for setting autoCommit option
- [x] Update tests to verify autoCommit behavior works correctly
- [x] Add documentation for autoCommit configuration option

## Implementation Notes

Successfully implemented autoCommit configuration option with default false value.

**Implementation Details:**
- Added autoCommit field to BacklogConfig type definition
- Updated config migration to include autoCommit with default false for existing projects
- Modified Core class methods to check autoCommit config before performing git operations
- Updated CLI commands to remove hardcoded autoCommit=true parameters
- Added config command support for getting/setting autoCommit option
- All git operations now respect the autoCommit setting from config

**Files Modified:**
- src/types/index.ts - Added autoCommit?: boolean to BacklogConfig
- src/core/config-migration.ts - Added autoCommit: false to defaults and migration
- src/core/backlog.ts - Added shouldAutoCommit() helper and updated all methods
- src/cli.ts - Removed hardcoded autoCommit=true from CLI commands, added config support
- src/file-system/operations.ts - Added autoCommit serialization and parsing

**Usage:**
- bun run cli config set autoCommit true/false
- bun run cli config get autoCommit
- bun run cli config list (shows autoCommit value)

**Backward Compatibility:**
- Existing projects will have autoCommit=false after migration
- Project initialization still defaults to autoCommit=true for the init commit
- All Core methods accept optional autoCommit parameter to override config
