1BUNDLE-GEM(1) BUNDLE-GEM(1)
2
3
4
6 bundle-gem - Generate a project skeleton for creating a rubygem
7
9 bundle gem GEM_NAME OPTIONS
10
12 Generates a directory named GEM_NAME with a Rakefile, GEM_NAME.gemspec,
13 and other supporting files and directories that can be used to develop
14 a rubygem with that name.
15
16 Run rake -T in the resulting project for a list of Rake tasks that can
17 be used to test and publish the gem to rubygems.org.
18
19 The generated project skeleton can be customized with OPTIONS, as ex‐
20 plained below. Note that these options can also be specified via
21 Bundler´s global configuration file using the following names:
22
23 • gem.coc
24
25 • gem.mit
26
27 • gem.test
28
29
30
32 • --exe or -b or --bin: Specify that Bundler should create a binary
33 executable (as exe/GEM_NAME) in the generated rubygem project. This
34 binary will also be added to the GEM_NAME.gemspec manifest. This
35 behavior is disabled by default.
36
37 • --no-exe: Do not create a binary (overrides --exe specified in the
38 global config).
39
40 • --coc: Add a CODE_OF_CONDUCT.md file to the root of the generated
41 project. If this option is unspecified, an interactive prompt will
42 be displayed and the answer will be saved in Bundler´s global con‐
43 fig for future bundle gem use.
44
45 • --no-coc: Do not create a CODE_OF_CONDUCT.md (overrides --coc spec‐
46 ified in the global config).
47
48 • --ext=c, --ext=rust Add boilerplate for C or Rust (currently magnus
49 https://docs.rs/magnus based) extension code to the generated
50 project. This behavior is disabled by default.
51
52 • --no-ext: Do not add extension code (overrides --ext specified in
53 the global config).
54
55 • --mit: Add an MIT license to a LICENSE.txt file in the root of the
56 generated project. Your name from the global git config is used for
57 the copyright statement. If this option is unspecified, an interac‐
58 tive prompt will be displayed and the answer will be saved in
59 Bundler´s global config for future bundle gem use.
60
61 • --no-mit: Do not create a LICENSE.txt (overrides --mit specified in
62 the global config).
63
64 • -t, --test=minitest, --test=rspec, --test=test-unit: Specify the
65 test framework that Bundler should use when generating the project.
66 Acceptable values are minitest, rspec and test-unit. The
67 GEM_NAME.gemspec will be configured and a skeleton test/spec direc‐
68 tory will be created based on this option. Given no option is spec‐
69 ified:
70
71 When Bundler is configured to generate tests, this defaults to
72 Bundler´s global config setting gem.test.
73
74 When Bundler is configured to not generate tests, an interactive
75 prompt will be displayed and the answer will be used for the cur‐
76 rent rubygem project.
77
78 When Bundler is unconfigured, an interactive prompt will be dis‐
79 played and the answer will be saved in Bundler´s global config for
80 future bundle gem use.
81
82 • --ci, --ci=github, --ci=gitlab, --ci=circle: Specify the continuous
83 integration service that Bundler should use when generating the
84 project. Acceptable values are github, gitlab and circle. A config‐
85 uration file will be generated in the project directory. Given no
86 option is specified:
87
88 When Bundler is configured to generate CI files, this defaults to
89 Bundler´s global config setting gem.ci.
90
91 When Bundler is configured to not generate CI files, an interactive
92 prompt will be displayed and the answer will be used for the cur‐
93 rent rubygem project.
94
95 When Bundler is unconfigured, an interactive prompt will be dis‐
96 played and the answer will be saved in Bundler´s global config for
97 future bundle gem use.
98
99 • --linter, --linter=rubocop, --linter=standard: Specify the linter
100 and code formatter that Bundler should add to the project´s devel‐
101 opment dependencies. Acceptable values are rubocop and standard. A
102 configuration file will be generated in the project directory.
103 Given no option is specified:
104
105 When Bundler is configured to add a linter, this defaults to
106 Bundler´s global config setting gem.linter.
107
108 When Bundler is configured not to add a linter, an interactive
109 prompt will be displayed and the answer will be used for the cur‐
110 rent rubygem project.
111
112 When Bundler is unconfigured, an interactive prompt will be dis‐
113 played and the answer will be saved in Bundler´s global config for
114 future bundle gem use.
115
116 • -e, --edit[=EDITOR]: Open the resulting GEM_NAME.gemspec in EDITOR,
117 or the default editor if not specified. The default is $BUNDLER_ED‐
118 ITOR, $VISUAL, or $EDITOR.
119
120
121
123 • bundle config(1) bundle-config.1.html
124
125
126
127
128
129
130 February 2023 BUNDLE-GEM(1)