{
"name": "agrippa",
"subcommands": [
{
"name": "init",
"description": "Generates a basic .agripparc.json file, with some default values for options that agrippa accepts"
},
{
"name": "generate",
"aliases": [
"gen"
],
"description": "This is the core of the CLI - this command generates a new React component, based on the name and options passed to it",
"options": [
{
"names": [
"--props"
],
"description": "Determines which prop declaration/validation solution to generate. Defaults to `ts` if `typescript` flag is `true`, `none` otherwise",
"takes_arg": true,
"arg": {
"suggestions": [
"ts",
"jsdoc",
"prop-types",
"none"
]
}
},
{
"names": [
"--children"
],
"description": "Whether the component is meant to have children or not. Defaults to `false`",
"takes_arg": true
},
{
"names": [
"--typescript",
"--ts"
],
"description": "Option to generate Typescript components, defaults to `true` if the CLI manages to find a `tsconfig.json` file, false otherwise",
"takes_arg": true
},
{
"names": [
"--import-react"
],
"description": "Option to import React at the top of the component. Defaults to `true` if the CLI manages to find a `tsconfig.json` file and it has a `jsx` field under `compilerOptions` with `react-jsx` or `react-jsx",
"takes_arg": true
},
{
"names": [
"--export-type"
],
"description": "Whether to export the component as a named export or a default export. Defaults to `named`",
"takes_arg": true,
"arg": {
"suggestions": [
"named",
"default"
]
}
},
{
"names": [
"--declaration"
],
"description": "Whether to declare the component as a `const` with an arrow function, or as a `function` declaration. Defaults to `const`",
"takes_arg": true,
"arg": {
"suggestions": [
"const",
"function"
]
}
},
{
"names": [
"--memo"
],
"description": "Generates a component as a memo component. Defaults to `false`",
"takes_arg": true
},
{
"names": [
"--react-native"
],
"description": "Generates a React Native component. Defaults to `true` if `react-native` is a dependency in the project's `package.json`, `false` otherwise",
"takes_arg": true
},
{
"names": [
"--styling"
],
"description": "Which styling solution to generate. Defaults to `none`",
"takes_arg": true,
"arg": {
"suggestions": [
"none",
"css",
"scss",
"jss",
"mui",
"react-native"
]
}
},
{
"names": [
"--styling-module"
],
"description": "Whether to generate a scoped `module` stylesheet. This option is only relevant for `css` or `scss` styling, and will be ignored for other values. Defaults to `true`",
"takes_arg": true
},
{
"names": [
"--base-dir"
],
"description": "Path to a base directory which components should be generated inside of (directly or nested). Defaults to the current working directory",
"takes_arg": true,
"arg": {
"name": "path",
"is_variadic": true,
"template": "folders"
}
},
{
"names": [
"--dest",
"--destination"
],
"description": "Allows the user to generate the component at a path relative to `baseDir`. It's mostly used to augment or modify the generation path in the command-line when creating the component itself. `dest` is r",
"takes_arg": true,
"arg": {
"name": "path",
"is_variadic": true,
"template": "folders"
},
"is_required": true
},
{
"names": [
"--allow-outside-base"
],
"description": "Overrides default Agrippa behaviour to allow components to be specified outside `baseDir`. Defaults to current working directory",
"takes_arg": true,
"arg": {
"name": "path",
"is_variadic": true,
"template": "folders"
}
},
{
"names": [
"--flat"
],
"description": "By default, Agrippa generates a dedicated directory for the generated component; this directory has the same name as the component, and will contain the component file (as `index.tsx` or `index.jsx`),",
"takes_arg": true
},
{
"names": [
"--separate-index"
],
"description": "In the `separateIndex` generation scheme, Agrippa creates one file for the component's code, and one `index` file, whose purpose is to allow importing exports from the component's directory elegantly ",
"takes_arg": true
},
{
"names": [
"--post-command",
"--postCommand"
],
"description": "Allows a custom command to be run after having generated a component. This allows for some cool functionality, such as opening an IDE at the newly generated files automatically or linting them. Defaul",
"takes_arg": true
},
{
"names": [
"--overwrite"
],
"description": "By default, Agrippa prevents the generation of a component over an existing components, to prevent a loss of code. `--overwrite` tells Agrippa to replace existing files, if any are found. Defaults to ",
"takes_arg": true
},
{
"names": [
"--debug"
],
"description": "The `debug` flag makes Agrippa print out additional debug information. It's quite useful when debugging. Defaults to `false`",
"takes_arg": true
}
],
"args": [
{
"name": "component"
}
]
}
],
"args": [
{
"name": "component's name"
}
]
}