<commit_before><!-- markdownlint-disable first-header-h1 first-line-h1 -->
<!-- cSpell:ignore cirkel -->

<!-- markdownlint-disable ul-style no-inline-html -->

> **View our API Documentation**<br>
> - [v0.1.0][jali-site-api]

<!-- markdownlint-enable ul-style no-inline-html -->


## **Jali** is

- **specification-driven** permitting consumer driven contracts and
  multi-version management
- **serverless** so you can write just your routines and run using any
  and all configurable platforms
- where the **microservice** is the unit of development, delivery and
  management
- a full multitenant, partitionable **DevOps** platform because modern
  microservice delivery is continuous
- an extensible, polyglot **framework** providing circuit breaking and
  self-documenting APIs and explicit routine services
- an **infrastructure** pluggable for many major microservice platforms
  (eventually...)

## Demonstrated Practices and Technologies

**Jali** also demonstrates state of the art development practices and
technologies.

### Communication

- [Team site][latticework-site]
- [Team blog][latticework-blog] and [twitter feed][latticework-twitter]
  that communicate direction and announce changes.
- [Project site][jali-site] with integrated [api documentation][jali-site-api]
  - Includes innovative use of the TypeScript compiler to build, test,
    and generate [example documentation][jali-site-api-example] that are
    known to function.

[jali-site]: /
[jali-site-api]: ./reference/0.1.0/manual/index.html
[jali-site-api-example]: http://jali-ms.io/reference/0.1.0/manual/example.html
[latticework-blog]: 
[latticework-blog-principles]
[latticework-site]
[latticework-twitter]

### Project Management

- List of [architectural principles][latticework-blog-principles]
  governing development practices
- [GitHub][github-wiki]-integrated project management using [ZenHub][zen-hub]
  - [Kanban][kanban-wiki]-style project board using story points
  - [Scrum][scrum-wiki]-supporting [milestones][jali-repo-milestones]
    with [burn down charts][burn-down-charts]
- Detailed GitHub-integrated [issue template][jali-repo-issue-template]
  with clear [instructions][jali-repo-issue-instructions]

### Compliance Management

- Tools that integrate with GitHub's protected branch
  [status checks][github-status-check] to document and enforce that
  software meets compliance checks. Example: PR [#88][status-check-example]
  - Automated Contributor License Agreement (CLA) compliance
    - [CLA assistant][cla-assistant-example]
  - Package license and security compliance
    - [Dependency CI][dependency-ci-example]
    - [VersionEye][version-eye-example] (still working on white-listing)
  - Code quality compliance enforcement using static code analysis
    (includes ignored errors, duplicate code, code complexity and linting)
    - [bitHound][bit-hound-example]

### DevOps

#### Developer Experience (DX)

- Use of Configuration Management tools to provide consistent
  development environment
  - Only [Vagrant][vagrant], [VirtualBox][virtual-box], and [Chef][chef]
    tools need to installed to stand up a consistent graphical [Ubuntu][ubuntu-wiki]
    16.04 development environment across all operating systems.
  - Guest development environment provides the full range of tools
    needed, including Docker, NodeJS, Visual Studio Code, sphinx for
    Jekyll-based documentation, etc.

#### Continuous Integration / Continuous Delivery (CI/CD)

- GitHub PR integrated Continuous Integration (CI) service ensures only
  successfully build code gets merged into the master branch
  - [SemaphoreCI][semaphore-ci-example]

### NodeJS Development Techniques

- [`monorepo`][monorepo-turf]-style projects that use
  [scoped npm packages][jali-npm-user]
  - Like [angular][angular-npm-org]
  - Supports projects using TypeScript, ES6 modules, or NodeJS-style modules
- `npm` as a [task runner][npm-build]
- [TypeScript 2.1][typescript] ([wikipedia][typescript-wiki]) adds
  optional static typing to JavaScript
- [EcmaScript 2017+][ecmascript] ([wikipedia][ecmascript-wiki]) The maturing
  JavaScript language
  - See [ECMASCRIPT-PROPOSALS.md][jali-repo-proposals] for what
    proposals are implemented and supported by Jali
  - [esdoc][esdoc] documentation generator<commit_msg>Updated index<commit_after><!-- markdownlint-disable first-header-h1 first-line-h1 -->
<!-- cSpell:ignore cirkel -->

<!-- markdownlint-disable ul-style no-inline-html -->

> **View our API Documentation**<br>
> - [v0.1.0][jali-site-api]

<!-- markdownlint-enable ul-style no-inline-html -->


## **Jali** is

> - **specification-driven** permitting consumer driven contracts and
>   multi-version management
> - **serverless** so you can write just your routines and run using any
>   and all configurable platforms
> - where the **microservice** is the unit of development, delivery and
>   management
> - a full multitenant, partitionable **DevOps** platform because modern
>   microservice delivery is continuous
> - an extensible, polyglot **framework** providing circuit breaking and
>   self-documenting APIs and explicit routine services
> - an **infrastructure** pluggable for many major microservice platforms
>   (eventually...)

## Demonstrated Practices and Technologies

**Jali** also demonstrates state of the art development practices and
technologies.

### Communication

- [Team site][latticework-site]
- [Team blog][latticework-blog] and [twitter feed][latticework-twitter]
  that communicate direction and announce changes.
- [Project site][jali-site] with integrated [api documentation][jali-site-api]
  - Includes innovative use of the TypeScript compiler to build, test,
    and generate [example documentation][jali-site-api-example] that are
    known to function.

[jali-site]: /
[jali-site-api]: ./reference/0.1.0/manual/index.html
[jali-site-api-example]: http://jali-ms.io/reference/0.1.0/manual/example.html
[latticework-blog]: 
[latticework-blog-principles]
[latticework-site]
[latticework-twitter]

### Project Management

- List of [architectural principles][latticework-blog-principles]
  governing development practices
- [GitHub][github-wiki]-integrated project management using [ZenHub][zen-hub]
  - [Kanban][kanban-wiki]-style project board using story points
  - [Scrum][scrum-wiki]-supporting [milestones][jali-repo-milestones]
    with [burn down charts][burn-down-charts]
- Detailed GitHub-integrated [issue template][jali-repo-issue-template]
  with clear [instructions][jali-repo-issue-instructions]

### Compliance Management

- Tools that integrate with GitHub's protected branch
  [status checks][github-status-check] to document and enforce that
  software meets compliance checks. Example: PR [#88][status-check-example]
  - Automated Contributor License Agreement (CLA) compliance
    - [CLA assistant][cla-assistant-example]
  - Package license and security compliance
    - [Dependency CI][dependency-ci-example]
    - [VersionEye][version-eye-example] (still working on white-listing)
  - Code quality compliance enforcement using static code analysis
    (includes ignored errors, duplicate code, code complexity and linting)
    - [bitHound][bit-hound-example]

### DevOps

#### Developer Experience (DX)

- Use of Configuration Management tools to provide consistent
  development environment
  - Only [Vagrant][vagrant], [VirtualBox][virtual-box], and [Chef][chef]
    tools need to installed to stand up a consistent graphical [Ubuntu][ubuntu-wiki]
    16.04 development environment across all operating systems.
  - Guest development environment provides the full range of tools
    needed, including Docker, NodeJS, Visual Studio Code, sphinx for
    Jekyll-based documentation, etc.

#### Continuous Integration / Continuous Delivery (CI/CD)

- GitHub PR integrated Continuous Integration (CI) service ensures only
  successfully build code gets merged into the master branch
  - [SemaphoreCI][semaphore-ci-example]

### NodeJS Development Techniques

- [monorepo][monorepo-turf]-style projects that use
  [scoped npm packages][jali-npm-user]
  - Like [angular][angular-npm-org]
  - Supports projects using TypeScript, ES6 modules, or NodeJS-style modules
- `npm` as a [task runner][npm-build]
- [TypeScript 2.1][typescript] ([wikipedia][typescript-wiki]) adds
  optional static typing to JavaScript
- [EcmaScript 2017+][ecmascript] ([wikipedia][ecmascript-wiki]) The maturing
  JavaScript language
  - See [ECMASCRIPT-PROPOSALS.md][jali-repo-proposals] for what
    proposals are implemented and supported by Jali
  - [esdoc][esdoc] documentation generator
{'fraction_non_alphanumeric': 0.1102855816113304, 'fraction_numerical': 0.0055723241235198515, 'mean_word_length': 4.682717678100264, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2379763', 'n_tokens_mistral': 2533, 'n_tokens_neox': 2394, 'n_words': 768}