Usage
For a quick start just go to the project’s dir and run:
kibot --quick-start
This will generate a configuration and generate outputs. If you want to just generate the configuration, and not the outputs, use:
kibot --quick-start --dry
If you need a more exhaustive configuration file try:
kibot --example
This will generate a file named example.kibot.yaml
containing all
the available options and comments about them. You can use it to create
your own configuration file.
If you want to use the layers of a particular PCB in the example use:
kibot -b PCB_FILE --example
And if you want to use the same options selected in the plot dialog use:
kibot -b PCB_FILE -p --example
If the current directory contains only one PCB file and only one
configuration file (named *.kibot.yaml) you can just call kibot
. No
arguments needed. The tool will figure out which files to use.
If more than one file is found in the current directory kibot
will
use the first found and issue a warning. If you need to use other file
just tell it explicitly:
kibot -b PCB_FILE.kicad_pcb -c CONFIG.kibot.yaml
A simple target can be added to your makefile
, so you can just run
make pcb_files
or integrate into your current build process.
pcb_files:
kibot -b $(PCB) -c $(KIBOT_CFG)
If you need to suppress messages use --quiet
or -q
and if you
need to get more information about what’s going on use --verbose
or
-v
.
If you want to generate only some of the outputs use:
kibot OUTPUT_1 OUTPUT_2
If you want to generate all outputs with some exceptions use:
kibot --invert-sel OUTPUT_1 OUTPUT_2
Note that you can use the run_by_default
option of the output you
want to exclude from the default runs.
If you want to skip the DRC and ERC use:
kibot --skip-pre run_erc,run_drc
If you want to skip all the preflight
tasks use:
kibot --skip-pre all
All outputs are generated using the current directory as base. If you want to use another directory as base use:
kibot --out-dir OTHER_PLACE
If you want to list the available outputs defined in the configuration file use:
kibot --list
Command line help
KiBot: KiCad automation tool for documents generation
Usage:
kibot [-b BOARD] [-e SCHEMA] [-c CONFIG] [-d OUT_DIR] [-s PRE]
[-q | -v...] [-L LOGFILE] [-C | -i | -n] [-m MKFILE] [-A] [-g DEF] ...
[-E DEF] ... [--defs-from-env] [-w LIST] [-D | -W] [--warn-ci-cd]
[--banner N] [TARGET...]
kibot [-v...] [-b BOARD] [-e SCHEMA] [-c PLOT_CONFIG] [--banner N]
[-E DEF] ... [--defs-from-env] [--config-outs]
[--only-pre|--only-groups] [--only-names] [--output-name-first] --list
kibot [-v...] [-c PLOT_CONFIG] [--banner N] [-E DEF] ... [--only-names]
--list-variants
kibot [-v...] [-b BOARD] [-d OUT_DIR] [-p | -P] [--banner N] --example
kibot [-v...] [--start PATH] [-d OUT_DIR] [--dry] [--banner N]
[-t, --type TYPE]... --quick-start
kibot [-v...] [--rst] --help-filters
kibot [-v...] [--markdown|--json|--rst] --help-dependencies
kibot [-v...] [--rst] --help-global-options
kibot [-v...] --help-list-offsets
kibot [-v...] [--rst] --help-list-outputs
kibot [-v...] --help-list-rotations
kibot [-v...] --help-output=HELP_OUTPUT
kibot [-v...] [--rst] [-d OUT_DIR] --help-outputs
kibot [-v...] [--rst] --help-preflights
kibot [-v...] [--rst] --help-variants
kibot [-v...] --help-banners
kibot [-v...] [--rst] --help-errors
kibot -h | --help
kibot --version
Arguments:
TARGET Outputs to generate, default is all
Options:
-A, --no-auto-download Disable dependencies auto-download
-b BOARD, --board-file BOARD The PCB .kicad-pcb board file
--banner N Display banner number N (-1 == random)
-c CONFIG, --plot-config CONFIG The plotting config file to use
-C, --cli-order Generate outputs using the indicated order
--config-outs Configure all outputs before listing them
-d OUT_DIR, --out-dir OUT_DIR The output directory [default: .]
-D, --dont-stop Try to continue if an output fails
--defs-from-env Use the environment vars as preprocessor
values
-e SCHEMA, --schematic SCHEMA The schematic file (.sch/.kicad_sch)
-E DEF, --define DEF Define preprocessor value (VAR=VAL)
-g DEF, --global-redef DEF Overwrite a global value (VAR=VAL)
-i, --invert-sel Generate the outputs not listed as targets
-l, --list List available outputs, preflights and
groups (in the config file).
You don't need to specify an SCH/PCB unless
using --config-outs
--list-variants List the available variants and exit
-L, --log LOGFILE Log to LOGFILE using maximum debug level.
Is independent of what is logged to stderr
-m MKFILE, --makefile MKFILE Generate a Makefile (no targets created)
-n, --no-priority Don't sort targets by priority
-p, --copy-options Copy plot options from the PCB file
--only-names Print only the names. Note that for --list
if no other --only-* option is provided it
also acts as a virtual --only-outputs
--only-groups Print only the groups.
--only-pre Print only the preflights
--output-name-first Use the output name first when listing
-P, --copy-and-expand As -p but expand the list of layers
-q, --quiet Remove information logs
-s PRE, --skip-pre PRE Skip preflights, comma separated or `all`
-v, --verbose Show debugging information
-V, --version Show program's version number and exit
-w, --no-warn LIST Exclude the mentioned warnings (comma sep)
-W, --stop-on-warnings Stop on warnings
--warn-ci-cd Don't disable warnings expected on CI/CD
environments
-x, --example Create a template configuration file
Quick start options:
--quick-start Generates demo config files and their outputs
--dry Just generate the config files
--start PATH Starting point for the search [default: .]
-t, --type TYPE Generate examples only for the indicated type/s
Help options:
-h, --help Show this help message and exit
--help-banners Show all available banners
--help-dependencies List dependencies in human readable format
--help-errors List of error levels
--help-filters List supported filters and details
--help-global-options List supported global variables
--help-list-offsets List footprint offsets (JLCPCB)
--help-list-outputs List supported outputs
--help-list-rotations List footprint rotations (JLCPCB)
--help-output HELP_OUTPUT Help for this particular output
--help-outputs List supported outputs and details
--help-preflights List supported preflights and details
--help-variants List supported variants and details
Supported error levels
0: NONE
1: INTERNAL_ERROR
2: WRONG_ARGUMENTS
3: UNSUPPORTED_OPTION
4: MISSING_TOOL
5: DRC_ERROR
6: EXIT_BAD_ARGS
7: EXIT_BAD_CONFIG
8: NO_PCB_FILE
9: NO_SCH_FILE
10: ERC_ERROR
11: BOM_ERROR
12: PDF_SCH_PRINT
13: PDF_PCB_PRINT
14: PLOT_ERROR
15: NO_YAML_MODULE
16: NO_PCBNEW_MODULE
17: CORRUPTED_PCB
18: KICAD2STEP_ERR
19: WONT_OVERWRITE
20: PCBDRAW_ERR
21: SVG_SCH_PRINT
22: CORRUPTED_SCH
23: WRONG_INSTALL
24: RENDER_3D_ERR
25: FAILED_EXECUTE
26: KICOST_ERROR
27: MISSING_WKS
28: MISSING_FILES
29: DIFF_TOO_BIG
30: NETLIST_DIFF
31: PS_SCH_PRINT
32: DXF_SCH_PRINT
33: HPGL_SCH_PRINT
34: CORRUPTED_PRO
35: BLENDER_ERROR
36: WARN_AS_ERROR