Yeoman generator for creating Microsoft Office projects using any text editor.
npm install generator-officebash
yo office [arguments] [options]
`
$3
The following command line arguments are supported. If using the command line arguments, you must use them in the order cited below, or the generator will prompt you for the values.
#### Example
`bash
yo office --projectType react --name "New Web AddIn" --host word --ts true
`
`output
_-----_ ╭──────────────────────────╮
| | │ Welcome to the Office │
|--(o)--| │ Add-in generator, by │
---------´ │ @OfficeDev! Let's create │
_ ) │ a project together! │
/___A___\ /╰──────────────────────────╯
| ~ |
__'.___.'__
´ |° ´ Y
`
#### --projectType
Specifies the project type to create.
Project Type | Description
----------- | ------------------------
taskpane | Task Pane add-in using HTML
react | Task Pane add-in using the React framework
excel-functions | Task Pane add-in with Excel Custom Functions
single-sign-on | Taskpane add-in supporting single-sign-on
nested-app-auth | Taskpane add-in supporting Nested App Auth single sign-on (preview)
manifest | Manifest and related files for an Office Add-in
- Type: String
- Optional
#### --name
Title of the project - this is the display name that is written the manifest.xml file.
- Type: String
- Optional
> Note: The Windows command prompt requires this argument to be in quotes (e.g. "My Office Add-in")
#### --host
The Microsoft Office client application that can host the add-in. The supported arguments include Excel (excel), OneNote (onenote), Outlook (outlook), PowerPoint (powerpoint), Project (project), and Word (word).
- Type: String
- Optional
$3
The following command line options are supported. If these are not specified, the generator will prompt you for the values before scaffolding the project. The options should be specified after the projectType, name and host arguments.
Specifying --output tells the generator to create the project in a specific location. If the output parameter is not specified, the project will be created in the current directory. If the output option specifies a non-empty folder,
the generator will inform you so you don't accidentally overwrite existing files.
- Type: String
- Optional
Specifying --js tells the generator to use JavaScript.
- Type: Boolean
- Default: False
- Optional
Specifying --ts tells the generator to use TypeScript.
- Type: Boolean
- Default: False
- Optional
Specifying --details tells the generator to provide detailed help, including all the accepted values for each project type and host,
- Type: Boolean
- Default: False
- Optional
#### --skip-install
After scaffolding the project, the generator (and all sub generators) run all package management install commands such as npm install & typings install. Specifying --skip-install tells the generator to skip this step.
- Type: Boolean
- Default: False
- Optional
Running the Generated Site
Launch the local HTTPS site on https://localhost:3000 by simply typing the following command in your console:
`bash
npm start
`
> Note: Office Add-ins should use HTTPS, not HTTP, even when you are developing. If you are prompted to install a certificate after you run npm start, accept the prompt to install the certificate that the Yeoman generator provides.
Next, sideload the add-in in an Office application. See Sideload an Office Add-in for testing.
Validate manifest.xml
As you modify your manifest.xml file, use the included Office Toolbox to ensure that your XML file is correct and complete. It will also give you information on against what platforms to test your add-ins before submitting to the store.
To run Office Add-in Validator, use the following command in your project directory:
`bash
npm run validate
`

For more information on manifest validation, refer to our add-in manifests documentation.
Contributing
$3
If you are interested in contributing, please start by reading the Contributing Guidelines.
$3
#### Prerequisites
Ensure you have Node.js (version 8.0.0 or later) installed.
Install Yeoman.
`bash
npm install -g yo
`
#### Initialize the repo
`bash
git clone https://github.com/OfficeDev/generator-office.git
cd generator-office
npm install
`
#### Make your desired changes
- Project templates can be found under src/app/templates
- Generator script can be found at src/app/index.ts
#### Build and link your changes
`bash
npm run build
npm link
cd ..
yo office
`
At this point, yo office will be running with your custom built office-generator` changes.