<h1 style="margin-bottom: 0; font-size: 2.8rem;">cici</h1>

<p style="font-size:1.4rem; margin-top: 0; margin-bottom: 0;">Continuous Integration Catalog Interface</p>

<!-- BADGIE ME -->

[![pipeline status](https://img.shields.io/gitlab/pipeline-status/saferatday0/cici?branch=main)](https://gitlab.com/saferatday0/cici/-/commits/main)
[![coverage report](https://img.shields.io/gitlab/pipeline-coverage/saferatday0/cici?branch=main)](https://gitlab.com/saferatday0/cici/-/commits/main)
[![latest release](https://img.shields.io/gitlab/v/release/saferatday0/cici)](https://gitlab.com/saferatday0/cici/-/releases)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)

<!-- END BADGIE ME -->

## About

**cici**, short for **Continuous Integration Catalog
Interface**, is a framework and toolkit for managing the integration and
lifecycle of packaged CI/CD components in a software delivery pipeline.

cici enables the efficient sharing of CI/CD code in an organization, and
eliminates a major source of friction that otherwise leads to poor adoption of
automation and DevOps practices.

cici is a foundational component of [saferatday0](https://saferatday0.dev) and
powers the [saferatday0 library](https://gitlab.com/saferatday0/library).

### For project maintainers

cici enables project maintainers to:

- **Reuse CI/CD components** across CI/CD platforms and network boundaries.

- **Stay up to date** with pinned version upgrades that track the latest.

- **Avoid single points of failure** by committing CI/CD component sources
  directly to downstream repositories.

- **Use CI/CD components offline** in air-gapped and restricted environments.
  (planned)

### For component developers

cici empowers CI/CD component developers to:

- **Package self-contained components** that play well with others.

- **Generate rich, detailed READMEs** for component users.

- **Build vendor-agnostic CI/CD pipelines**. (in development)

## Installation

See the [Installation](install.md) page for information on installing cici.

## Configuration

See [Getting started](getting-started.md) to learn how to start using **cici**.

## License

Copyright 2025 UL Research Institutes.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at

<http://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
