# C2gUi

This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.3.0.

## Code scaffolding

Angular CLI includes powerful code scaffolding tools. To generate a new component, run:

```bash
ng generate component component-name
```

For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:

```bash
ng generate --help
```

## Building

To build the library, run:

```bash
ng build c2g-ui
```

This command will compile your project, and the build artifacts will be placed in the `dist/` directory.

### Publishing the Library

Use the repo release flow instead of publishing by hand:

```bash
npm run release:check
```

This validates the package contract, enforces Storybook coverage for every component, builds the library, and builds Storybook.

To publish the current library package to GitHub Packages, run:

```bash
GITHUB_TOKEN=<token> npm run release
```

The release flow publishes `@humbeldore/c2g-ui` from `dist/c2g-ui`.

If you need the underlying manual steps, they are:

1. Navigate to the `dist` directory:
   ```bash
   cd dist/c2g-ui
   ```

2. Run the `npm publish` command to publish your library to the npm registry:
   ```bash
   npm publish
   ```

## Running unit tests

To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:

```bash
ng test
```

## Running end-to-end tests

For end-to-end (e2e) testing, run:

```bash
ng e2e
```

Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.

## Storybook Quality Gates

All Wave 1 and future components must meet the criteria defined in:

**[STORYBOOK_QUALITY_GATES.md](./STORYBOOK_QUALITY_GATES.md)**

This document covers:
- Required story variants per component type
- Requirement that every component ships with at least one Storybook story before release
- Angular 20 signal-based API conventions
- Accessibility (A11y) checklist
- Visual consistency and design token rules
- i18n requirements
- Branch and delivery policy
- Copy-paste DoD checklist for new component tickets

## Additional Resources

For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
