<commit_before>---
layout: page
title:  "About the components"
---


## About the components

{% include components-intro.md %}


## The code

{% include components-repositories.md %}

_Styleguides built with the excellent [Topdoc](https://github.com/topcoat/topdoc/)._


## Contributing

We welcome your feedback and contributions.  
[Find out about contributing]({{ site.baseurl }}/contributing/)

If you'd like to create a new component please review our [roadmap]({{ site.baseurl }}/roadmap/)
first to make sure we haven't already started.
Also consider if we can leverage any existing code from CFPB web products.

We hope to have a starter repo or a scaffolding system set up for creating
new components quickly but this is still in research.
We are currently looking into [Yeoman.io](http://yeoman.io/).
In the meantime you can contribute to the discussion by following
[this issue](https://github.com/cfpb/cf-demo/issues/49).


## Compiling a component

### Requirements

- [npm](https://npmjs.org/)
- [grunt-cli](http://gruntjs.com/getting-started)
- That's it! NPM will help you install everything else you need.

### Workflow

1. Clone a component repo and `cd` into its root
2. `npm install` – Initializes Grunt in this folder and installs dependencies.
3. `grunt vendor` – Pulls in Bower components.
4. `grunt` – Compiles LESS files and generates the docs and demo pages.<commit_msg>Proactive link update.<commit_after>---
layout: page
title:  "About the components"
---


## About the components

{% include components-intro.md %}


## The code

{% include components-repositories.md %}

_Styleguides built with the excellent [Topdoc](https://github.com/topcoat/topdoc/)._


## Contributing

We welcome your feedback and contributions.  
[Find out about contributing]({{ site.baseurl }}/contributing/)

If you'd like to create a new component please review our [roadmap]({{ site.baseurl }}/roadmap/)
first to make sure we haven't already started.
Also consider if we can leverage any existing code from CFPB web products.

We hope to have a starter repo or a scaffolding system set up for creating
new components quickly but this is still in research.
We are currently looking into [Yeoman.io](http://yeoman.io/).
In the meantime you can contribute to the discussion by following
[this issue](https://github.com/cfpb/capital-framework/issues/49).


## Compiling a component

### Requirements

- [npm](https://npmjs.org/)
- [grunt-cli](http://gruntjs.com/getting-started)
- That's it! NPM will help you install everything else you need.

### Workflow

1. Clone a component repo and `cd` into its root
2. `npm install` – Initializes Grunt in this folder and installs dependencies.
3. `grunt vendor` – Pulls in Bower components.
4. `grunt` – Compiles LESS files and generates the docs and demo pages.
{'fraction_non_alphanumeric': 0.1056563500533618, 'fraction_numerical': 0.004268943436499467, 'mean_word_length': 4.1501831501831505, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5588191', 'n_tokens_mistral': 854, 'n_tokens_neox': 796, 'n_words': 349}