back-399 - Add-configurable-tasksDirectory-for-custom-task-storage-path#550
back-399 - Add-configurable-tasksDirectory-for-custom-task-storage-path#550maeste wants to merge 1 commit into
Conversation
be8ae38 to
9a447dd
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be8ae38c70
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| defaultPort: advancedConfig.defaultPort, | ||
| autoOpenBrowser: advancedConfig.autoOpenBrowser, | ||
| taskPrefix: taskPrefix || undefined, | ||
| tasksDirectory: advancedConfig.tasksDirectory, |
There was a problem hiding this comment.
Omit undefined tasksDirectory override on init
This field is always passed into initializeProject, even when the user did not configure a tasks directory. In the re-init path, initializeProject treats the presence of this key as an explicit override and deletes config.tasksDirectory when the value is falsy, so running backlog init on a project that already uses a custom tasks directory can silently reset it to default and make existing tasks appear missing.
Useful? React with 👍 / 👎.
| // Only include tasksDirectory if it's not empty (empty means use default) | ||
| ...(tasksDirectory ? { tasksDirectory } : {}), |
There was a problem hiding this comment.
Return explicit clear for tasksDirectory from wizard
The wizard comment says empty input means “use default”, but this conditional spread drops the key entirely when the user clears the value. In the backlog config advanced-settings flow, the result is merged over existing config, so an omitted key preserves the old custom path and users cannot clear tasksDirectory interactively even after entering an empty value.
Useful? React with 👍 / 👎.
|
@maeste I had a look at the PR but it lacks compatibility with multi branch sync feature. I see the benefit of the feature and I will think at a proper solution. In the meantime you can use the new CWD feature released recently #536: |
|
Alex's Agent: This branch is conflicted and still has unresolved Codex review findings, and Alex already noted the multi-branch sync compatibility issue. Please do not continue this branch as-is; this needs Alex's decision or a fresh approach against the current CWD/root model. |
|
Alex's Agent: I checked this during Alex's open-PR readiness sweep. I am not going to treat it as merge-ready in its current state. Current blockers:
The idea is still useful, but this needs to be reworked on a fresh task ID and current main before Alex can safely consider merging it. |
Summary
Adding a config parameter for the backlog directory location. Basically, when you initialise the backlog in a project, it creates a backlog directory which always contains the config.yml. In the current main directory, it also contains all backlog databases with tasks, docs, milestones, etc. Now this is configurable, and you can keep in ./backlog/ only the config while the database can be pointed to another_path/backlog. This allows having 2 separate GitHub repositories for backlog and code, which can be beneficial in some cases. It is backwards compatible because the default/blank fall-back to local ./backlog/
Related Tasks
Back-399
Task Checklist
backlog/tasks/Testing
Using it in a real project :)