Skip to content
A node.js implementation of ApexDoc.
JavaScript HTML Apex CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This project is a node.js implementation of the ApexDoc project. The project aims to provide a documentation frame work for development on the platform. To run this from a grunt build use grunt-apex-doc.

Project Status

Build Status

This project is currently in early alpha so bugs may be encountered (feel free to file an issue!). A complete test suite has not yet been implemented and major changes may be made to the project structure prior to the 1.0.0 release. Additionally, this project does not yet have feature parity with the Java ApexDoc and is missing the following notable features:

  • Command-line arguments
  • Including webservice scope in global (IN TESTING)
  • Class groups (IN TESTING)
  • Class group content (IN TESTING)

To Do

The next steps for this project will be to support the following:

  • Command-line arguments to override config.json settings
  • Support for local template overrides
  • SASS compilation to allow for easier styling



After cloning or downloading the project, run npm install in the project root to install all dependencies.

Basic Configuration

Edit the config.json file to set the following properties:

  • source: The location of your class files. This should point to the "src/classes/" directory of a project. This must end with a forward slash.

  • target: Where your documentation files will be placed. I suggest placing them in a directory like "docs/" of the project. This must end with a forward slash.

  • company: The name of your company.

  • email: Your company's contact email.

  • scopes: An array of scopes you would like to generate documentation for.

  • report: Settings for the documentation coverage analysis.

          If `enable` is set to true, the documentation coverage analysis will run.
          You can set the `ratings` to establish thresholds for rating how well a class is covered.


To run the documentation, simply run node run from the project root.


The directory specified in the target param is emptied before the new files are generated to account for a difference in scope or deleted classes. Do not specify a directory containing other files as a target directory! As a safeguard, the directory will not be emptied if an index.html file is not found, but this is not bulletproof.


All HTML is generated by mustache using the templates contained in the _templates directory. These templates can be customized however you want. Default styles are provided by Bootstrap.


Before creating a pull request please update the tests or create new tests in "/_test/" to cover your changes. New commits and pull requests will be tested by TravisCI but you should run the tests yourself first using npm test.

You can’t perform that action at this time.