generator-office scaffolds an Office Add-in instead of a tutorial
Yeoman generator for building Microsoft Office related projects.
At a glance
- What is it?
- The yo office generator creates a Node.js Office Add-in project for Excel, Word, Outlook, OneNote, PowerPoint or Project, in plain HTML, CSS and JavaScript or in React, in JavaScript or in TypeScript, and it writes the manifest that the Office clients read. What it produces is a working project with a local HTTPS server and a manifest validation step, which is the part that takes the longest to get right by hand.
- Who is it for?
- generator-office suits a developer who wants an Office Add-in project that runs today, with the manifest, the certificate and the sideloading step already arranged, and it suits a team that wants React and TypeScript in the mix since the Visual Studio templates do not offer that combination.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 30 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Six hosts, and the generator picks the shape
The generator creates a Node.js Office Add-in project that can be managed with Visual Studio Code or any other editor, and the hosts it covers are Excel, OneNote, Outlook, PowerPoint, Project and Word. It also produces add-ins that use single sign-on and Excel custom functions, which are the two shapes that do not fit the plain task pane. The generated output is scaffolding rather than an application, which is the Yeoman contract, and the choice of stack is the interesting part. You can take plain HTML, CSS and JavaScript, or React, and you can take JavaScript or TypeScript, and the choices are independent of each other, so a React add-in written in TypeScript is a single command away. The manifest is written for you as part of it, with the display name coming from the name you pass, which is the detail that the manifest documentation insists on and that the generator handles.
Five project types, and what each one actually is
The `--projectType` argument takes five values, and they are not variations on a theme, they are different products. A `taskpane` project is a task pane add-in using plain HTML, which is the classic Office add-in shape. A `react` project is the same idea built with the React framework. An `excel-functions` project is a task pane add-in carrying Excel custom functions, which is a different extension point in the Office extensibility model and needs different scaffolding. A `nested-app-auth` project is a task pane add-in that supports the nested app authentication single sign-on flow. And a `manifest` project is not an application at all, it is the manifest and the related files for an Office add-in, which is the option to reach for when you already have the code and only need the packaging. The README also notes that the generator normally runs interactively, but that the same thing can be done from the command line, and that the arguments have to be given in the order they are documented or the generator will simply ask for the values.
One command, and the order of the arguments matters
The usage is short:
yo office [arguments] [options]And a complete invocation looks like this:
yo office --projectType react --name "New Web AddIn" --host word --ts trueThe three arguments are the project type, the name and the host, and the name has a platform wrinkle, since the Windows command prompt requires it in quotes, which the README calls out explicitly. The options come after the arguments. `--output` sets where the project is created, and the current directory is used when it is not given, and if the output folder exists and is not empty the generator says so rather than overwriting your files quietly. `--js` and `--ts` choose the language, and `--details` asks for the longer help with all the accepted values for each project type and host. And `--skip-install` is the option to reach for in a CI pipeline, because by default the generator and its sub-generators run the package management install commands such as `npm install` and `typings install` after scaffolding.
Why the generator exists alongside Visual Studio
The README spells out the comparison with the Visual Studio templates, and the differences are the argument for using the generator at all. The generator can create add-ins in plain HTML, CSS and JavaScript or in React, while Visual Studio can only create the plain web ones. The generator can create JavaScript or TypeScript projects, while Visual Studio only creates JavaScript, which you would have to convert by hand if you wanted TypeScript. And the generator covers Excel, OneNote, Outlook, PowerPoint, Project and Word, while Visual Studio covers only Excel, Outlook, PowerPoint and Word, so OneNote and Project add-ins are reachable only through this route. The trade is that you get a project managed by an editor rather than by an IDE, which suits somebody who lives in VS Code, and it costs you the Visual Studio integration and the debugging setup that comes with it.
Running it locally means HTTPS and a certificate you have to accept
Once the project exists, the run command is one line, `npm start`, and it launches a local HTTPS site on `https://localhost:3000`. The HTTPS part is not incidental. The README states that Office add-ins should use HTTPS rather than HTTP even while you are developing, and that if you are prompted to install a certificate after running the command you should accept it, because the certificate is the one the generator provides. The next step is sideloading the add-in into an Office application, and the documentation links the sideloading instructions for testing. That two step arrangement, a local server and a sideload into the desktop client, is the part of the workflow that makes an Office add-in feel different from a web app, and it is why the generator producing the certificate for you is worth something.
The manifest is the contract, and there is a validator for it
The manifest is what the Office client reads, so a mistake in it is a silent failure, and the project takes that seriously. The README recommends the Office Toolbox, a separate project, to check that the XML file is correct and complete, and it also tells you which platforms to test against before submitting to the store. The generated project carries the validation as a script, so the check is a command in the project directory:
npm run validateThe same file is where the project name lands, since the `--name` argument is the title of the project and the display name that gets written into manifest.xml. So the generator is also removing the step where a developer has to hand edit XML and discover later that a field was wrong, which is the failure mode the validator exists to catch.
The generator package is modern TypeScript with a small build
The package manifest says version 3.0.4, with the description Yeoman generator for creating Microsoft Office projects using any text editor, and the release list shows 3.0.3 from September 2026 after 3.0.1 and 3.0.2 in 2025. The module is ESM, with the main entry at `generators/index.js` and only the `generators` directory published, and the engine requirement is Node 20.12.0 or later, which is where the package has moved to. The build is a small, legible pipeline. `tsc` compiles the TypeScript, a `copy` step brings the template files across with copyfiles, and `build` runs the two in parallel with concurrently after a clean. Tests run through mocha with env-cmd, and there is a `testSpec` variant that greps for a single case, the React task pane in TypeScript, which is a reasonable way to keep the slowest combination from slowing every run. The `release-local` script builds and then `npm link`s the package, and the watch configuration lists the template, test, manifest and environment files as the things worth rebuilding. The contribution guide still asks for Node 8.0.0 or later, which is a leftover from when the generator was first written.
Editorial conclusion
generator-office suits a developer who wants an Office Add-in project that runs today, with the manifest, the certificate and the sideloading step already arranged, and it suits a team that wants React and TypeScript in the mix since the Visual Studio templates do not offer that combination. It is a poor fit if you want a bare manifest and nothing else, because the `manifest` project type exists but the other types produce a full application, and it is a poor fit if you are on an old Node, since the package now asks for 20.12 or later even though the contribution guide still mentions version 8. Before you start, check three things: which host you are targeting, since OneNote and Project are only reachable through this generator and not through Visual Studio, that you can run a local HTTPS server with a trusted certificate, since Office add-ins will not load over plain HTTP, and the version you install, with 3.0.3 published on 2026-09-17 and the package manifest already at 3.0.4.
Frequently asked questions
How do I create an Office Add-in project with generator-office?
With the Yeoman generator, either interactively by running `yo office`, or from the command line with arguments in a fixed order, for example `yo office --projectType react --name "New Web AddIn" --host word --ts true`. The name has to be quoted in the Windows command prompt.
Which project types does generator-office support?
Five: taskpane for a task pane add-in in plain HTML, react for one built with React, excel-functions for Excel custom functions, nested-app-auth for a task pane add-in using nested app authentication single sign-on, and manifest for just the manifest and related files.
What can generator-office create that Visual Studio cannot?
The README says the generator creates add-ins in plain HTML, CSS and JavaScript or in React, while Visual Studio only creates the plain web kind, and it creates JavaScript or TypeScript projects while Visual Studio only creates JavaScript. It also covers OneNote and Project, which Visual Studio's templates do not.
How do I run and test a generated Office Add-in?
Run `npm start` in the project, which launches a local HTTPS site on https://localhost:3000, accept the certificate prompt because Office add-ins need HTTPS even in development, and then sideload the add-in into an Office application for testing.
How do I check the manifest of a generated add-in?
With the Office Toolbox, a separate project, or with the `npm run validate` script that the generated project includes, which checks that the manifest XML is correct and complete and tells you which platforms to test against before submitting to the store. The generator is MIT licensed and the manifest now asks for Node 20.12.0 or later.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/officedev-generator-office)Was this useful?