Skip to content

tgbv/cognigy-hammer

Repository files navigation

cognigy-hammer

An extension development suite for CognigyAI. Not affiliated with Cognigy or its subsidiaries.

Project seeks to eliminate the need of managing nodes dependencies and establish a standard for better development of CognigyAI extensions.

Live examples

Prerequisites:

  • Linux/macOS
  • Git
  • Node >= 18
  • NPM >= 9

Setup

npm i -g cognigy-hammer

Features

  • CLI to easily create new project, nodes, connections.
  • Nodes types and hierarchy are injected automatically based on directory structure.
  • Connections and Nodes are imported automatically.
  • Helper function for setting the next node.

CLI commands

The following commands should be available after installing the package globally. If they are not, you may need to use npm exec / npx

ch.create-project   # create a new extension project scaffold
ch.create-node      # create a new node in an extension project
ch.delete-node      # delete a node from an extension project
ch.create-connection # create a new connection in an extension project

Standard

Directory structure

  • Nodes are stored in ./src/nodes
  • Connections are stored in ./src/connections
  • Assets used at runtime are stored in ./src/assets

Each node can have N children nodes. The former are stored in a directory located at the same tree level as the parent.

src
├── assets
│   └── extension-map.js
├── connections
│   └── dbs
│       ├── Mongo.ts
│       └── MySQL.ts
└── nodes
    ├── Parent
    │   ├── Child1.ts
    │   ├── Child2
    │   │   └── Child3.ts
    │   └── Child2.ts
    └── Parent.ts

Node rules

  • One parent node can have N child nodes.
  • One parent node must not share its children nodes with other parent nodes. While CognigyAI chart supports this variant and other mixed ones, a custom implementation and/or directory scheme is required from development side for it, which is not in the scope of this package.

In above example, Parent1 and Parent2 cannot share the same Child2.

Demo project

https://github.com/tgbv/cognigy-reddit-explorer

About

Extension development suite for Cognigy AI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published