sequel-duckdb 0.2.0 → 0.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -20
- data/lib/sequel/duckdb/version.rb +1 -4
- metadata +3 -59
- data/.beads/.beads-credential-key +0 -1
- data/.beads/.gitignore +0 -66
- data/.beads/README.md +0 -85
- data/.beads/config.yaml +0 -56
- data/.beads/hooks/post-checkout +0 -24
- data/.beads/hooks/post-merge +0 -24
- data/.beads/hooks/pre-commit +0 -24
- data/.beads/hooks/pre-push +0 -24
- data/.beads/hooks/prepare-commit-msg +0 -24
- data/.beads/metadata.json +0 -7
- data/.kiro/specs/advanced-sql-features-implementation/design.md +0 -26
- data/.kiro/specs/advanced-sql-features-implementation/requirements.md +0 -43
- data/.kiro/specs/advanced-sql-features-implementation/tasks.md +0 -28
- data/.kiro/specs/duckdb-sql-syntax-compatibility/design.md +0 -272
- data/.kiro/specs/duckdb-sql-syntax-compatibility/requirements.md +0 -84
- data/.kiro/specs/duckdb-sql-syntax-compatibility/tasks.md +0 -107
- data/.kiro/specs/edge-cases-and-validation-fixes/requirements.md +0 -32
- data/.kiro/specs/integration-test-database-setup/design.md +0 -0
- data/.kiro/specs/integration-test-database-setup/requirements.md +0 -117
- data/.kiro/specs/sequel-duckdb-adapter/design.md +0 -549
- data/.kiro/specs/sequel-duckdb-adapter/requirements.md +0 -202
- data/.kiro/specs/sequel-duckdb-adapter/tasks.md +0 -292
- data/.kiro/specs/sql-expression-handling-fix/design.md +0 -331
- data/.kiro/specs/sql-expression-handling-fix/requirements.md +0 -86
- data/.kiro/specs/sql-expression-handling-fix/tasks.md +0 -25
- data/.kiro/specs/test-infrastructure-improvements/requirements.md +0 -106
- data/.kiro/steering/product.md +0 -26
- data/.kiro/steering/structure.md +0 -88
- data/.kiro/steering/tech.md +0 -137
- data/.kiro/steering/testing.md +0 -213
- data/.mdformat.toml +0 -2
- data/.release-please-manifest.json +0 -3
- data/.rubocop.yml +0 -161
- data/.rubocop_todo.yml +0 -323
- data/.yardopts +0 -8
- data/AGENTS.md +0 -154
- data/API_DOCUMENTATION.md +0 -943
- data/FINAL_STATUS.md +0 -99
- data/MIGRATION_EXAMPLES.md +0 -740
- data/PERFORMANCE_OPTIMIZATIONS.md +0 -726
- data/REFACTORING_SUMMARY.md +0 -264
- data/Rakefile +0 -43
- data/TASK_10.2_IMPLEMENTATION_SUMMARY.md +0 -182
- data/docs/DUCKDB_SQL_PATTERNS.md +0 -448
- data/docs/TASK_12_VERIFICATION_SUMMARY.md +0 -135
- data/justfile +0 -52
- data/plans/date_arithmetic.md +0 -420
- data/plans/engineering/Sequel.md +0 -471
- data/plans/engineering/duckdb.md +0 -712
- data/plans/engineering/sqlite.md +0 -453
- data/plans/mock_connection_bug.md +0 -333
- data/plans/mock_without_driver_gem.md +0 -371
- data/plans/over_engineering_analysis.md +0 -122
- data/plans/schema_management.md +0 -383
- data/release-please-config.json +0 -14
- data/sig/sequel/duckdb.rbs +0 -6
data/.rubocop_todo.yml
DELETED
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
# This configuration was generated by
|
|
2
|
-
# `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 10000`
|
|
3
|
-
# on 2026-02-25 14:47:24 UTC using RuboCop version 1.84.2.
|
|
4
|
-
# The point is for the user to remove these configuration records
|
|
5
|
-
# one by one as the offenses are removed from the code base.
|
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
-
|
|
9
|
-
# Offense count: 1
|
|
10
|
-
Gemspec/RequiredRubyVersion:
|
|
11
|
-
Exclude:
|
|
12
|
-
- 'sequel-duckdb.gemspec'
|
|
13
|
-
|
|
14
|
-
# Offense count: 1
|
|
15
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
16
|
-
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
|
17
|
-
# SupportedStyles: with_first_argument, with_fixed_indentation
|
|
18
|
-
Layout/ArgumentAlignment:
|
|
19
|
-
Exclude:
|
|
20
|
-
- 'test/date_arithmetic_test.rb'
|
|
21
|
-
|
|
22
|
-
# Offense count: 50
|
|
23
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
24
|
-
# Configuration parameters: EnforcedStyle.
|
|
25
|
-
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
|
|
26
|
-
Layout/EmptyLinesAroundClassBody:
|
|
27
|
-
Exclude:
|
|
28
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
29
|
-
- 'lib/sequel/duckdb/helpers/copier.rb'
|
|
30
|
-
- 'lib/sequel/duckdb/helpers/pathifier.rb'
|
|
31
|
-
- 'test/advanced_sql_generation_test.rb'
|
|
32
|
-
- 'test/copier_test.rb'
|
|
33
|
-
- 'test/core_sql_generation_test.rb'
|
|
34
|
-
- 'test/database_test.rb'
|
|
35
|
-
- 'test/dataset_functionality_test.rb'
|
|
36
|
-
- 'test/dataset_test.rb'
|
|
37
|
-
- 'test/date_arithmetic_test.rb'
|
|
38
|
-
- 'test/end_to_end_test.rb'
|
|
39
|
-
- 'test/enhanced_error_mapping_test.rb'
|
|
40
|
-
- 'test/error_handling_test.rb'
|
|
41
|
-
- 'test/mock_adapter_test.rb'
|
|
42
|
-
- 'test/pathifier_test.rb'
|
|
43
|
-
- 'test/performance_basic_test.rb'
|
|
44
|
-
- 'test/performance_test.rb'
|
|
45
|
-
- 'test/schema_introspection_test.rb'
|
|
46
|
-
- 'test/schema_metadata_test.rb'
|
|
47
|
-
- 'test/schema_test.rb'
|
|
48
|
-
- 'test/sequel_conventions_test.rb'
|
|
49
|
-
- 'test/spec_helper.rb'
|
|
50
|
-
- 'test/sql_test.rb'
|
|
51
|
-
- 'test/type_test.rb'
|
|
52
|
-
|
|
53
|
-
# Offense count: 14
|
|
54
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
55
|
-
# Configuration parameters: EnforcedStyle.
|
|
56
|
-
# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
|
|
57
|
-
Layout/EmptyLinesAroundModuleBody:
|
|
58
|
-
Exclude:
|
|
59
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
60
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
61
|
-
- 'lib/sequel/duckdb/version.rb'
|
|
62
|
-
- 'test/spec_helper.rb'
|
|
63
|
-
|
|
64
|
-
# Offense count: 2
|
|
65
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
66
|
-
# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
|
|
67
|
-
Layout/ExtraSpacing:
|
|
68
|
-
Exclude:
|
|
69
|
-
- 'test/date_arithmetic_test.rb'
|
|
70
|
-
|
|
71
|
-
# Offense count: 14
|
|
72
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
73
|
-
# Configuration parameters: IndentationWidth.
|
|
74
|
-
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
|
|
75
|
-
Layout/FirstArrayElementIndentation:
|
|
76
|
-
EnforcedStyle: consistent
|
|
77
|
-
|
|
78
|
-
# Offense count: 1
|
|
79
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
80
|
-
# Configuration parameters: Width, EnforcedStyleAlignWith, AllowedPatterns.
|
|
81
|
-
# SupportedStylesAlignWith: start_of_line, relative_to_receiver
|
|
82
|
-
Layout/IndentationWidth:
|
|
83
|
-
Exclude:
|
|
84
|
-
- 'lib/sequel/duckdb/helpers/copier.rb'
|
|
85
|
-
|
|
86
|
-
# Offense count: 2
|
|
87
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
88
|
-
# Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
|
|
89
|
-
# URISchemes: http, https
|
|
90
|
-
Layout/LineLength:
|
|
91
|
-
Exclude:
|
|
92
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
93
|
-
|
|
94
|
-
# Offense count: 1
|
|
95
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
96
|
-
# Configuration parameters: EnforcedStyle.
|
|
97
|
-
# SupportedStyles: symmetrical, new_line, same_line
|
|
98
|
-
Layout/MultilineMethodCallBraceLayout:
|
|
99
|
-
Exclude:
|
|
100
|
-
- 'test/date_arithmetic_test.rb'
|
|
101
|
-
|
|
102
|
-
# Offense count: 50
|
|
103
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
104
|
-
# Configuration parameters: EnforcedStyle, IndentationWidth.
|
|
105
|
-
# SupportedStyles: aligned, indented, indented_relative_to_receiver
|
|
106
|
-
Layout/MultilineMethodCallIndentation:
|
|
107
|
-
Exclude:
|
|
108
|
-
- 'test/date_arithmetic_test.rb'
|
|
109
|
-
|
|
110
|
-
# Offense count: 4
|
|
111
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
112
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
|
|
113
|
-
# SupportedStyles: space, no_space, compact
|
|
114
|
-
# SupportedStylesForEmptyBraces: space, no_space
|
|
115
|
-
Layout/SpaceInsideHashLiteralBraces:
|
|
116
|
-
Exclude:
|
|
117
|
-
- 'test/date_arithmetic_test.rb'
|
|
118
|
-
|
|
119
|
-
# Offense count: 1
|
|
120
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
121
|
-
# Configuration parameters: AllowSafeAssignment.
|
|
122
|
-
Lint/AssignmentInCondition:
|
|
123
|
-
Exclude:
|
|
124
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
125
|
-
|
|
126
|
-
# Offense count: 1
|
|
127
|
-
# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
|
|
128
|
-
Lint/DuplicateBranch:
|
|
129
|
-
Exclude:
|
|
130
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
131
|
-
|
|
132
|
-
# Offense count: 6
|
|
133
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
134
|
-
Lint/NonAtomicFileOperation:
|
|
135
|
-
Exclude:
|
|
136
|
-
- 'test/database_test.rb'
|
|
137
|
-
|
|
138
|
-
# Offense count: 1
|
|
139
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
140
|
-
Lint/RedundantCopDisableDirective:
|
|
141
|
-
Exclude:
|
|
142
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
143
|
-
|
|
144
|
-
# Offense count: 1
|
|
145
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
146
|
-
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
|
|
147
|
-
# NotImplementedExceptions: NotImplementedError
|
|
148
|
-
Lint/UnusedMethodArgument:
|
|
149
|
-
Exclude:
|
|
150
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
151
|
-
|
|
152
|
-
# Offense count: 1
|
|
153
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
154
|
-
# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
|
|
155
|
-
Lint/UselessAccessModifier:
|
|
156
|
-
Exclude:
|
|
157
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
158
|
-
|
|
159
|
-
# Offense count: 1
|
|
160
|
-
Lint/UselessConstantScoping:
|
|
161
|
-
Exclude:
|
|
162
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
163
|
-
|
|
164
|
-
# Offense count: 1
|
|
165
|
-
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
|
|
166
|
-
Metrics/AbcSize:
|
|
167
|
-
Exclude:
|
|
168
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
169
|
-
|
|
170
|
-
# Offense count: 15
|
|
171
|
-
# Configuration parameters: CountComments, Max, CountAsOne.
|
|
172
|
-
Metrics/ClassLength:
|
|
173
|
-
Exclude:
|
|
174
|
-
- 'test/advanced_sql_generation_test.rb'
|
|
175
|
-
- 'test/core_sql_generation_test.rb'
|
|
176
|
-
- 'test/database_test.rb'
|
|
177
|
-
- 'test/dataset_functionality_test.rb'
|
|
178
|
-
- 'test/dataset_test.rb'
|
|
179
|
-
- 'test/date_arithmetic_test.rb'
|
|
180
|
-
- 'test/end_to_end_test.rb'
|
|
181
|
-
- 'test/error_handling_test.rb'
|
|
182
|
-
- 'test/performance_basic_test.rb'
|
|
183
|
-
- 'test/performance_test.rb'
|
|
184
|
-
- 'test/schema_introspection_test.rb'
|
|
185
|
-
- 'test/schema_metadata_test.rb'
|
|
186
|
-
- 'test/schema_test.rb'
|
|
187
|
-
- 'test/sql_test.rb'
|
|
188
|
-
- 'test/type_test.rb'
|
|
189
|
-
|
|
190
|
-
# Offense count: 30
|
|
191
|
-
# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns.
|
|
192
|
-
Metrics/MethodLength:
|
|
193
|
-
Exclude:
|
|
194
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
195
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
196
|
-
- 'test/database_test.rb'
|
|
197
|
-
- 'test/dataset_test.rb'
|
|
198
|
-
- 'test/end_to_end_test.rb'
|
|
199
|
-
- 'test/enhanced_error_mapping_test.rb'
|
|
200
|
-
- 'test/error_handling_test.rb'
|
|
201
|
-
- 'test/performance_basic_test.rb'
|
|
202
|
-
- 'test/performance_test.rb'
|
|
203
|
-
- 'test/schema_introspection_test.rb'
|
|
204
|
-
- 'test/schema_metadata_test.rb'
|
|
205
|
-
- 'test/sequel_conventions_test.rb'
|
|
206
|
-
- 'test/type_test.rb'
|
|
207
|
-
|
|
208
|
-
# Offense count: 1
|
|
209
|
-
# Configuration parameters: CountComments, Max, CountAsOne.
|
|
210
|
-
Metrics/ModuleLength:
|
|
211
|
-
Exclude:
|
|
212
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
213
|
-
|
|
214
|
-
# Offense count: 1
|
|
215
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
216
|
-
Minitest/AssertPathExists:
|
|
217
|
-
Exclude:
|
|
218
|
-
- 'test/database_test.rb'
|
|
219
|
-
|
|
220
|
-
# Offense count: 26
|
|
221
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
222
|
-
Minitest/EmptyLineBeforeAssertionMethods:
|
|
223
|
-
Exclude:
|
|
224
|
-
- 'test/core_sql_generation_test.rb'
|
|
225
|
-
- 'test/database_test.rb'
|
|
226
|
-
- 'test/date_arithmetic_test.rb'
|
|
227
|
-
- 'test/mock_adapter_test.rb'
|
|
228
|
-
|
|
229
|
-
# Offense count: 2
|
|
230
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
231
|
-
# Configuration parameters: EnforcedStyle, BlockForwardingName.
|
|
232
|
-
# SupportedStyles: anonymous, explicit
|
|
233
|
-
Naming/BlockForwarding:
|
|
234
|
-
Exclude:
|
|
235
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
236
|
-
|
|
237
|
-
# Offense count: 2
|
|
238
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
239
|
-
# Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames.
|
|
240
|
-
# RedundantRestArgumentNames: args, arguments
|
|
241
|
-
# RedundantKeywordRestArgumentNames: kwargs, options, opts
|
|
242
|
-
# RedundantBlockArgumentNames: blk, block, proc
|
|
243
|
-
Style/ArgumentsForwarding:
|
|
244
|
-
Exclude:
|
|
245
|
-
- 'lib/sequel/adapters/duckdb.rb'
|
|
246
|
-
|
|
247
|
-
# Offense count: 1
|
|
248
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
249
|
-
# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
|
|
250
|
-
# SupportedStyles: predicate, comparison
|
|
251
|
-
Style/NumericPredicate:
|
|
252
|
-
Exclude:
|
|
253
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
254
|
-
|
|
255
|
-
# Offense count: 2
|
|
256
|
-
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
257
|
-
# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
|
|
258
|
-
# AllowedMethods: present?, blank?, presence, try, try!
|
|
259
|
-
Style/SafeNavigation:
|
|
260
|
-
Exclude:
|
|
261
|
-
- 'test/date_arithmetic_test.rb'
|
|
262
|
-
- 'test/pathifier_test.rb'
|
|
263
|
-
|
|
264
|
-
# Offense count: 2
|
|
265
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
266
|
-
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
|
267
|
-
# SupportedStyles: single_quotes, double_quotes
|
|
268
|
-
Style/StringLiterals:
|
|
269
|
-
Exclude:
|
|
270
|
-
- 'test/core_sql_generation_test.rb'
|
|
271
|
-
|
|
272
|
-
# Offense count: 1
|
|
273
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
274
|
-
# Configuration parameters: .
|
|
275
|
-
# SupportedStyles: percent, brackets
|
|
276
|
-
Style/SymbolArray:
|
|
277
|
-
EnforcedStyle: percent
|
|
278
|
-
MinSize: 3
|
|
279
|
-
|
|
280
|
-
# Offense count: 55
|
|
281
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
282
|
-
# Configuration parameters: EnforcedStyleForMultiline.
|
|
283
|
-
# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
|
|
284
|
-
Style/TrailingCommaInArguments:
|
|
285
|
-
Exclude:
|
|
286
|
-
- 'test/advanced_sql_generation_test.rb'
|
|
287
|
-
- 'test/copier_test.rb'
|
|
288
|
-
- 'test/dataset_functionality_test.rb'
|
|
289
|
-
- 'test/dataset_test.rb'
|
|
290
|
-
- 'test/date_arithmetic_test.rb'
|
|
291
|
-
- 'test/end_to_end_test.rb'
|
|
292
|
-
- 'test/model_test.rb'
|
|
293
|
-
- 'test/performance_basic_test.rb'
|
|
294
|
-
- 'test/sequel_conventions_test.rb'
|
|
295
|
-
- 'test/spec_helper.rb'
|
|
296
|
-
- 'test/sql_test.rb'
|
|
297
|
-
- 'test/type_test.rb'
|
|
298
|
-
|
|
299
|
-
# Offense count: 23
|
|
300
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
301
|
-
# Configuration parameters: EnforcedStyleForMultiline.
|
|
302
|
-
# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
|
|
303
|
-
Style/TrailingCommaInArrayLiteral:
|
|
304
|
-
Exclude:
|
|
305
|
-
- 'test/enhanced_error_mapping_test.rb'
|
|
306
|
-
- 'test/error_handling_test.rb'
|
|
307
|
-
- 'test/pathifier_test.rb'
|
|
308
|
-
- 'test/performance_basic_test.rb'
|
|
309
|
-
- 'test/type_test.rb'
|
|
310
|
-
|
|
311
|
-
# Offense count: 26
|
|
312
|
-
# This cop supports safe autocorrection (--autocorrect).
|
|
313
|
-
# Configuration parameters: EnforcedStyleForMultiline.
|
|
314
|
-
# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
|
|
315
|
-
Style/TrailingCommaInHashLiteral:
|
|
316
|
-
Exclude:
|
|
317
|
-
- 'lib/sequel/adapters/shared/duckdb.rb'
|
|
318
|
-
- 'test/database_test.rb'
|
|
319
|
-
- 'test/end_to_end_test.rb'
|
|
320
|
-
- 'test/error_handling_test.rb'
|
|
321
|
-
- 'test/performance_basic_test.rb'
|
|
322
|
-
- 'test/performance_test.rb'
|
|
323
|
-
- 'test/schema_introspection_test.rb'
|
data/.yardopts
DELETED
data/AGENTS.md
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
# Agent Instructions
|
|
2
|
-
|
|
3
|
-
This project uses **bd** (beads) for issue tracking. Run `bd onboard` to get started.
|
|
4
|
-
|
|
5
|
-
## Quick Reference
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
bd ready # Find available work
|
|
9
|
-
bd show <id> # View issue details
|
|
10
|
-
bd update <id> --claim # Claim work atomically
|
|
11
|
-
bd close <id> # Complete work
|
|
12
|
-
bd dolt push # Push beads data to remote
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Non-Interactive Shell Commands
|
|
16
|
-
|
|
17
|
-
**ALWAYS use non-interactive flags** with file operations to avoid hanging on confirmation prompts.
|
|
18
|
-
|
|
19
|
-
Shell commands like `cp`, `mv`, and `rm` may be aliased to include `-i` (interactive) mode on some systems, causing the agent to hang indefinitely waiting for y/n input.
|
|
20
|
-
|
|
21
|
-
**Use these forms instead:**
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Force overwrite without prompting
|
|
25
|
-
cp -f source dest # NOT: cp source dest
|
|
26
|
-
mv -f source dest # NOT: mv source dest
|
|
27
|
-
rm -f file # NOT: rm file
|
|
28
|
-
|
|
29
|
-
# For recursive operations
|
|
30
|
-
rm -rf directory # NOT: rm -r directory
|
|
31
|
-
cp -rf source dest # NOT: cp -r source dest
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Other commands that may prompt:**
|
|
35
|
-
|
|
36
|
-
- `scp` - use `-o BatchMode=yes` for non-interactive
|
|
37
|
-
- `ssh` - use `-o BatchMode=yes` to fail instead of prompting
|
|
38
|
-
- `apt-get` - use `-y` flag
|
|
39
|
-
- `brew` - use `HOMEBREW_NO_AUTO_UPDATE=1` env var
|
|
40
|
-
|
|
41
|
-
<!-- BEGIN BEADS INTEGRATION profile:full hash:d4f96305 -->
|
|
42
|
-
|
|
43
|
-
## Issue Tracking with bd (beads)
|
|
44
|
-
|
|
45
|
-
**IMPORTANT**: This project uses **bd (beads)** for ALL issue tracking. Do NOT use markdown TODOs, task lists, or other tracking methods.
|
|
46
|
-
|
|
47
|
-
### Why bd?
|
|
48
|
-
|
|
49
|
-
- Dependency-aware: Track blockers and relationships between issues
|
|
50
|
-
- Git-friendly: Dolt-powered version control with native sync
|
|
51
|
-
- Agent-optimized: JSON output, ready work detection, discovered-from links
|
|
52
|
-
- Prevents duplicate tracking systems and confusion
|
|
53
|
-
|
|
54
|
-
### Quick Start
|
|
55
|
-
|
|
56
|
-
**Check for ready work:**
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
bd ready --json
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Create new issues:**
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
bd create "Issue title" --description="Detailed context" -t bug|feature|task -p 0-4 --json
|
|
66
|
-
bd create "Issue title" --description="What this issue is about" -p 1 --deps discovered-from:bd-123 --json
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
**Claim and update:**
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
bd update <id> --claim --json
|
|
73
|
-
bd update bd-42 --priority 1 --json
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**Complete work:**
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
bd close bd-42 --reason "Completed" --json
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Issue Types
|
|
83
|
-
|
|
84
|
-
- `bug` - Something broken
|
|
85
|
-
- `feature` - New functionality
|
|
86
|
-
- `task` - Work item (tests, docs, refactoring)
|
|
87
|
-
- `epic` - Large feature with subtasks
|
|
88
|
-
- `chore` - Maintenance (dependencies, tooling)
|
|
89
|
-
|
|
90
|
-
### Priorities
|
|
91
|
-
|
|
92
|
-
- `0` - Critical (security, data loss, broken builds)
|
|
93
|
-
- `1` - High (major features, important bugs)
|
|
94
|
-
- `2` - Medium (default, nice-to-have)
|
|
95
|
-
- `3` - Low (polish, optimization)
|
|
96
|
-
- `4` - Backlog (future ideas)
|
|
97
|
-
|
|
98
|
-
### Workflow for AI Agents
|
|
99
|
-
|
|
100
|
-
1. **Check ready work**: `bd ready` shows unblocked issues
|
|
101
|
-
2. **Claim your task atomically**: `bd update <id> --claim`
|
|
102
|
-
3. **Work on it**: Implement, test, document
|
|
103
|
-
4. **Discover new work?** Create linked issue:
|
|
104
|
-
- `bd create "Found bug" --description="Details about what was found" -p 1 --deps discovered-from:<parent-id>`
|
|
105
|
-
5. **Complete**: `bd close <id> --reason "Done"`
|
|
106
|
-
|
|
107
|
-
### Auto-Sync
|
|
108
|
-
|
|
109
|
-
bd automatically syncs via Dolt:
|
|
110
|
-
|
|
111
|
-
- Each write auto-commits to Dolt history
|
|
112
|
-
- Use `bd dolt push`/`bd dolt pull` for remote sync
|
|
113
|
-
- No manual export/import needed!
|
|
114
|
-
|
|
115
|
-
### Important Rules
|
|
116
|
-
|
|
117
|
-
- ✅ Use bd for ALL task tracking
|
|
118
|
-
- ✅ Always use `--json` flag for programmatic use
|
|
119
|
-
- ✅ Link discovered work with `discovered-from` dependencies
|
|
120
|
-
- ✅ Check `bd ready` before asking "what should I work on?"
|
|
121
|
-
- ❌ Do NOT create markdown TODO lists
|
|
122
|
-
- ❌ Do NOT use external issue trackers
|
|
123
|
-
- ❌ Do NOT duplicate tracking systems
|
|
124
|
-
|
|
125
|
-
For more details, see README.md and docs/QUICKSTART.md.
|
|
126
|
-
|
|
127
|
-
## Landing the Plane (Session Completion)
|
|
128
|
-
|
|
129
|
-
**When ending a work session**, you MUST complete ALL steps below. Work is NOT complete until `git push` succeeds.
|
|
130
|
-
|
|
131
|
-
**MANDATORY WORKFLOW:**
|
|
132
|
-
|
|
133
|
-
1. **File issues for remaining work** - Create issues for anything that needs follow-up
|
|
134
|
-
2. **Run quality gates** (if code changed) - Tests, linters, builds
|
|
135
|
-
3. **Update issue status** - Close finished work, update in-progress items
|
|
136
|
-
4. **PUSH TO REMOTE** - This is MANDATORY:
|
|
137
|
-
```bash
|
|
138
|
-
git pull --rebase
|
|
139
|
-
bd dolt push
|
|
140
|
-
git push
|
|
141
|
-
git status # MUST show "up to date with origin"
|
|
142
|
-
```
|
|
143
|
-
5. **Clean up** - Clear stashes, prune remote branches
|
|
144
|
-
6. **Verify** - All changes committed AND pushed
|
|
145
|
-
7. **Hand off** - Provide context for next session
|
|
146
|
-
|
|
147
|
-
**CRITICAL RULES:**
|
|
148
|
-
|
|
149
|
-
- Work is NOT complete until `git push` succeeds
|
|
150
|
-
- NEVER stop before pushing - that leaves work stranded locally
|
|
151
|
-
- NEVER say "ready to push when you are" - YOU must push
|
|
152
|
-
- If push fails, resolve and retry until it succeeds
|
|
153
|
-
|
|
154
|
-
<!-- END BEADS INTEGRATION -->
|