New thread for experimental builds from the major refactoring/upgrade project.
Here’s a fresh compile from ‘refactor2026-2’: "Revert “Fix prompt blow outs, add some cursory demo of auto completion.”
This reverts commit 7c457d810ebe60f007c1461814bbb520bbcc450b."
ci-buspirate-experimental-4f0000d.zip
Build time: 176.49 seconds
Git pull log @4f0000d
Updating 7c457d8..4f0000d
Fast-forward
Here’s a fresh compile from ‘refactor2026-2’: “re-adjust linenoise”
ci-buspirate-experimental-054a7d9.zip
Build time: 151.01 seconds
Git pull log @054a7d9
Updating 4f0000d..054a7d9
Fast-forward
src/CMakeLists.txt | 9 ±
src/commands/global/cmd_selftest.c | 16 ±
src/commands/global/disk.c | 191 ±
src/commands/global/macro.c | 12 ±
src/commands/global/script.c | 19 ±
…/bp_linenoise => deprecated}/bp_linenoise.c | 0
…/bp_linenoise => deprecated}/bp_linenoise.h | 0
src/lib/bp_linenoise/linenoise.c | 2128 ++++++++++++++++++++
src/lib/bp_linenoise/linenoise.h | 200 ++
src/lib/bp_linenoise/ln_cmdreader.c | 55 +
src/lib/bp_linenoise/ln_cmdreader.h | 85 +
src/pirate.c | 98 ±
src/ui/ui_cmdln.c | 238 ±-
src/ui/ui_cmdln.h | 144 ±
src/ui/ui_init.c | 2 -
src/ui/ui_parse.c | 5 ±
src/ui/ui_prompt.c | 90 ±
src/ui/ui_prompt.h | 4 ±
src/ui/ui_term.c | 314 —
src/ui/ui_term.h | 18 ±
src/ui/ui_term_linenoise.c | 213 ±
src/ui/ui_term_linenoise.h | 15 +
22 files changed, 2703 insertions(+), 1153 deletions(-)
rename src/{lib/bp_linenoise => deprecated}/bp_linenoise.c (100%)
rename src/{lib/bp_linenoise => deprecated}/bp_linenoise.h (100%)
create mode 100644 src/lib/bp_linenoise/linenoise.c
create mode 100644 src/lib/bp_linenoise/linenoise.h
create mode 100644 src/lib/bp_linenoise/ln_cmdreader.c
create mode 100644 src/lib/bp_linenoise/ln_cmdreader.h
Here’s a fresh compile from ‘refactor2026-2’: “convert add math features”
ci-buspirate-experimental-a75649c.zip
Build time: 151.98 seconds
Git pull log @a75649c
Updating 054a7d9..a75649c
Fast-forward
src/CMakeLists.txt | 7 +
src/commands/global/cmd_convert.c | 42 +±-
src/deprecated/ui_parse.c | 387 ++++++++++++++++++++++++++++++++++++
src/lib/bp_expr/bp_expr.c | 319 +++++++++++++++++++++++++++++
src/lib/bp_expr/bp_expr.h | 68 +++++++
src/lib/bp_expr/bp_expr_test | Bin 0 → 56152 bytes
src/lib/bp_expr/bp_expr_test.c | 292 +++++++++++++++++++++++++++
src/lib/bp_expr/bp_expr_test.mk | 21 ++
src/lib/bp_linenoise/ln_cmdreader.c | 6 +
src/lib/bp_linenoise/ln_cmdreader.h | 6 +
src/lib/bp_number/bp_number.c | 207 +++++++++++++++++++
src/lib/bp_number/bp_number.h | 149 ++++++++++++++
src/ui/ui_cmdln.c | 22 ++
src/ui/ui_cmdln.h | 15 ++
src/ui/ui_parse.c | 317 +++++++++++±----------------
15 files changed, 1660 insertions(+), 198 deletions(-)
create mode 100644 src/deprecated/ui_parse.c
create mode 100644 src/lib/bp_expr/bp_expr.c
create mode 100644 src/lib/bp_expr/bp_expr.h
create mode 100644 src/lib/bp_expr/bp_expr_test
create mode 100644 src/lib/bp_expr/bp_expr_test.c
create mode 100644 src/lib/bp_expr/bp_expr_test.mk
create mode 100644 src/lib/bp_number/bp_number.c
create mode 100644 src/lib/bp_number/bp_number.h
Here’s a fresh compile from ‘refactor2026-2’: "Merge pull request #273 from DangerousPrototypes/refactor2026-2
New Single Producer Single Consumer queue"
ci-buspirate-experimental-bba5757.zip
Build time: 152.43 seconds
Git pull log @bba5757
Updating a75649c..bba5757
Fast-forward
src/commands/eeprom/eeprom_1wire.c | 6 +
src/commands/eeprom/eeprom_base.c | 15 +
src/commands/eeprom/eeprom_base.h | 8 ±
src/commands/eeprom/eeprom_i2c.c | 6 +
src/commands/eeprom/eeprom_spi.c | 6 +
src/commands/spi/flash.c | 24 ±
src/translation/base.h | 2 +
src/translation/bs-ba.h | 2 +
src/translation/en-us.h | 2 +
src/translation/it-it.h | 2 +
src/translation/pl-pl.h | 644 ++++++++++++++++++±-----------------
src/translation/zh-cn.h | 4 +
12 files changed, 399 insertions(+), 322 deletions(-)
Here’s a fresh compile from ‘refactor2026-2’: “refactored number display”
ci-buspirate-experimental-b02ea5b.zip
Build time: 154.02 seconds
Git pull log @b02ea5b
Updating bba5757..b02ea5b
Fast-forward
src/deprecated/ui_format.c | 294 ++++++++++++++++++++++++++++++++++++++++
src/deprecated/ui_format_old.h | 51 +++++++
src/lib/bp_number/bp_number.h | 9 ±
src/ui/ui_format.c | 298 +++++++++++±----------------------------
src/ui/ui_format.h | 9 ±
src/ui/ui_parse.c | 12 ±
6 files changed, 441 insertions(+), 232 deletions(-)
create mode 100644 src/deprecated/ui_format.c
create mode 100644 src/deprecated/ui_format_old.h
Here’s a fresh compile from ‘refactor2026-2’: “macros no longer supported”
ci-buspirate-experimental-d5eb737.zip
Build time: 154.28 seconds
Git pull log @d5eb737
Updating b02ea5b..d5eb737
Fast-forward
src/CMakeLists.txt | 6 ±
src/bytecode.h | 10 ±
src/{ => deprecated}/syntax.c | 0
src/syntax.h | 7 +
src/syntax_compile.c | 240 ++++++++++++++++++++++++++++++++
src/syntax_internal.h | 96 +++++++++++++
src/syntax_post.c | 314 ++++++++++++++++++++++++++++++++++++++++++
src/syntax_run.c | 230 +++++++++++++++++++++++++++++++
src/ui/ui_process.c | 7 +
9 files changed, 907 insertions(+), 3 deletions(-)
rename src/{ => deprecated}/syntax.c (100%)
create mode 100644 src/syntax_compile.c
create mode 100644 src/syntax_internal.h
create mode 100644 src/syntax_post.c
create mode 100644 src/syntax_run.c
Here’s a fresh compile from ‘refactor2026-2’: “Unified help, args parsing, actions, etc for integration into linenoise hinting”
ci-buspirate-experimental-4845df1.zip
Build time: 154.38 seconds
Git pull log @4845df1
Updating d5eb737..4845df1
Fast-forward
docs/args_parse_migration.md | 215 ++++++++++++
src/CMakeLists.txt | 2 +
src/command_struct.h | 5 +
src/commands/spi/flash.c | 82 +±–
src/deprecated/bp_args.c | 516 ++++++++++++++++++++++++++++
src/deprecated/bp_args.h | 198 +++++++++++
src/deprecated/bp_args_compat.c | 288 ++++++++++++++++
src/deprecated/bp_args_compat.h | 126 +++++++
src/lib/bp_args/bp_cmd.c | 721 ++++++++++++++++++++++++++++++++++++++++
src/lib/bp_args/bp_cmd.h | 314 +++++++++++++++++
10 files changed, 2426 insertions(+), 41 deletions(-)
create mode 100644 docs/args_parse_migration.md
create mode 100644 src/deprecated/bp_args.c
create mode 100644 src/deprecated/bp_args.h
create mode 100644 src/deprecated/bp_args_compat.c
create mode 100644 src/deprecated/bp_args_compat.h
create mode 100644 src/lib/bp_args/bp_cmd.c
create mode 100644 src/lib/bp_args/bp_cmd.h
Build Failed! Logs are attached. Happy debugging!
ci-buspirate-experimental-cc6b258.zip
Build time: 104.81 seconds
Git pull log @cc6b258
Updating 4845df1..cc6b258
Fast-forward
docs/bp_cmd_migration_prompt.md | 481 +++++
src/CMakeLists.txt | 10 ±
src/command_struct.h | 27 ±
src/commands.c | 113 ±
src/commands/1wire/demos.c | 15 ±
src/commands/1wire/demos.h | 4 ±
src/commands/1wire/scan.c | 15 ±
src/commands/1wire/scan.h | 4 ±
src/commands/2wire/hw2w_sniff.c | 21 ±
src/commands/2wire/hw2w_sniff.h | 4 ±
src/commands/2wire/sle4442.c | 131 ±
src/commands/2wire/sle4442.h | 2 +
src/commands/eeprom/eeprom_1wire.c | 99 ±
src/commands/eeprom/eeprom_1wire.h | 2 +
src/commands/eeprom/eeprom_i2c.c | 153 ±
src/commands/eeprom/eeprom_i2c.h | 2 +
src/commands/global/a_auxio.c | 31 ±
src/commands/global/a_auxio.h | 4 +
src/commands/global/bug.c | 15 ±
src/commands/global/bug.h | 2 +
src/commands/global/button_scr.c | 67 ±
src/commands/global/button_scr.h | 2 +
src/commands/global/cls.c | 13 ±
src/commands/global/cls.h | 1 +
src/commands/global/cmd_binmode.c | 14 ±
src/commands/global/cmd_binmode.h | 1 +
src/commands/global/cmd_convert.c | 47 ±
src/commands/global/cmd_convert.h | 3 +
src/commands/global/cmd_mcu.c | 37 +
src/commands/global/cmd_mcu.h | 5 ±
src/commands/global/cmd_selftest.c | 16 ±
src/commands/global/cmd_selftest.h | 1 +
src/commands/global/disk.c | 140 ±
src/commands/global/disk.h | 10 ±
src/commands/global/dummy.c | 66 ±
src/commands/global/dummy.h | 2 +
src/commands/global/dump.c | 20 ±
src/commands/global/dump.h | 1 +
src/commands/global/flat.c | 6 +
src/commands/global/flat.h | 2 +
src/commands/global/freq.c | 44 ±
src/commands/global/freq.h | 3 +
src/commands/global/h_help.c | 130 ±
src/commands/global/h_help.h | 2 +
src/commands/global/hex.c | 33 ±
src/commands/global/hex.h | 3 ±
src/commands/global/i_info.c | 20 ±
src/commands/global/i_info.h | 4 ±
src/commands/global/image.c | 29 ±
src/commands/global/image.h | 3 ±
src/commands/global/jep106_lookup.c | 24 ±
src/commands/global/jep106_lookup.h | 2 ±
src/commands/global/l_bitorder.c | 37 +
src/commands/global/l_bitorder.h | 5 ±
src/commands/global/logic.c | 219 ±-
src/commands/global/macro.c | 32 ±
src/commands/global/macro.h | 3 ±
src/commands/global/otpdump.c | 62 ±
src/commands/global/otpdump.h | 3 ±
src/commands/global/ovrclk.c | 32 ±
src/commands/global/ovrclk.h | 2 +
src/commands/global/pause.c | 29 ±
src/commands/global/pause.h | 3 ±
src/commands/global/script.c | 41 ±
src/commands/global/script.h | 3 ±
src/commands/global/smps.c | 29 ±
src/commands/global/smps.h | 3 ±
src/commands/global/v_adc.c | 32 ±
src/commands/global/v_adc.h | 3 +
src/commands/global/w_psu.c | 38 ±
src/commands/global/w_psu.h | 3 +
src/commands/hdplxuart/bridge.c | 27 ±
src/commands/hdplxuart/bridge.h | 3 ±
src/commands/i2c/ddr4.c | 76 ±
src/commands/i2c/ddr4.h | 3 ±
src/commands/i2c/ddr5.c | 76 ±
src/commands/i2c/ddr5.h | 3 ±
src/commands/i2c/demos.c | 104 ±
src/commands/i2c/demos.h | 9 ±
src/commands/i2c/i2c.c | 72 ±
src/commands/i2c/i2c.h | 3 ±
src/commands/i2c/mpu6050.c | 22 ±
src/commands/i2c/mpu6050.h | 3 ±
src/commands/i2c/scan.c | 23 ±
src/commands/i2c/scan.h | 3 ±
src/commands/i2c/sniff.c | 31 ±
src/commands/i2c/sniff.h | 3 ±
src/commands/i2c/usbpd.c | 68 ±
src/commands/i2c/usbpd.h | 3 ±
src/commands/i2c/usbpdo.c | 29 ±
src/commands/i2c/usbpdo.h | 1 +
src/commands/i2s/sine.c | 43 ±
src/commands/i2s/sine.h | 3 ±
src/commands/infrared/irtxrx.c | 54 ±
src/commands/infrared/irtxrx.h | 5 ±
src/commands/infrared/tvbgone.c | 14 ±
src/commands/infrared/tvbgone.h | 4 ±
src/commands/jtag/bluetag.c | 74 ±
src/commands/jtag/bluetag.h | 4 ±
src/commands/spi/sniff.c | 14 ±
src/commands/spi/sniff.h | 4 ±
src/commands/uart/bridge.c | 24 ±
src/commands/uart/bridge.h | 4 ±
src/commands/uart/glitch.c | 29 ±
src/commands/uart/glitch.h | 2 +
src/commands/uart/nmea.c | 14 ±
src/commands/uart/nmea.h | 4 ±
src/lib/bp_args/bp_cmd_linenoise.c | 133 ++
src/lib/bp_args/bp_cmd_linenoise.h | 23 +
src/mode/binloopback.c | 1 -
src/mode/hw1wire.c | 15 ±
src/mode/hw2wire.c | 10 ±
src/mode/hwhduart.c | 6 ±
src/mode/hwi2c.c | 66 ±
src/mode/hwspi.c | 21 ±
src/mode/hwuart.c | 19 ±
src/mode/i2s.c | 5 ±
src/mode/infrared.c | 15 ±
src/mode/jtag.c | 5 ±
src/mode/usbpd.c | 3 ±
src/translation/base.h | 10 +
src/translation/bs-ba.h | 10 +
src/translation/en-us.h | 14 ±
src/translation/history/en-us (2).json | 3378 ++++++++++++++++++++++++++++++++
src/translation/history/en-us.json | 14 ±
src/translation/it-it.h | 10 +
src/translation/pl-pl.h | 10 +
src/translation/zh-cn.h | 10 +
src/ui/ui_help.c | 60 ±
src/ui/ui_help.h | 10 ±
src/ui/ui_process.c | 9 ±
src/ui/ui_term_linenoise.c | 6 ±
132 files changed, 5882 insertions(+), 1304 deletions(-)
create mode 100644 docs/bp_cmd_migration_prompt.md
create mode 100644 src/lib/bp_args/bp_cmd_linenoise.c
create mode 100644 src/lib/bp_args/bp_cmd_linenoise.h
create mode 100644 src/translation/history/en-us (2).json
Here’s a fresh compile from ‘refactor2026-2’: “script to check for unused and duplicate translations”
ci-buspirate-experimental-2b0e8b3.zip
Build time: 152.1 seconds
Git pull log @2b0e8b3
Updating cc6b258..2b0e8b3
Fast-forward
check_translations.py | 301 ++++++++++++++++++++++++++++++++++++++++++
check_translations_README.md | 140 ++++++++++++++++++++
src/commands/global/otpdump.c | 13 ±
translation_report.txt | 203 ++++++++++++++++++++++++++++
4 files changed, 648 insertions(+), 9 deletions(-)
create mode 100644 check_translations.py
create mode 100644 check_translations_README.md
create mode 100644 translation_report.txt
Here’s a fresh compile from ‘refactor2026-2’: “missing .def entries in new command struct”
ci-buspirate-experimental-ccd324c.zip
Build time: 153.74 seconds
Git pull log @ccd324c
Updating 2b0e8b3..ccd324c
Fast-forward
src/commands.c | 4 +±-
src/commands/global/logic.h | 3 +±
2 files changed, 4 insertions(+), 3 deletions(-)
Here’s a fresh compile from ‘refactor2026-2’: “Cleanup help. Stray commands. Fix help pager somewhat.”
ci-buspirate-experimental-eb623e8.zip
Build time: 149.64 seconds
Git pull log @eb623e8
Updating ccd324c..eb623e8
Fast-forward
CLAUDE.md | 84 ++++++++++++++++++++++++++++++++
src/commands/2wire/hw2w_sniff.c | 2 ±
src/commands/eeprom/eeprom_i2c.c | 16 +++++±
src/commands/eeprom/eeprom_spi.c | 100 +++++++++++++++++++±------------------
src/commands/eeprom/eeprom_spi.h | 1 +
src/commands/global/h_help.c | 67 +++++++++++++++++±-------
src/commands/global/hex.c | 2 ±
src/commands/global/l_bitorder.c | 12 +±–
src/commands/i2c/ddr4.c | 2 ±
src/commands/spi/flash.c | 2 ±
src/commands/spi/flash.h | 4 ±
src/lib/bp_args/bp_cmd.c | 3 ++
src/lib/bp_linenoise/linenoise.c | 1 +
src/mode/hwspi.c | 6 +±
src/mode/hwuart.c | 4 ±
src/mode/infrared.c | 20 ++++++±
src/translation/base.h | 1 +
src/translation/bs-ba.h | 1 +
src/translation/en-us.h | 1 +
src/translation/it-it.h | 1 +
src/translation/pl-pl.h | 1 +
src/translation/zh-cn.h | 1 +
src/ui/ui_help.c | 57 +++++++++++++++±-----
src/ui/ui_help.h | 15 ++++±
24 files changed, 303 insertions(+), 101 deletions(-)
create mode 100644 CLAUDE.md
Here’s a fresh compile from ‘refactor2026-2’: “Fix predict/tab rotate/complete of commands, actions, long and short flags. Some initial work on including positional arguments in the new parsing/help system (to be tested and implemented).”
ci-buspirate-experimental-bd5e13e.zip
Build time: 151.08 seconds
Git pull log @bd5e13e
Updating eb623e8..bd5e13e
Fast-forward
arg_has_arg_migration_analysis.md | 557 ++++++++++++++++++++++++++++++++++++
src/commands/global/jep106_lookup.c | 8 +
src/commands/global/smps.c | 7 +
src/lib/bp_args/bp_cmd.c | 361 +++++++++++++++++++±–
src/lib/bp_args/bp_cmd.h | 24 ±
src/lib/bp_args/bp_cmd_linenoise.c | 11 ±
src/toolbars/logic_bar.c | 135 ---------
src/ui/ui_term_linenoise.c | 2 ±
8 files changed, 933 insertions(+), 172 deletions(-)
create mode 100644 arg_has_arg_migration_analysis.md
Here’s a fresh compile from ‘refactor2026-2’: “command, positional, and short/long flag hinting working, with tab rotate and complete. Simple mode (prompts, etc) is messed up though. Only is accepted.”
ci-buspirate-experimental-0a8aa7c.zip
Build time: 149.18 seconds
Git pull log @0a8aa7c
Updating bd5e13e..0a8aa7c
Fast-forward
src/lib/bp_args/bp_cmd.c | 24 ++++++++++++++++++++++±
1 file changed, 23 insertions(+), 1 deletion(-)
Here’s a fresh compile from ‘refactor2026-2’: “Initial plan”
ci-buspirate-experimental-a622b3c.zip
Build time: 157.91 seconds
Git pull log @a622b3c
Updating 0a8aa7c..a622b3c
Fast-forward
src/commands/global/a_auxio.c | 11 ++++++++++
src/commands/global/bug.c | 6 ++++++
src/commands/global/cmd_convert.c | 7 +++++++
src/commands/global/disk.c | 42 ++++++++++++++++++++++++++++++++++++++
src/commands/global/dump.c | 8 ++++++++
src/commands/global/freq.c | 9 ++++++++
src/commands/global/hex.c | 7 +++++++
src/commands/global/image.c | 7 +++++++
src/commands/global/macro.c | 7 +++++++
src/commands/global/script.c | 7 +++++++
src/commands/global/v_adc.c | 9 ++++++++
src/commands/global/w_psu.c | 8 ++++++++
src/commands/infrared/irtxrx.c | 7 +++++++
tests/test_spsc_queue | Bin 21512 → 0 bytes
14 files changed, 135 insertions(+)
delete mode 100644 tests/test_spsc_queue
Here’s a fresh compile from ‘refactor2026-2’: “Fix missing translation in bug command”
ci-buspirate-experimental-9dbe044.zip
Build time: 155.24 seconds
Git pull log @9dbe044
Updating f85ec7b..9dbe044
Fast-forward
src/commands/global/bug.c | 2 ±
src/translation/base.h | 22 ++++++++++++++++++++++
src/translation/bs-ba.h | 22 ++++++++++++++++++++++
src/translation/en-us.h | 22 ++++++++++++++++++++++
src/translation/it-it.h | 22 ++++++++++++++++++++++
src/translation/pl-pl.h | 22 ++++++++++++++++++++++
src/translation/zh-cn.h | 22 ++++++++++++++++++++++
7 files changed, 133 insertions(+), 1 deletion(-)
Here’s a fresh compile from ‘refactor2026-2’: “unify arguments and prompts”
ci-buspirate-experimental-2e05e01.zip
Build time: 156.06 seconds
Git pull log @2e05e01
Updating 9dbe044..2e05e01
Fast-forward
src/commands/global/cmd_convert.c | 2 ±
src/commands/global/disk.c | 10 ±
src/commands/global/dummy.c | 39 +±-
src/commands/global/dump.c | 4 ±
src/commands/global/freq.c | 2 ±
src/commands/global/image.c | 2 ±
src/commands/global/script.c | 2 ±
src/commands/global/smps.c | 2 ±
src/commands/global/w_psu.c | 66 +++±–
src/commands/i2c/ddr4.c | 24 +±
src/commands/i2c/ddr5.c | 26 ±-
src/lib/bp_args/bp_cmd.c | 399 ++++++++++++++++++++++++++++++++++++±
src/lib/bp_args/bp_cmd.h | 147 ++++++++++++±
src/mode/hwuart.c | 266 +++++++++++++±----------
src/ui/ui_prompt.h | 1 +
15 files changed, 792 insertions(+), 200 deletions(-)
Here’s a fresh compile from ‘refactor2026-2’: “mode change co mmand mode hinting, rework to new menu/parsing system”
ci-buspirate-experimental-11cdfa4.zip
Build time: 158.28 seconds
Git pull log @11cdfa4
Updating 2e05e01..11cdfa4
Fast-forward
src/commands.c | 2 ±
src/lib/bp_args/bp_cmd.c | 131 ++++++++++++++++±—
src/lib/bp_args/bp_cmd.h | 20 ++++
src/mode/hwuart.c | 3 +
src/ui/ui_mode.c | 288 +++++++++++++++++±----------------------------
src/ui/ui_mode.h | 5 ±
6 files changed, 246 insertions(+), 203 deletions(-)
Here’s a fresh compile from ‘refactor2026-2’: “dispatch to allow passthrough hints from modes to m mode change command.”
ci-buspirate-experimental-ffe3719.zip
Build time: 159.16 seconds
Git pull log @ffe3719
Updating 11cdfa4..ffe3719
Fast-forward
src/lib/bp_args/bp_cmd.c | 122 +++++++++++++++++++++++++++++++++±------------
src/lib/bp_args/bp_cmd.h | 5 ++
src/mode/hwuart.c | 2 ±
src/mode/hwuart.h | 1 +
src/modes.c | 1 +
src/modes.h | 1 +
src/ui/ui_mode.c | 40 +++++++++++±—
7 files changed, 128 insertions(+), 44 deletions(-)
Here’s a fresh compile from ‘refactor2026-2’: “Dummy1.c demo mode updated with extensive documentation. initial work on developer docs.”
ci-buspirate-experimental-8cbef7e.zip
Build time: 154.15 seconds
Git pull log @8cbef7e
Updating df748fe..8cbef7e
Fast-forward
docs/bp_cmd_developer_docs_outline.md | 322 +++++++++++++++
docs/command_setup_migration_prompt.md | 667 +++++++++++++++++++++++++++++++
docs/mode_setup_migration_prompt.md | 407 +++++++++++++++++++
docs/new_mode_guide.md | 711 +++++++++++++++++++++++++++++++++
src/mode/dummy1.c | 403 +++++++++++++±----
src/mode/dummy1.h | 24 ±
src/modes.c | 3 +
7 files changed, 2421 insertions(+), 116 deletions(-)
create mode 100644 docs/bp_cmd_developer_docs_outline.md
create mode 100644 docs/command_setup_migration_prompt.md
create mode 100644 docs/mode_setup_migration_prompt.md
create mode 100644 docs/new_mode_guide.md