git-worktree-organize 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.bare/HEAD +1 -0
- package/.bare/config +6 -0
- package/.bare/description +1 -0
- package/.bare/hooks/applypatch-msg.sample +15 -0
- package/.bare/hooks/commit-msg.sample +24 -0
- package/.bare/hooks/fsmonitor-watchman.sample +174 -0
- package/.bare/hooks/post-update.sample +8 -0
- package/.bare/hooks/pre-applypatch.sample +14 -0
- package/.bare/hooks/pre-commit.sample +49 -0
- package/.bare/hooks/pre-merge-commit.sample +13 -0
- package/.bare/hooks/pre-push.sample +53 -0
- package/.bare/hooks/pre-rebase.sample +169 -0
- package/.bare/hooks/pre-receive.sample +24 -0
- package/.bare/hooks/prepare-commit-msg.sample +42 -0
- package/.bare/hooks/push-to-checkout.sample +78 -0
- package/.bare/hooks/sendemail-validate.sample +77 -0
- package/.bare/hooks/update.sample +128 -0
- package/.bare/info/exclude +6 -0
- package/.bare/objects/pack/pack-1a869640f0628b133e36287958cd040e132be773.idx +0 -0
- package/.bare/objects/pack/pack-1a869640f0628b133e36287958cd040e132be773.pack +0 -0
- package/.bare/objects/pack/pack-1a869640f0628b133e36287958cd040e132be773.rev +0 -0
- package/.bare/packed-refs +2 -0
- package/.beads/README.md +81 -0
- package/.beads/backup/backup_state.json +13 -0
- package/.beads/backup/comments.jsonl +0 -0
- package/.beads/backup/config.jsonl +11 -0
- package/.beads/backup/dependencies.jsonl +10 -0
- package/.beads/backup/events.jsonl +31 -0
- package/.beads/backup/issues.jsonl +9 -0
- package/.beads/backup/labels.jsonl +0 -0
- package/.beads/config.yaml +55 -0
- package/.beads/hooks/post-checkout +9 -0
- package/.beads/hooks/post-merge +9 -0
- package/.beads/hooks/pre-commit +9 -0
- package/.beads/hooks/pre-push +9 -0
- package/.beads/hooks/prepare-commit-msg +9 -0
- package/.beads/interactions.jsonl +0 -0
- package/.beads/metadata.json +9 -0
- package/.claude/settings.local.json +8 -0
- package/AGENTS.md +150 -0
- package/README.md +84 -0
- package/bun.lock +205 -0
- package/package.json +21 -0
- package/src/cli.ts +143 -0
- package/src/detect.ts +95 -0
- package/src/fs.ts +22 -0
- package/src/git.ts +40 -0
- package/src/migrate.ts +162 -0
- package/src/worktrees.ts +54 -0
- package/test/__bun-shim__.ts +78 -0
- package/test/detect.test.ts +99 -0
- package/test/helpers/repo.ts +75 -0
- package/test/migrate.test.ts +124 -0
- package/test/security.test.ts +25 -0
- package/test/worktrees.test.ts +164 -0
- package/tsconfig.json +13 -0
- package/vitest.config.ts +13 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
# An example hook script to validate a patch (and/or patch series) before
|
|
4
|
+
# sending it via email.
|
|
5
|
+
#
|
|
6
|
+
# The hook should exit with non-zero status after issuing an appropriate
|
|
7
|
+
# message if it wants to prevent the email(s) from being sent.
|
|
8
|
+
#
|
|
9
|
+
# To enable this hook, rename this file to "sendemail-validate".
|
|
10
|
+
#
|
|
11
|
+
# By default, it will only check that the patch(es) can be applied on top of
|
|
12
|
+
# the default upstream branch without conflicts in a secondary worktree. After
|
|
13
|
+
# validation (successful or not) of the last patch of a series, the worktree
|
|
14
|
+
# will be deleted.
|
|
15
|
+
#
|
|
16
|
+
# The following config variables can be set to change the default remote and
|
|
17
|
+
# remote ref that are used to apply the patches against:
|
|
18
|
+
#
|
|
19
|
+
# sendemail.validateRemote (default: origin)
|
|
20
|
+
# sendemail.validateRemoteRef (default: HEAD)
|
|
21
|
+
#
|
|
22
|
+
# Replace the TODO placeholders with appropriate checks according to your
|
|
23
|
+
# needs.
|
|
24
|
+
|
|
25
|
+
validate_cover_letter () {
|
|
26
|
+
file="$1"
|
|
27
|
+
# TODO: Replace with appropriate checks (e.g. spell checking).
|
|
28
|
+
true
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
validate_patch () {
|
|
32
|
+
file="$1"
|
|
33
|
+
# Ensure that the patch applies without conflicts.
|
|
34
|
+
git am -3 "$file" || return
|
|
35
|
+
# TODO: Replace with appropriate checks for this patch
|
|
36
|
+
# (e.g. checkpatch.pl).
|
|
37
|
+
true
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
validate_series () {
|
|
41
|
+
# TODO: Replace with appropriate checks for the whole series
|
|
42
|
+
# (e.g. quick build, coding style checks, etc.).
|
|
43
|
+
true
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# main -------------------------------------------------------------------------
|
|
47
|
+
|
|
48
|
+
if test "$GIT_SENDEMAIL_FILE_COUNTER" = 1
|
|
49
|
+
then
|
|
50
|
+
remote=$(git config --default origin --get sendemail.validateRemote) &&
|
|
51
|
+
ref=$(git config --default HEAD --get sendemail.validateRemoteRef) &&
|
|
52
|
+
worktree=$(mktemp --tmpdir -d sendemail-validate.XXXXXXX) &&
|
|
53
|
+
git worktree add -fd --checkout "$worktree" "refs/remotes/$remote/$ref" &&
|
|
54
|
+
git config --replace-all sendemail.validateWorktree "$worktree"
|
|
55
|
+
else
|
|
56
|
+
worktree=$(git config --get sendemail.validateWorktree)
|
|
57
|
+
fi || {
|
|
58
|
+
echo "sendemail-validate: error: failed to prepare worktree" >&2
|
|
59
|
+
exit 1
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
unset GIT_DIR GIT_WORK_TREE
|
|
63
|
+
cd "$worktree" &&
|
|
64
|
+
|
|
65
|
+
if grep -q "^diff --git " "$1"
|
|
66
|
+
then
|
|
67
|
+
validate_patch "$1"
|
|
68
|
+
else
|
|
69
|
+
validate_cover_letter "$1"
|
|
70
|
+
fi &&
|
|
71
|
+
|
|
72
|
+
if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL"
|
|
73
|
+
then
|
|
74
|
+
git config --unset-all sendemail.validateWorktree &&
|
|
75
|
+
trap 'git worktree remove -ff "$worktree"' EXIT &&
|
|
76
|
+
validate_series
|
|
77
|
+
fi
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
#
|
|
3
|
+
# An example hook script to block unannotated tags from entering.
|
|
4
|
+
# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
|
|
5
|
+
#
|
|
6
|
+
# To enable this hook, rename this file to "update".
|
|
7
|
+
#
|
|
8
|
+
# Config
|
|
9
|
+
# ------
|
|
10
|
+
# hooks.allowunannotated
|
|
11
|
+
# This boolean sets whether unannotated tags will be allowed into the
|
|
12
|
+
# repository. By default they won't be.
|
|
13
|
+
# hooks.allowdeletetag
|
|
14
|
+
# This boolean sets whether deleting tags will be allowed in the
|
|
15
|
+
# repository. By default they won't be.
|
|
16
|
+
# hooks.allowmodifytag
|
|
17
|
+
# This boolean sets whether a tag may be modified after creation. By default
|
|
18
|
+
# it won't be.
|
|
19
|
+
# hooks.allowdeletebranch
|
|
20
|
+
# This boolean sets whether deleting branches will be allowed in the
|
|
21
|
+
# repository. By default they won't be.
|
|
22
|
+
# hooks.denycreatebranch
|
|
23
|
+
# This boolean sets whether remotely creating branches will be denied
|
|
24
|
+
# in the repository. By default this is allowed.
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
# --- Command line
|
|
28
|
+
refname="$1"
|
|
29
|
+
oldrev="$2"
|
|
30
|
+
newrev="$3"
|
|
31
|
+
|
|
32
|
+
# --- Safety check
|
|
33
|
+
if [ -z "$GIT_DIR" ]; then
|
|
34
|
+
echo "Don't run this script from the command line." >&2
|
|
35
|
+
echo " (if you want, you could supply GIT_DIR then run" >&2
|
|
36
|
+
echo " $0 <ref> <oldrev> <newrev>)" >&2
|
|
37
|
+
exit 1
|
|
38
|
+
fi
|
|
39
|
+
|
|
40
|
+
if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
|
|
41
|
+
echo "usage: $0 <ref> <oldrev> <newrev>" >&2
|
|
42
|
+
exit 1
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
# --- Config
|
|
46
|
+
allowunannotated=$(git config --type=bool hooks.allowunannotated)
|
|
47
|
+
allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
|
|
48
|
+
denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
|
|
49
|
+
allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
|
|
50
|
+
allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
|
|
51
|
+
|
|
52
|
+
# check for no description
|
|
53
|
+
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
|
|
54
|
+
case "$projectdesc" in
|
|
55
|
+
"Unnamed repository"* | "")
|
|
56
|
+
echo "*** Project description file hasn't been set" >&2
|
|
57
|
+
exit 1
|
|
58
|
+
;;
|
|
59
|
+
esac
|
|
60
|
+
|
|
61
|
+
# --- Check types
|
|
62
|
+
# if $newrev is 0000...0000, it's a commit to delete a ref.
|
|
63
|
+
zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
|
|
64
|
+
if [ "$newrev" = "$zero" ]; then
|
|
65
|
+
newrev_type=delete
|
|
66
|
+
else
|
|
67
|
+
newrev_type=$(git cat-file -t $newrev)
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
case "$refname","$newrev_type" in
|
|
71
|
+
refs/tags/*,commit)
|
|
72
|
+
# un-annotated tag
|
|
73
|
+
short_refname=${refname##refs/tags/}
|
|
74
|
+
if [ "$allowunannotated" != "true" ]; then
|
|
75
|
+
echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
|
|
76
|
+
echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
|
|
77
|
+
exit 1
|
|
78
|
+
fi
|
|
79
|
+
;;
|
|
80
|
+
refs/tags/*,delete)
|
|
81
|
+
# delete tag
|
|
82
|
+
if [ "$allowdeletetag" != "true" ]; then
|
|
83
|
+
echo "*** Deleting a tag is not allowed in this repository" >&2
|
|
84
|
+
exit 1
|
|
85
|
+
fi
|
|
86
|
+
;;
|
|
87
|
+
refs/tags/*,tag)
|
|
88
|
+
# annotated tag
|
|
89
|
+
if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
|
|
90
|
+
then
|
|
91
|
+
echo "*** Tag '$refname' already exists." >&2
|
|
92
|
+
echo "*** Modifying a tag is not allowed in this repository." >&2
|
|
93
|
+
exit 1
|
|
94
|
+
fi
|
|
95
|
+
;;
|
|
96
|
+
refs/heads/*,commit)
|
|
97
|
+
# branch
|
|
98
|
+
if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
|
|
99
|
+
echo "*** Creating a branch is not allowed in this repository" >&2
|
|
100
|
+
exit 1
|
|
101
|
+
fi
|
|
102
|
+
;;
|
|
103
|
+
refs/heads/*,delete)
|
|
104
|
+
# delete branch
|
|
105
|
+
if [ "$allowdeletebranch" != "true" ]; then
|
|
106
|
+
echo "*** Deleting a branch is not allowed in this repository" >&2
|
|
107
|
+
exit 1
|
|
108
|
+
fi
|
|
109
|
+
;;
|
|
110
|
+
refs/remotes/*,commit)
|
|
111
|
+
# tracking branch
|
|
112
|
+
;;
|
|
113
|
+
refs/remotes/*,delete)
|
|
114
|
+
# delete tracking branch
|
|
115
|
+
if [ "$allowdeletebranch" != "true" ]; then
|
|
116
|
+
echo "*** Deleting a tracking branch is not allowed in this repository" >&2
|
|
117
|
+
exit 1
|
|
118
|
+
fi
|
|
119
|
+
;;
|
|
120
|
+
*)
|
|
121
|
+
# Anything else (is there anything else?)
|
|
122
|
+
echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
|
|
123
|
+
exit 1
|
|
124
|
+
;;
|
|
125
|
+
esac
|
|
126
|
+
|
|
127
|
+
# --- Finished
|
|
128
|
+
exit 0
|
package/.beads/README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Beads - AI-Native Issue Tracking
|
|
2
|
+
|
|
3
|
+
Welcome to Beads! This repository uses **Beads** for issue tracking - a modern, AI-native tool designed to live directly in your codebase alongside your code.
|
|
4
|
+
|
|
5
|
+
## What is Beads?
|
|
6
|
+
|
|
7
|
+
Beads is issue tracking that lives in your repo, making it perfect for AI coding agents and developers who want their issues close to their code. No web UI required - everything works through the CLI and integrates seamlessly with git.
|
|
8
|
+
|
|
9
|
+
**Learn more:** [github.com/steveyegge/beads](https://github.com/steveyegge/beads)
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
### Essential Commands
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Create new issues
|
|
17
|
+
bd create "Add user authentication"
|
|
18
|
+
|
|
19
|
+
# View all issues
|
|
20
|
+
bd list
|
|
21
|
+
|
|
22
|
+
# View issue details
|
|
23
|
+
bd show <issue-id>
|
|
24
|
+
|
|
25
|
+
# Update issue status
|
|
26
|
+
bd update <issue-id> --claim
|
|
27
|
+
bd update <issue-id> --status done
|
|
28
|
+
|
|
29
|
+
# Sync with Dolt remote
|
|
30
|
+
bd dolt push
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Working with Issues
|
|
34
|
+
|
|
35
|
+
Issues in Beads are:
|
|
36
|
+
- **Git-native**: Stored in `.beads/issues.jsonl` and synced like code
|
|
37
|
+
- **AI-friendly**: CLI-first design works perfectly with AI coding agents
|
|
38
|
+
- **Branch-aware**: Issues can follow your branch workflow
|
|
39
|
+
- **Always in sync**: Auto-syncs with your commits
|
|
40
|
+
|
|
41
|
+
## Why Beads?
|
|
42
|
+
|
|
43
|
+
✨ **AI-Native Design**
|
|
44
|
+
- Built specifically for AI-assisted development workflows
|
|
45
|
+
- CLI-first interface works seamlessly with AI coding agents
|
|
46
|
+
- No context switching to web UIs
|
|
47
|
+
|
|
48
|
+
🚀 **Developer Focused**
|
|
49
|
+
- Issues live in your repo, right next to your code
|
|
50
|
+
- Works offline, syncs when you push
|
|
51
|
+
- Fast, lightweight, and stays out of your way
|
|
52
|
+
|
|
53
|
+
🔧 **Git Integration**
|
|
54
|
+
- Automatic sync with git commits
|
|
55
|
+
- Branch-aware issue tracking
|
|
56
|
+
- Intelligent JSONL merge resolution
|
|
57
|
+
|
|
58
|
+
## Get Started with Beads
|
|
59
|
+
|
|
60
|
+
Try Beads in your own projects:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Install Beads
|
|
64
|
+
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
|
|
65
|
+
|
|
66
|
+
# Initialize in your repo
|
|
67
|
+
bd init
|
|
68
|
+
|
|
69
|
+
# Create your first issue
|
|
70
|
+
bd create "Try out Beads"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Learn More
|
|
74
|
+
|
|
75
|
+
- **Documentation**: [github.com/steveyegge/beads/docs](https://github.com/steveyegge/beads/tree/main/docs)
|
|
76
|
+
- **Quick Start Guide**: Run `bd quickstart`
|
|
77
|
+
- **Examples**: [github.com/steveyegge/beads/examples](https://github.com/steveyegge/beads/tree/main/examples)
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
*Beads: Issue tracking that moves at the speed of thought* ⚡
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"last_dolt_commit": "l1dnbhthsfgi9v89teho6b2efhklvlv0",
|
|
3
|
+
"last_event_id": 0,
|
|
4
|
+
"timestamp": "2026-03-06T13:05:38.518606871Z",
|
|
5
|
+
"counts": {
|
|
6
|
+
"issues": 9,
|
|
7
|
+
"events": 31,
|
|
8
|
+
"comments": 0,
|
|
9
|
+
"dependencies": 10,
|
|
10
|
+
"labels": 0,
|
|
11
|
+
"config": 11
|
|
12
|
+
}
|
|
13
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{"key":"auto_compact_enabled","value":"false"}
|
|
2
|
+
{"key":"compact_batch_size","value":"50"}
|
|
3
|
+
{"key":"compact_parallel_workers","value":"5"}
|
|
4
|
+
{"key":"compact_tier1_days","value":"30"}
|
|
5
|
+
{"key":"compact_tier1_dep_levels","value":"2"}
|
|
6
|
+
{"key":"compact_tier2_commits","value":"100"}
|
|
7
|
+
{"key":"compact_tier2_days","value":"90"}
|
|
8
|
+
{"key":"compact_tier2_dep_levels","value":"5"}
|
|
9
|
+
{"key":"compaction_enabled","value":"false"}
|
|
10
|
+
{"key":"issue_prefix","value":"git-worktree-organize"}
|
|
11
|
+
{"key":"schema_version","value":"6"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-pa7","issue_id":"git-worktree-organize-3h1","type":"blocks"}
|
|
2
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-3h1","issue_id":"git-worktree-organize-53n","type":"blocks"}
|
|
3
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-jnu","issue_id":"git-worktree-organize-5ea","type":"blocks"}
|
|
4
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-q2e","issue_id":"git-worktree-organize-5ea","type":"blocks"}
|
|
5
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-t83","issue_id":"git-worktree-organize-5ea","type":"blocks"}
|
|
6
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-3yq","issue_id":"git-worktree-organize-7sk","type":"blocks"}
|
|
7
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-7sk","issue_id":"git-worktree-organize-jnu","type":"blocks"}
|
|
8
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-5ea","issue_id":"git-worktree-organize-pa7","type":"blocks"}
|
|
9
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-7sk","issue_id":"git-worktree-organize-q2e","type":"blocks"}
|
|
10
|
+
{"created_at":"2026-03-05T23:28:12Z","created_by":"Mike Crowe","depends_on_id":"git-worktree-organize-7sk","issue_id":"git-worktree-organize-t83","type":"blocks"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:27:46Z","event_type":"created","id":1,"issue_id":"git-worktree-organize-3yq","new_value":"","old_value":""}
|
|
2
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:27:46Z","event_type":"created","id":2,"issue_id":"git-worktree-organize-7sk","new_value":"","old_value":""}
|
|
3
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:27:54Z","event_type":"created","id":3,"issue_id":"git-worktree-organize-t83","new_value":"","old_value":""}
|
|
4
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:27:54Z","event_type":"created","id":4,"issue_id":"git-worktree-organize-q2e","new_value":"","old_value":""}
|
|
5
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:27:54Z","event_type":"created","id":5,"issue_id":"git-worktree-organize-jnu","new_value":"","old_value":""}
|
|
6
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:28:02Z","event_type":"created","id":6,"issue_id":"git-worktree-organize-3h1","new_value":"","old_value":""}
|
|
7
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:28:02Z","event_type":"created","id":7,"issue_id":"git-worktree-organize-5ea","new_value":"","old_value":""}
|
|
8
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:28:02Z","event_type":"created","id":8,"issue_id":"git-worktree-organize-pa7","new_value":"","old_value":""}
|
|
9
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-05T23:28:02Z","event_type":"created","id":9,"issue_id":"git-worktree-organize-53n","new_value":"","old_value":""}
|
|
10
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:17:41Z","event_type":"closed","id":10,"issue_id":"git-worktree-organize-53n","new_value":"Removed — not tracking npm publish as a task","old_value":""}
|
|
11
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:24:30Z","event_type":"status_changed","id":11,"issue_id":"git-worktree-organize-3yq","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-3yq\",\"title\":\"Set up package.json for Bun + TypeScript + Vitest\",\"description\":\"Configure package.json with correct bin entry, scripts (build, test), deps (typescript, vitest, @types/bun), tsconfig.json. Stack: Bun runtime, TypeScript, Vitest.\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:27:47Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:27:47Z\"}"}
|
|
12
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:25:33Z","event_type":"closed","id":12,"issue_id":"git-worktree-organize-3yq","new_value":"Closed","old_value":""}
|
|
13
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:25:33Z","event_type":"status_changed","id":13,"issue_id":"git-worktree-organize-7sk","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-7sk\",\"title\":\"Scaffold source files with types and stubs\",\"description\":\"Create src/cli.ts, src/detect.ts, src/worktrees.ts, src/migrate.ts, src/git.ts, src/fs.ts with the types from AGENT_HANDOVER.md (RepoConfig, Worktree) and stub implementations.\",\"status\":\"open\",\"priority\":0,\"issue_type\":\"task\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:27:47Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:27:47Z\"}"}
|
|
14
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:26:35Z","event_type":"closed","id":14,"issue_id":"git-worktree-organize-7sk","new_value":"Closed","old_value":""}
|
|
15
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:26:38Z","event_type":"status_changed","id":15,"issue_id":"git-worktree-organize-jnu","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-jnu\",\"title\":\"Implement git.ts and fs.ts thin wrappers\",\"description\":\"git.ts: run git commands, read git config. fs.ts: move/copy with cross-filesystem detection via statSync().dev. These are the only modules that touch the real system.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"feature\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:27:55Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:27:55Z\"}"}
|
|
16
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:26:39Z","event_type":"status_changed","id":16,"issue_id":"git-worktree-organize-q2e","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-q2e\",\"title\":\"Implement worktrees.ts + tests\",\"description\":\"Parse git worktree list --porcelain output into typed Worktree[]. Handle bare, linked, detached HEAD cases. Tests in test/worktrees.test.ts.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"feature\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:27:55Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:27:55Z\"}"}
|
|
17
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:26:39Z","event_type":"status_changed","id":17,"issue_id":"git-worktree-organize-t83","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-t83\",\"title\":\"Implement detect.ts + full test suite\",\"description\":\"Implement all 7 detection cases from the detection matrix: standard, bare-hub, bare-root, bare-dotgit, bare-external, reject-linked-worktree, reject-not-a-repo. Tests in test/detect.test.ts using real git repos in tmpdir.\",\"status\":\"open\",\"priority\":1,\"issue_type\":\"feature\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:27:55Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:27:55Z\"}"}
|
|
18
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:27:31Z","event_type":"closed","id":18,"issue_id":"git-worktree-organize-jnu","new_value":"Closed","old_value":""}
|
|
19
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:29:41Z","event_type":"closed","id":19,"issue_id":"git-worktree-organize-q2e","new_value":"Closed","old_value":""}
|
|
20
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:30:04Z","event_type":"closed","id":20,"issue_id":"git-worktree-organize-t83","new_value":"Closed","old_value":""}
|
|
21
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:30:25Z","event_type":"closed","id":21,"issue_id":"git-worktree-organize-jnu","new_value":"Closed","old_value":""}
|
|
22
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:30:26Z","event_type":"closed","id":22,"issue_id":"git-worktree-organize-q2e","new_value":"Closed","old_value":""}
|
|
23
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:30:26Z","event_type":"closed","id":23,"issue_id":"git-worktree-organize-t83","new_value":"Closed","old_value":""}
|
|
24
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:32:04Z","event_type":"status_changed","id":24,"issue_id":"git-worktree-organize-5ea","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-5ea\",\"title\":\"Implement migrate.ts + full test suite\",\"description\":\"Orchestrate the full migration for all repo config types. Tests: standard→hub, bare-root→hub, bare-hub→new location, no worktrees→hub, cross-filesystem, branch with / sanitized to -, collision detection.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"feature\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:28:03Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:28:03Z\"}"}
|
|
25
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:35:54Z","event_type":"closed","id":25,"issue_id":"git-worktree-organize-5ea","new_value":"Closed","old_value":""}
|
|
26
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:36:16Z","event_type":"closed","id":26,"issue_id":"git-worktree-organize-5ea","new_value":"Closed","old_value":""}
|
|
27
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:36:25Z","event_type":"status_changed","id":27,"issue_id":"git-worktree-organize-pa7","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-pa7\",\"title\":\"Implement cli.ts entry point\",\"description\":\"Arg parsing (citty or yargs), interactive confirmation prompt, formatted output matching bash prototype (colors, worktree preview table, done message). Wire up npx binary entry.\",\"status\":\"open\",\"priority\":2,\"issue_type\":\"feature\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:28:03Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:28:03Z\"}"}
|
|
28
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:37:52Z","event_type":"closed","id":28,"issue_id":"git-worktree-organize-pa7","new_value":"Closed","old_value":""}
|
|
29
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:38:11Z","event_type":"closed","id":29,"issue_id":"git-worktree-organize-pa7","new_value":"Closed","old_value":""}
|
|
30
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:38:11Z","event_type":"status_changed","id":30,"issue_id":"git-worktree-organize-3h1","new_value":"{\"status\":\"in_progress\"}","old_value":"{\"id\":\"git-worktree-organize-3h1\",\"title\":\"Write README\",\"description\":\"Document usage, installation methods (npx, direct install), what the tool does, before/after directory structure examples.\",\"status\":\"open\",\"priority\":3,\"issue_type\":\"task\",\"owner\":\"drmikecrowe@gmail.com\",\"created_at\":\"2026-03-06T04:28:03Z\",\"created_by\":\"Mike Crowe\",\"updated_at\":\"2026-03-06T04:28:03Z\"}"}
|
|
31
|
+
{"actor":"Mike Crowe","comment":null,"created_at":"2026-03-06T06:39:00Z","event_type":"closed","id":31,"issue_id":"git-worktree-organize-3h1","new_value":"Closed","old_value":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:39:01Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"561f6b5866ebbb03db36aa8f14a46eb580c05a0691c30814cefe8d90133a6dfc","created_at":"2026-03-06T04:28:03Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Document usage, installation methods (npx, direct install), what the tool does, before/after directory structure examples.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-3h1","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":3,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Write README","updated_at":"2026-03-06T11:39:01Z","waiters":"","wisp_type":"","work_type":""}
|
|
2
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:25:33Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"fb0acfcdb0465d4f5b9dc129ddeb6d91efd79069adc8d86ad1acb4e207809b4a","created_at":"2026-03-06T04:27:47Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Configure package.json with correct bin entry, scripts (build, test), deps (typescript, vitest, @types/bun), tsconfig.json. Stack: Bun runtime, TypeScript, Vitest.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-3yq","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Set up package.json for Bun + TypeScript + Vitest","updated_at":"2026-03-06T11:25:33Z","waiters":"","wisp_type":"","work_type":""}
|
|
3
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Removed — not tracking npm publish as a task","closed_at":"2026-03-06T11:17:42Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"dd2362b7ac9b221851317c89933365a9244782bf7e243b487f0f58cbfcc3731e","created_at":"2026-03-06T04:28:03Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Verify npx git-worktree-organize works locally, then publish package to npm registry.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-53n","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":4,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Publish to npm","updated_at":"2026-03-06T11:17:42Z","waiters":"","wisp_type":"","work_type":""}
|
|
4
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:36:16Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"ee988a5cd9bba616c11f15991543ca2991525f0ccf7a42570e78f6d58305eb1d","created_at":"2026-03-06T04:28:03Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Orchestrate the full migration for all repo config types. Tests: standard→hub, bare-root→hub, bare-hub→new location, no worktrees→hub, cross-filesystem, branch with / sanitized to -, collision detection.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-5ea","is_template":0,"issue_type":"feature","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Implement migrate.ts + full test suite","updated_at":"2026-03-06T11:36:16Z","waiters":"","wisp_type":"","work_type":""}
|
|
5
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:26:36Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"7aabd95b4fd55f537a1de1d736dcf6dfbc2bdb4606022497d617bd4327f0d176","created_at":"2026-03-06T04:27:47Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Create src/cli.ts, src/detect.ts, src/worktrees.ts, src/migrate.ts, src/git.ts, src/fs.ts with the types from AGENT_HANDOVER.md (RepoConfig, Worktree) and stub implementations.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-7sk","is_template":0,"issue_type":"task","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":0,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Scaffold source files with types and stubs","updated_at":"2026-03-06T11:26:36Z","waiters":"","wisp_type":"","work_type":""}
|
|
6
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:30:26Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"0a01642f655d9349862290f82014254401d6614d5160b5763253fd6738775dea","created_at":"2026-03-06T04:27:55Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"git.ts: run git commands, read git config. fs.ts: move/copy with cross-filesystem detection via statSync().dev. These are the only modules that touch the real system.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-jnu","is_template":0,"issue_type":"feature","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Implement git.ts and fs.ts thin wrappers","updated_at":"2026-03-06T11:30:26Z","waiters":"","wisp_type":"","work_type":""}
|
|
7
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:38:11Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"aac42923f4098c6b3b314b1c10374e205085707e0dd4df714a3e0fc2868ce2ba","created_at":"2026-03-06T04:28:03Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Arg parsing (citty or yargs), interactive confirmation prompt, formatted output matching bash prototype (colors, worktree preview table, done message). Wire up npx binary entry.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-pa7","is_template":0,"issue_type":"feature","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":2,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Implement cli.ts entry point","updated_at":"2026-03-06T11:38:11Z","waiters":"","wisp_type":"","work_type":""}
|
|
8
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:30:26Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"74d94c1a48786197343e664f31b426b3105f9142e00f2bc70a923ca4d12adadb","created_at":"2026-03-06T04:27:55Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Parse git worktree list --porcelain output into typed Worktree[]. Handle bare, linked, detached HEAD cases. Tests in test/worktrees.test.ts.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-q2e","is_template":0,"issue_type":"feature","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Implement worktrees.ts + tests","updated_at":"2026-03-06T11:30:26Z","waiters":"","wisp_type":"","work_type":""}
|
|
9
|
+
{"acceptance_criteria":"","actor":"","agent_state":"","assignee":null,"await_id":"","await_type":"","close_reason":"Closed","closed_at":"2026-03-06T11:30:26Z","closed_by_session":"","compacted_at":null,"compacted_at_commit":null,"compaction_level":0,"content_hash":"e1c9d043c99e2fbecc16f2c9e7ceae6d43600a5ab07c7dea9a53e8dc082552f6","created_at":"2026-03-06T04:27:55Z","created_by":"Mike Crowe","crystallizes":0,"defer_until":null,"description":"Implement all 7 detection cases from the detection matrix: standard, bare-hub, bare-root, bare-dotgit, bare-external, reject-linked-worktree, reject-not-a-repo. Tests in test/detect.test.ts using real git repos in tmpdir.","design":"","due_at":null,"ephemeral":0,"estimated_minutes":null,"event_kind":"","external_ref":null,"hook_bead":"","id":"git-worktree-organize-t83","is_template":0,"issue_type":"feature","last_activity":null,"metadata":"{}","mol_type":"","notes":"","original_size":null,"owner":"drmikecrowe@gmail.com","payload":"","pinned":0,"priority":1,"quality_score":null,"rig":"","role_bead":"","role_type":"","sender":"","source_repo":"","source_system":"","spec_id":"","status":"closed","target":"","timeout_ns":0,"title":"Implement detect.ts + full test suite","updated_at":"2026-03-06T11:30:26Z","waiters":"","wisp_type":"","work_type":""}
|
|
File without changes
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Beads Configuration File
|
|
2
|
+
# This file configures default behavior for all bd commands in this repository
|
|
3
|
+
# All settings can also be set via environment variables (BD_* prefix)
|
|
4
|
+
# or overridden with command-line flags
|
|
5
|
+
|
|
6
|
+
# Issue prefix for this repository (used by bd init)
|
|
7
|
+
# If not set, bd init will auto-detect from directory name
|
|
8
|
+
# Example: issue-prefix: "myproject" creates issues like "myproject-1", "myproject-2", etc.
|
|
9
|
+
# issue-prefix: ""
|
|
10
|
+
|
|
11
|
+
# Use no-db mode: load from JSONL, write back after each command
|
|
12
|
+
# When true, bd will use .beads/issues.jsonl as the source of truth
|
|
13
|
+
# instead of the Dolt database
|
|
14
|
+
# no-db: false
|
|
15
|
+
|
|
16
|
+
# Enable JSON output by default
|
|
17
|
+
# json: false
|
|
18
|
+
|
|
19
|
+
# Feedback title formatting for mutating commands (create/update/close/dep/edit)
|
|
20
|
+
# 0 = hide titles, N > 0 = truncate to N characters
|
|
21
|
+
# output:
|
|
22
|
+
# title-length: 255
|
|
23
|
+
|
|
24
|
+
# Default actor for audit trails (overridden by BD_ACTOR or --actor)
|
|
25
|
+
# actor: ""
|
|
26
|
+
|
|
27
|
+
# Export events (audit trail) to .beads/events.jsonl on each flush/sync
|
|
28
|
+
# When enabled, new events are appended incrementally using a high-water mark.
|
|
29
|
+
# Use 'bd export --events' to trigger manually regardless of this setting.
|
|
30
|
+
# events-export: false
|
|
31
|
+
|
|
32
|
+
# Multi-repo configuration (experimental - bd-307)
|
|
33
|
+
# Allows hydrating from multiple repositories and routing writes to the correct JSONL
|
|
34
|
+
# repos:
|
|
35
|
+
# primary: "." # Primary repo (where this database lives)
|
|
36
|
+
# additional: # Additional repos to hydrate from (read-only)
|
|
37
|
+
# - ~/beads-planning # Personal planning repo
|
|
38
|
+
# - ~/work-planning # Work planning repo
|
|
39
|
+
|
|
40
|
+
# JSONL backup (periodic export for off-machine recovery)
|
|
41
|
+
# Auto-enabled when a git remote exists. Override explicitly:
|
|
42
|
+
# backup:
|
|
43
|
+
# enabled: false # Disable auto-backup entirely
|
|
44
|
+
# interval: 15m # Minimum time between auto-exports
|
|
45
|
+
# git-push: false # Disable git push (export locally only)
|
|
46
|
+
# git-repo: "" # Separate git repo for backups (default: project repo)
|
|
47
|
+
|
|
48
|
+
# Integration settings (access with 'bd config get/set')
|
|
49
|
+
# These are stored in the database, not in this file:
|
|
50
|
+
# - jira.url
|
|
51
|
+
# - jira.project
|
|
52
|
+
# - linear.url
|
|
53
|
+
# - linear.api-key
|
|
54
|
+
# - github.org
|
|
55
|
+
# - github.repo
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env sh
|
|
2
|
+
# --- BEGIN BEADS INTEGRATION v0.57.0 ---
|
|
3
|
+
# This section is managed by beads. Do not remove these markers.
|
|
4
|
+
if command -v bd >/dev/null 2>&1; then
|
|
5
|
+
export BD_GIT_HOOK=1
|
|
6
|
+
bd hooks run post-checkout "$@"
|
|
7
|
+
_bd_exit=$?; if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
|
|
8
|
+
fi
|
|
9
|
+
# --- END BEADS INTEGRATION ---
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env sh
|
|
2
|
+
# --- BEGIN BEADS INTEGRATION v0.57.0 ---
|
|
3
|
+
# This section is managed by beads. Do not remove these markers.
|
|
4
|
+
if command -v bd >/dev/null 2>&1; then
|
|
5
|
+
export BD_GIT_HOOK=1
|
|
6
|
+
bd hooks run post-merge "$@"
|
|
7
|
+
_bd_exit=$?; if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
|
|
8
|
+
fi
|
|
9
|
+
# --- END BEADS INTEGRATION ---
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env sh
|
|
2
|
+
# --- BEGIN BEADS INTEGRATION v0.57.0 ---
|
|
3
|
+
# This section is managed by beads. Do not remove these markers.
|
|
4
|
+
if command -v bd >/dev/null 2>&1; then
|
|
5
|
+
export BD_GIT_HOOK=1
|
|
6
|
+
bd hooks run pre-commit "$@"
|
|
7
|
+
_bd_exit=$?; if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
|
|
8
|
+
fi
|
|
9
|
+
# --- END BEADS INTEGRATION ---
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env sh
|
|
2
|
+
# --- BEGIN BEADS INTEGRATION v0.57.0 ---
|
|
3
|
+
# This section is managed by beads. Do not remove these markers.
|
|
4
|
+
if command -v bd >/dev/null 2>&1; then
|
|
5
|
+
export BD_GIT_HOOK=1
|
|
6
|
+
bd hooks run pre-push "$@"
|
|
7
|
+
_bd_exit=$?; if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
|
|
8
|
+
fi
|
|
9
|
+
# --- END BEADS INTEGRATION ---
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env sh
|
|
2
|
+
# --- BEGIN BEADS INTEGRATION v0.57.0 ---
|
|
3
|
+
# This section is managed by beads. Do not remove these markers.
|
|
4
|
+
if command -v bd >/dev/null 2>&1; then
|
|
5
|
+
export BD_GIT_HOOK=1
|
|
6
|
+
bd hooks run prepare-commit-msg "$@"
|
|
7
|
+
_bd_exit=$?; if [ $_bd_exit -ne 0 ]; then exit $_bd_exit; fi
|
|
8
|
+
fi
|
|
9
|
+
# --- END BEADS INTEGRATION ---
|
|
File without changes
|