This repo contains highly experimental code. Expect rapid iteration.
Kaaper is a tool to generate documentation for Cairo projects. It allows you to extract code documentation from your project and generate yaml files that can be used to generate documentation. Kaaper supports both Natspec and Google documentation standards.
Node JS, preferably 16.xx
Yarn
Kaaper is now available as an NPM package.
npm install -g @onlydust/kaaper
yarn global add @onlydust/kaaper
Or install locally : Navigate to CLI directory
cd cli
Install the required dependencies
yarn
npm install
Install CLI locally
npm run create
npm run local
To see available commands
kaaper
kaaper generate <rootdir> <outdir>
Generate docs (comment only)
kaaper generate --comment <rootdir> <outdir>
The command generates documentation for google-compliant contracts by default. To Generate docs for natspec-compliant contracts, use
kaaper generate --standard natspec <rootdir> <outdir>
kaaper check-compliance <rootdir> [--standard natspec|google]
yarn test
The extension is not on the marketplace yet, so the only way to use it is by building it from source. Dont forget to open up the vscode on this directory.
Open vscode-extension directory
code vscode
yarn
yarn install
- Press Ctrl+Shift+B to start compiling the client and server in watch mode.
- Switch to the Run and Debug View in the Sidebar (Ctrl+Shift+D).
- Select
Launch Client
from the drop down (if it is not already). - Press ▷ to run the launch config (F5).
- If you want to debug the server as well, use the launch configuration
Attach to Server
- In the Extension Development Host instance of VSCode, open a document in 'plain text' language mode.
- Type
j
ort
to seeJavascript
andTypeScript
completion. - Enter text content such as
AAA aaa BBB
. The extension will emit diagnostics for all words in all-uppercase.
- Type
kaaper is released under the MIT.
Kaaper, also commonly known as Sheikh el-Beled, was an ancient Egyptian scribe and priest who lived between the late 4th Dynasty and the early 5th Dynasty (around 2500 BCE).
The job of a scribe was to record in writing the everyday life and extraordinary happenings in ancient Egypt.
A documentation generator has pretty much the same duties as a scribe, right?