项目作者: miur

项目描述 :
Cross-language application composition standard
高级语言: Shell
项目地址: git://github.com/miur/kirie.git
创建时间: 2019-09-07T22:21:53Z
项目社区:https://github.com/miur/kirie

开源协议:

下载


kirie

Cross-language application composition standard

As Library

It’s a library in the same sense as “set of tools” you can use in your app.
Instead of “these tools will use YOUR app” which is common for frameworks.

  • you can use any piece independently with only strictly necessary dependencies
  • you can create partial derivative works

As Framework

Don’t get me wrong: linux kernel is framework also

  • all new pieces of code must follow set of conventions and standards
  • everything has the same fixed API
  • adding new code initially is easy but becomes increasingly difficults with
    number of standards to follow
  • …but without these standards you will inevitably create them yourself…

As Buildsystem

Lets face reality: actually both “dast” and even “kirie” is buildsystem

  • track dependencies and draw dependency graph
  • track fixed datastreams through topologies
  • managing artifacts on all steps: rebuilding, cleaning, caching…
  • incremental update of immediate system when changing code inside any script

COPYING

  • You are allowed to repurpose the source code files under Apache-2.0 license.
  • Documentation is governed by copyleft CC-BY-SA-4.0 which results in
    this software as combined whole required to be distributed also share-alike.
  • As a consequence, to satisfy incompatible relicensing terms (e.g. proprietary)
    you must remove documentation and keep only files with explicit permissive licenses.
  • This project strives to be fully compliant with REUSE v3.0+ Specification,
    therefore all files are expected to contain explicit SPDX v2.1+ annotations
    to help differentiating terms of reuse of each file.

TBD

IDEA: separate setting env vars for SUITE from pure functions of stdin/cmdline args

  • !!! “dast” is based on “kirie”, but “kirie” itself must be based on “dast”

SEE: A library to make languages that can communicate with each other and C

TODO

  • TRY to combine “config” with “env”
  • TRY to replace “wiw/config” by “kirie/config” with overriden fallbacks

ARCH: kirie is everything else, which doesn’t fit anywhere and whole project altogether.
What kirie means for different roles:

  • author — site generation, documentation, etc.
  • researcher — lisp-like mix of deps mgmt build system with runtime code running
  • developer — script templates, syntax glue, runtime auto-linking, monads
  • contributor — build system, code style, licenses, arch graphs, etc.
  • maintainer — packages for distributions
  • dependency — API, standards, libraries
  • user — man pages, usage patterns