feat(KB-184): change autoMerge default from false to true
- Update DEFAULT_SETTINGS in core types to set autoMerge: true - Update initial state defaults in App and SettingsModal components - Update test fixtures in App, Board, and SettingsModal tests - Update kb-board skill docs to reflect new default - Add minor changeset for the default change
This commit is contained in:
@@ -57,7 +57,7 @@ Settings are in `.kb/config.json`:
|
||||
| `maxConcurrent` | Max tasks executing simultaneously | 2 |
|
||||
| `maxWorktrees` | Max git worktrees | 4 |
|
||||
| `pollIntervalMs` | Scheduler/triage poll interval | 15000 |
|
||||
| `autoMerge` | Auto-merge tasks when they reach in-review | false |
|
||||
| `autoMerge` | Auto-merge tasks when they reach in-review | true |
|
||||
|
||||
## Task storage
|
||||
|
||||
|
||||
5
.changeset/auto-merge-default-true.md
Normal file
5
.changeset/auto-merge-default-true.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@dustinbyrne/kb": minor
|
||||
---
|
||||
|
||||
Changed `autoMerge` to default to `true` for new boards.
|
||||
@@ -159,7 +159,7 @@ export const DEFAULT_SETTINGS: Settings = {
|
||||
maxWorktrees: 4,
|
||||
pollIntervalMs: 15000,
|
||||
groupOverlappingFiles: false,
|
||||
autoMerge: false,
|
||||
autoMerge: true,
|
||||
worktreeInitCommand: undefined,
|
||||
recycleWorktrees: false,
|
||||
taskPrefix: undefined,
|
||||
|
||||
@@ -16,7 +16,7 @@ function AppInner() {
|
||||
const [settingsOpen, setSettingsOpen] = useState(false);
|
||||
const [settingsInitialSection, setSettingsInitialSection] = useState<SectionId | undefined>(undefined);
|
||||
const [maxConcurrent, setMaxConcurrent] = useState(2);
|
||||
const [autoMerge, setAutoMerge] = useState(false);
|
||||
const [autoMerge, setAutoMerge] = useState(true);
|
||||
const [globalPaused, setGlobalPaused] = useState(false);
|
||||
const [enginePaused, setEnginePaused] = useState(false);
|
||||
const { tasks, createTask, moveTask, deleteTask, mergeTask, retryTask } = useTasks();
|
||||
|
||||
@@ -42,7 +42,7 @@ interface SettingsModalProps {
|
||||
}
|
||||
|
||||
export function SettingsModal({ onClose, addToast, initialSection }: SettingsModalProps) {
|
||||
const [form, setForm] = useState<Settings & { worktreeInitCommand?: string }>({ maxConcurrent: 2, maxWorktrees: 4, pollIntervalMs: 15000, groupOverlappingFiles: false, autoMerge: false, recycleWorktrees: false, includeTaskIdInCommit: true, worktreeInitCommand: "" });
|
||||
const [form, setForm] = useState<Settings & { worktreeInitCommand?: string }>({ maxConcurrent: 2, maxWorktrees: 4, pollIntervalMs: 15000, groupOverlappingFiles: false, autoMerge: true, recycleWorktrees: false, includeTaskIdInCommit: true, worktreeInitCommand: "" });
|
||||
const [loading, setLoading] = useState(true);
|
||||
const [activeSection, setActiveSection] = useState<SectionId>(initialSection ?? SETTINGS_SECTIONS[0].id);
|
||||
const [prefixError, setPrefixError] = useState<string | null>(null);
|
||||
|
||||
@@ -8,7 +8,7 @@ const defaultSettings: Settings = {
|
||||
maxWorktrees: 4,
|
||||
pollIntervalMs: 15000,
|
||||
groupOverlappingFiles: false,
|
||||
autoMerge: false,
|
||||
autoMerge: true,
|
||||
recycleWorktrees: false,
|
||||
worktreeInitCommand: "",
|
||||
testCommand: "",
|
||||
|
||||
@@ -25,7 +25,7 @@ function renderBoard() {
|
||||
onCancelCreate={noop}
|
||||
onCreateTask={noopAsync}
|
||||
onNewTask={noop}
|
||||
autoMerge={false}
|
||||
autoMerge={true}
|
||||
onToggleAutoMerge={noop}
|
||||
globalPaused={false}
|
||||
/>,
|
||||
|
||||
@@ -8,7 +8,7 @@ const defaultSettings: Settings = {
|
||||
maxWorktrees: 4,
|
||||
pollIntervalMs: 15000,
|
||||
groupOverlappingFiles: false,
|
||||
autoMerge: false,
|
||||
autoMerge: true,
|
||||
recycleWorktrees: false,
|
||||
worktreeInitCommand: "",
|
||||
testCommand: "",
|
||||
|
||||
Reference in New Issue
Block a user