open-index/open-npm huggingface dataset:
npm package: @mizchi/tornado
Description: Multi-agent development orchestrator with TUI
Author: mizchi
Latest version: 0.6.0

# tornado

Multi-agent development orchestrator with TUI.

## Usage

### Pattern 1: Run with `npx`

```bash
# run from a plan file (first positional arg must be an existing file)
npx -y @mizchi/tornado ./plan.md --dev=codex --review=claude

# run with explicit config
npx -y @mizchi/tornado --config=./tornado.json --dev=codex --review=claude

# validate config
npx -y @mizchi/tornado validate ./tornado.json
```

### Pattern 2: Install globally with `npm i -g`

```bash
npm i -g @mizchi/tornado

# run from a plan file
tornado ./plan.md --dev=codex --review=claude

# run with explicit config
tornado --config=./tornado.json --dev=codex --review=claude

# validate config
tornado validate ./tornado.json
```

## Agent kind options

- `claude` / `claude-code`
- `codex`
- `api`
- `mock`
npm package: @mizchi/tree-utils
Description: Non-destructive tree utils.
Latest version: 0.2.1

# @mizchi/tree-utils

Non-destructive tree utils.

```
yarn add @mizchi/test-utils
```

## Example

```ts
import { moveNode, Node } from "@mizchi/tree-utils";

const sampleTree: Node<number> = {
  id: "root",
  data: 1,
  children: [
    {
      id: "c0",
      data: 2,
      children: [
        {
          id: "c0-0",
          data: 3,
          children: []
        }
      ]
    },
    {
      id: "c1",
      data: 4,
      children: [
        {
          id: "c1-0",
          data: 5,
          children: []
        },
        {
          id: "c1-1",
          data: 6,
          children: []
        }
      ]
    }
  ]
};

import assert from "assert";

// move c0-0 under c1 with index 1
const r0 = moveNode(sampleTree, "c0-0", "c1", 1);
assert.deepEqual(r0.children[0].children.length, 0);
assert.deepEqual(r0.children[1].children.length, 3);
assert.deepEqual(r0.children[1].children.map(i => i.id), [
  "c1-0",
  "c0-0",
  "c1-1"
]);

// move c1-0 under c0 with index 0
const r1 = moveNode(sampleTree, "c1-0", "c0", 0);
assert.deepEqual(r1.children[0].children.map(i => i.id), ["c1-0", "c0-0"]);
assert.deepEqual(r1.children[1].children.map(i => i.id), ["c1-1"]);
```

See detail `index.d.ts` and `__tests__/index.test.ts`

## Inverted

Performant inverted version

```ts
import * as treeUtils from "@mizchi/tree-utils/inverted";

const inv = treeUtils.toInvertedTree({ id: "1", data: 1, children: [] });
const inv2 = treeUtils.appendNode(
  inv,
  {
    id: "2",
    data: 2,
    children: [
      {
        id: "3",
        data: 3,
        children: []
      }
    ]
  },
  "1"
);

assert.deepEqual(inv2, {
  childrenMap: {
    "1": ["2"],
    "2": ["3"],
    "3": []
  },
  dataMap: {
    "1": 1,
    "2": 2,
    "3": 3
  },
  parentMap: {
    "1": null,
    "2": "1",
    "3": "2"
  }
});

// convert to node tree
const node = treeUtils.toNode(inv2);
```

See detail `inverted.ts` and `__tests__/inverted.d.ts`

## LICENSE

MIT
npm package: @mizchi/types
Description: A type definition for KVS.
Author: azu
Latest version: 1.1.0

# @kvs/types

A type definition for KVS.

## Install

Install with [npm](https://www.npmjs.com/):

    npm install @kvs/types

## Usage

```ts
import type { KVS } from "@kvs/types";
```

## Changelog

See [Releases page](https://github.com/azu/kvs/releases).

## Running tests

Install devDependencies and Run `npm test`:

    npm test

## Contributing

Pull requests and stars are always welcome.

For bugs and feature requests, [please create an issue](https://github.com/azu/kvs/issues).

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

- [github/azu](https://github.com/azu)
- [twitter/azu_re](https://twitter.com/azu_re)

## License

MIT © azu
npm package: @mizchi/wc-helpers
Description: My experimental helpers
Latest version: 0.1.1

# @mizchi/wc-helpers

My experimental helpers

CAUTION: ES2015 only

```
yarn add @mizchi/wc-helpers
```

## Example

```tsx
import {
  vueElementFactory,
  reactElementFactory,
  encodeProps
} from "@mizchi/wc-helpers";

// Plain React Component
import React from "react";
class MyReactApp extends React.PureComponent<{ a: string }> {
  render() {
    return React.createElement("p", null, `react: ${this.props.a}`);
  }
}

// Plain Vue Component
import Vue from "vue";
import Component from "vue-class-component";
@Component({
  props: ["a"]
})
class MyVueApp extends Vue {
  render(h) {
    return h("p", `vue: ${this.$props.a}`);
  }
}

// register
customElements.define("my-react-component", reactElementFactory(MyReactApp));
customElements.define("my-vue-component", vueElementFactory(MyVueApp));

// run
const state = { a: 0 };
const encoded = encodeProps(state);
document.body.innerHTML = `
  <my-react-component data-props="${encoded}"></my-react-component>
  <my-vue-component data-props="${encoded}"></my-vue-component>
`;
```

## Nested demo

![](https://gyazo.com/0adabb600dd507db2ac02919ea23a02f.gif)

## How to dev

- `yarn build`: Generate `index.js`

## LICENSE

MIT