# Didg - CLI tool to generate mainnet canister's candid JS/TS bindings

**URL:** <https://forum.dfinity.org/t/didg-cli-tool-to-generate-mainnet-canisters-candid-js-ts-bindings/36357>\
**Category:** JavaScript\
**Created:** [October 20, 2024, 8:31am UTC](https://forum.dfinity.org/t/didg-cli-tool-to-generate-mainnet-canisters-candid-js-ts-bindings/36357 "2024-10-20T08:31:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZenVoich](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/zenvoich/32/5969_2.png) [@ZenVoich](https://forum.dfinity.org/u/ZenVoich)\
**Post date:** [October 20, 2024, 8:31am UTC](https://forum.dfinity.org/t/didg-cli-tool-to-generate-mainnet-canisters-candid-js-ts-bindings/36357/1 "2024-10-20T08:31:15Z")

</div>

# didg

CLI tool to fetch canister’s public candid metadata and generate JS/TS bindings.

[https://www.npmjs.com/package/didg](https://www.npmjs.com/package/didg)

## Prerequisites

- [dfx](https://internetcomputer.org/docs/current/developer-docs/getting-started/install/#installing-dfx-via-dfxvm)
- [didc](https://github.com/dfinity/candid/releases)

## Installation

```bash
npm install -g didg

```

## Usage

```bash
didg <canister_id> <output_dir>

```

## Example

```bash
didg ryjl3-tyaaa-aaaaa-aaaba-cai declarations/ledger

```

Output structure:

```auto
declarations
└── ledger
    ├── index.js
    ├── ledger.did
    ├── ledger.did.d.ts
    └── ledger.did.js

```
