diff --git a/conda/aspy.yaml/meta.yaml b/conda/aspy.yaml/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bcbcda9f61d1bfe58b47996fa534b595391caf3d
--- /dev/null
+++ b/conda/aspy.yaml/meta.yaml
@@ -0,0 +1,43 @@
+{% set name = "aspy.yaml" %}
+{% set version = "1.1.1" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "0a77e23fafe7b242068ffc0252cee130d3e509040908fc678d9d1060e7494baa" %}
+
+package:
+  name: '{{ name|lower }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - identify-cli=identify.cli:main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+    - setuptools
+  run:
+    - python
+    - pyyaml
+
+test:
+  imports:
+    - aspy
+    - aspy.yaml
+
+about:
+  home: https://github.com/asottile/aspy.yaml
+  license: MIT
+  license_family: MIT
+  summary: A few extensions to pyyaml.
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/cfgv/meta.yaml b/conda/cfgv/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1e25184b89aa0b1b79c8b095314601d01efd28d3
--- /dev/null
+++ b/conda/cfgv/meta.yaml
@@ -0,0 +1,43 @@
+{% set name = "cfgv" %}
+{% set version = "1.4.0" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "39d9055c47e3932908fe25abd5807e21dc002630db01c7a5f05738d027e2b706" %}
+
+package:
+  name: '{{ name|lower }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - identify-cli=identify.cli:main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+  build:
+    - six
+  run:
+    - python
+    - six
+
+test:
+  imports:
+    - cfgv
+
+about:
+  home: https://github.com/asottile/cfgv
+  license: MIT
+  license_family: MIT
+  summary: Validate configuration and produce human readable error messages.
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/identify/meta.yaml b/conda/identify/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ad23a1c6120922c2c24eaf16f3627712f96035c7
--- /dev/null
+++ b/conda/identify/meta.yaml
@@ -0,0 +1,42 @@
+{% set name = "identify" %}
+{% set version = "1.1.8" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "08826e68e39e7de53cc2ddd8f6228a4e463b4bacb20565e5301c3ec690e68d27" %}
+
+package:
+  name: '{{ name|lower }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - identify-cli=identify.cli:main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+  run:
+    - python
+
+test:
+  imports:
+    - identify
+  commands:
+    - identify-cli --help
+
+about:
+  home: https://github.com/chriskuehl/identify
+  license: MIT
+  license_family: MIT
+  summary: File identification library for Python
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/importlib-metadata/meta.yaml b/conda/importlib-metadata/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2b43e45b0ba1322aeb4e6973bf62467f4fe2286f
--- /dev/null
+++ b/conda/importlib-metadata/meta.yaml
@@ -0,0 +1,42 @@
+{% set name = "importlib_metadata" %}
+{% set version = "0.8" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "b50191ead8c70adfa12495fba19ce6d75f2e0275c14c5a7beb653d6799b512bd" %}
+
+package:
+  name: '{{ name|lower|replace("_", "-") }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - nodeenv = nodeenv:main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+  run:
+    - python
+    - zipp
+
+test:
+  imports:
+    - importlib_metadata
+
+about:
+  home: https://gitlab.com/python-devs/importlib_metadata
+  license: Apache Software
+  license_family: APACHE
+  summary: A library to access the metadata for a Python package
+  doc_url: https://importlib-metadata.readthedocs.io
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/importlib-resources/meta.yaml b/conda/importlib-resources/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..37c7bd30e19341e90dcc9b2090f513ae618b3beb
--- /dev/null
+++ b/conda/importlib-resources/meta.yaml
@@ -0,0 +1,43 @@
+{% set name = "importlib_resources" %}
+{% set version = "1.0.2" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "d3279fd0f6f847cced9f7acc19bd3e5df54d34f93a2e7bb5f238f81545787078" %}
+
+package:
+  name: '{{ name|lower|replace("_", "-") }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - pre-commit = pre_commit.main:main
+    - pre-commit-validate-config = pre_commit.clientlib:validate_config_main
+    - pre-commit-validate-manifest = pre_commit.clientlib:validate_manifest_main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+  run:
+    - python
+
+test:
+  imports:
+    - importlib_resources
+
+about:
+  home: https://gitlab.com/python-devs/importlib_resources
+  license: Apache Software
+  license_family: APACHE
+  summary: a backport of Python 3.7’s standard library importlib.resources module for Python 2.7, and 3.4 through 3.6
+  doc_url: http://importlib_resources.readthedocs.io/
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/nodeenv/meta.yaml b/conda/nodeenv/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..50f7eaf8ab4a695f43364a6d687869ae0cecaeb2
--- /dev/null
+++ b/conda/nodeenv/meta.yaml
@@ -0,0 +1,42 @@
+{% set name = "nodeenv" %}
+{% set version = "1.3.3" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "ad8259494cf1c9034539f6cced78a1da4840a4b157e23640bc4a0c0546b0cb7a" %}
+
+package:
+  name: '{{ name|lower }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - nodeenv = nodeenv:main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+    - setuptools
+  run:
+    - python
+    - setuptools
+
+test:
+  commands:
+    - nodeenv --help
+
+about:
+  home: https://github.com/ekalinin/nodeenv
+  license: BSD
+  license_family: BSD
+  summary: Node.js virtual environment builder
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/pre-commit/meta.yaml b/conda/pre-commit/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b450416449229c79d5533812574159e0912e77a
--- /dev/null
+++ b/conda/pre-commit/meta.yaml
@@ -0,0 +1,63 @@
+{% set name = "pre_commit" %}
+{% set version = "1.13.0" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "e233f5cf3230ae9ed9ada132e9cf6890e18cc937adc669353fb64394f6e80c17" %}
+
+package:
+  name: '{{ name|lower|replace("_", "-") }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  entry_points:
+    - pre-commit = pre_commit.main:main
+    - pre-commit-validate-config = pre_commit.clientlib:validate_config_main
+    - pre-commit-validate-manifest = pre_commit.clientlib:validate_manifest_main
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+  run:
+    - python
+    - aspy.yaml
+    - cached-property
+    - cfgv >=1.0.0
+    - identify >=1.0.0
+    - importlib-metadata
+    - nodeenv >=0.11.1
+    - pyyaml
+    - six
+    - toml
+    - virtualenv
+    - importlib-resources  # [py<37]
+    - zipp
+
+test:
+  imports:
+    - pre_commit
+    - pre_commit.commands
+    - pre_commit.languages
+    - pre_commit.meta_hooks
+    - pre_commit.resources
+  commands:
+    - pre-commit --help
+    - pre-commit-validate-config --help
+    - pre-commit-validate-manifest --help
+
+about:
+  home: https://pre-commit.com/
+  license: MIT
+  license_family: MIT
+  summary: A framework for managing and maintaining multi-language pre-commit hooks.
+  dev_url: https://github.com/pre-commit/pre-commit
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/conda/zipp/meta.yaml b/conda/zipp/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9ad7215b47b476a1d4de99de0d3887ea3427ae80
--- /dev/null
+++ b/conda/zipp/meta.yaml
@@ -0,0 +1,36 @@
+{% set name = "zipp" %}
+{% set version = "0.3.3" %}
+{% set file_ext = "tar.gz" %}
+{% set hash_type = "sha256" %}
+{% set hash_value = "55ca87266c38af6658b84db8cfb7343cdb0bf275f93c7afaea0d8e7a209c7478" %}
+
+package:
+  name: '{{ name|lower }}'
+  version: '{{ version }}'
+
+source:
+  fn: '{{ name }}-{{ version }}.{{ file_ext }}'
+  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.{{ file_ext }}
+  '{{ hash_type }}': '{{ hash_value }}'
+
+build:
+  number: 0
+  script: "{{ PYTHON }} -m pip install . --no-deps --ignore-installed --no-cache-dir -vvv"
+
+requirements:
+  host:
+    - pip
+    - python
+    - setuptools
+    - setuptools_scm
+  run:
+    - python
+
+about:
+  home: https://github.com/jaraco/zipp
+  license: MIT
+  license_family: MIT
+  summary: A pathlib-compatible Zipfile object wrapper.
+
+extra:
+  recipe-maintainers: sgaist
diff --git a/scripts/build.sh b/scripts/build.sh
index 0e8d6427190cb8121a603706060e5d8307d8c70d..5f9afadcc457aa98e1ebb44d12c9992e8521d1ae 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -46,6 +46,14 @@ PACKAGES+=('conda/flask-restful')
 PACKAGES+=('conda/bob-devel')
 PACKAGES+=('conda/beat-devel')
 PACKAGES+=('conda/black')
+PACKAGES+=('conda/aspy.yaml')
+PACKAGES+=('conda/cfgv')
+PACKAGES+=('conda/identify')
+PACKAGES+=('conda/zipp')
+PACKAGES+=('conda/importlib-metadata')
+PACKAGES+=('conda/importlib-resources')
+PACKAGES+=('conda/nodeenv')
+PACKAGES+=('conda/pre-commit')
 
 current=0