A next-gen framework for type-safe command-line applications

Overview

Zors 🥇

Next-gen framework for building modern, type-safe command-line applications.

  • 📦 Tiny (zero dependencies)
  • 💡 Runtime agonistic (supports both Deno and Node JS)
  • 🛠️ Rich Features
  • 🔩 Simple and extensible plugin api
  • 🔑 Excellent Typescript support with fully Typed APIs

Notice

We're actively working on bug fixes, improvements and documentation to get this stable and released ASAP.

Table of Contents

Packages

Package Version (click for changelogs)
zors zors version
Comments
  • Looking for contributors before release

    Looking for contributors before release

    Everything in terms of core functionality is done, all that is left is

    • Add more tests
    • JS Doc comments for better IDE experience
    • README.md documentation

    I am looking for contributors on these things, would really appreciate if someone wants to help

    Regardless, I will continue to finish these tasks on my own as well.

    documentation help wanted good first issue 
    opened by sidwebworks 5
  • Update Readme

    Update Readme

    • Moved the README from core/packages to root file
    • Added the Usage section (work in progress)
    • Rearranged some parts in Quick Start Guide

    PS: apologies for theses many commit :smileinpain:

    documentation 
    opened by Greeshma2903 1
  • feat(core): Add Tests

    feat(core): Add Tests

    Need to finish adding unit and integration tests for the core api.

    We won't be adding tests for parser.ts as its the same as https://github.com/denoland/deno_std/tree/0.144.0/flags package's implementation which already has alot of tests.

    opened by sidwebworks 1
  • feat(core): support for piping

    feat(core): support for piping

    Support for stdin piping would be cool

    example,

    echo "index.js index.html styles.css" | node cli.js add
    

    This should treat the stdin stream which is piped using | sign as the add command's arguments and options.

    opened by sidwebworks 0
  • feat(core): Support command hooks

    feat(core): Support command hooks

    Would be cool to to .addHook on a command to intercept its lifecycle and maybe do some modifications at runtime.

    command.addHook("pre", (args, options, tools) => {
      console.log("This command is about to run with: ", args, options)
    })
    
    command.addHook("post", (args, options, tools) => {
      console.log("This command just finished running with: ", args, options)
    })
    
    enhancement 
    opened by sidwebworks 2
  • feat(core): Support variadic options

    feat(core): Support variadic options

    The current parser is a fork of Deno's std/flags parser. However it does not support variadic options out of the box

    cli add --files app.js index.html styles.css --no-commit
    

    , hence we need to extend that functionality.

    I thought of using yargs-parser due to such reasons but I don't want to introduce any dependencies in the core package

    Also from what I understand, yargs-parser seems to use some node specific dependencies which I don't want to add.

    opened by sidwebworks 0
Releases(0.1.6)
  • 0.1.6(Aug 16, 2022)

  • 0.1.5(Aug 15, 2022)

  • 0.1.4(Aug 15, 2022)

  • 0.1.3(Jul 4, 2022)

  • 0.1.2(Jul 2, 2022)

  • 0.1.0(Jul 1, 2022)

    • chore: setup release command (ebee1d8)
    • chore: husky config (9a8dde8)
    • chore: documentation (2d7011a)
    • chore: update README.md (957ffe8)
    • feat: async plugin bootstrap and concurrency (2e33c80)
    • fix: sub command args parsing and more (abfb6ed)
    • updated README.md (081180c)
    • fix: plugin system config/tools merging (033d8fc)
    • fix: add @types/node to workspace root deps (0bf7473)
    • Update README.md (6747dff)
    • chore: update README.md (183e4f2)
    • fix: configuration merge (a178b72)
    • feat: add with-tools example (981f9dc)
    • Merge branch 'sidwebworks:master' into readme-changed (90e0099)
    • fix: eventing types and update snaps (4a4659a)
    • updated README.md (a213c3d)
    • fix: eventing types and update snaps (4c9fb9b)
    • fix: update integration snapshots (2114a69)
    • fix: print command usage sections (2a84890)
    • chore: refactor to a mono-repo structure (2eb1b88)
    • feat: add integration tests for input validation (17e230e)
    • fix: help options config (1d4c8a5)
    • fix: improve typescript support (8ff5482)
    • fix: extend deno flags with camel-cased option (66d1474)
    • fix: add option tests (589a116)
    • fix: add tests for program and bug fixes (690c19e)
    • fix: default formatters should be asserted (7938f8d)
    • fix: option default parsing (45a8279)
    • Update repo files (02b66a6)
    • fix: option alias parsing (4083613)
    • fix: option validation (1e9b0d8)
    • Update README.md (23113a3)
    • Update issue templates (d39e893)
    • Create CODE_OF_CONDUCT.md (1d50833)
    • feat: help generation (5590d79)
    • fix: refactor folder structure (f348860)
    • feat: arg and option validation (9909c79)
    • feat: plugin system (96873bb)
    • fix: rewrite the entire architecture (b3c998b)
    • feat(core): add demo (9c25e55)
    • feat(core): add demo (e260883)
    • Merge branch 'master' of github.com:sidwebworks/coot (74820dd)
    • feat(core): add demo and parser tests (a98d2e7)
    • Update README.md (21fc8a7)
    • feat(core): writing initial tests (60ce114)
    • feat(core): work in progress (7ae0cd2)
    • feat: add life-cycle hooks (32567c1)
    • chore: experimental setup (a2c9967)
    • Initial commit (03cb718)
    Source code(tar.gz)
    Source code(zip)
Owner
Sidharth Rathi
I do computers, usually close to the web.
Sidharth Rathi
100% type-safe query builder for node-postgres :: Generated types, call any function, tree-shakable, implicit type casts, and more

⚠️ This library is currently in alpha. Contributors wanted! tusken Postgres client from a galaxy far, far away. your database is the source-of-truth f

alloc 54 Dec 29, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A next-gen web framework made on top of bun

Eviate JS (WIP) Next-generation web framework to build powerful apps Features Simple: No more req or res. It's all ctx (context) and plain objects! Fa

eviatejs 17 Oct 30, 2022
👩‍🎤 Headless, type-safe, UI components for the next generation Web3.Storage APIs.

Headless, type-safe, UI components for the next generation Web3.Storage APIs. Documentation beta.ui.web3.storage Examples React Sign up / Sign in Sing

Web3 Storage 47 Dec 22, 2022
enables communication between command-line or desktop applications and browser-based Ethereum wallets such as Metamask.

@securerpc/walletbus @securerpc/walletbus Abstract Quickstart Installation Usage Ethers.js Web3.js Configuration options Logging Development Automated

Manifold Finance 8 Dec 27, 2022
Next-gen mobile first analytics server (think Mixpanel, Google Analytics) with built-in encryption supporting HTTP2 and gRPC. Node.js, headless, API-only, horizontally scaleable.

Introduction to Awacs Next-gen behavior analysis server (think Mixpanel, Google Analytics) with built-in encryption supporting HTTP2 and gRPC. Node.js

Socketkit 52 Dec 19, 2022
👜 Next-gen e-commerce built using Remix, Chakra UI, GraphQL and web3

?? Future Store About Here at New Store, we have the best in women's, men's, bags, shoes, accessories and more. Unmissable discounts and installments.

Matheus Trindade 16 Dec 26, 2022
There can be more than Notion and Miro. Affine is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

AFFiNE.PRO The Next-Gen Knowledge Base to Replace Notion & Miro. Planning, Sorting and Creating all Together. Open-source, Privacy-First, and Free to

Toeverything 12.1k Jan 9, 2023
Dynamic components with the power of next-gen bundle tools

Moon island architecture example Dynamic components with the power of next-gen bundle tools What is this? This example shows you how the moon-island a

idler 8 Oct 21, 2022
Xtreme1 - The Next GEN Platform for Multisensory Training Data.

Intro BasicAI Xtreme1 is an open-source suite that speedily develops and iterates your datasets and models. The built-in AI-assisted tools take your l

BasicAI 248 Dec 30, 2022
Notify new channel created/renamed on Next-gen Slack platform

notify-new-channel Notify new channel created/renamed on Next-gen Slack platform Install Deploy and create triggers. slack deploy slack trigger create

Masaya Hayashi 1 Oct 10, 2022
🐳 !mportantImport's Next-Gen Blog Starter. [WIP]

Hsno[hoɕino] ?? !mportantImport's Next-Gen Blog Starter. [WIP]    Open in Stackblitz        Run in Codeflow        Fork    This project is currently u

!mportantImport 5 Oct 31, 2022
Build type-safe web apps with PureScript.

PUX Build type-safe web applications with PureScript. Documentation | Examples | Chat Pux is a PureScript library for building web applications. Inter

Alex Mingoia 567 Jun 18, 2022
A zero-dependency, buildless, terse, and type-safe way to write HTML in JavaScript.

hdot A sensible way to write HTML in JavaScript. Type-safe. Helps you follow the HTML spec. Terse. Almost character for character with plain HTML. Bui

Will Martin 31 Oct 24, 2022
Type Safe Object Notation & Validation

tson Type Safe Object Notation & Validation ?? Work in Progress, not ready for production... Features ?? Functional ?? Immutable ✅ Well tested Why? Af

null 9 Aug 10, 2022
Cloudy is a set of constructs for the AWS Cloud Development Kit that aim to improve the DX by providing a faster and type-safe code environment.

cloudy-ts These packages aren't yet published on npm. This is still highly experimental. Need to figure out a few things before releasing the first ve

Cristian Pallarés 5 Nov 3, 2022
Zero runtime type-safe CSS in the same file as components

macaron comptime-css is now called macaron! macaron is a zero-runtime and type-safe CSS-in-JS library made with performance in mind Powered by vanilla

Mokshit Jain 205 Jan 4, 2023