# Expo Module Development Guide > **Warning:** This doc is outdated and will be updated soon. - [Generating a new module using `expo-cli` command](#generating-a-new-module-using-expo-cli-command) - [The Standard Configuration](#the-standard-configuration) - [npm Scripts](#npm-scripts) - [Auto-generated Configuration Files](#auto-generated-configuration-files) - [Directory Structure](#directory-structure) - [Compiling TypeScript](#compiling-typescript) - [Fast Unit Tests](#fast-unit-tests) - [package.json Fields](#packagejson-fields) This guide explains the standard configuration and tools for working on modules in this repository. One of our goals is to write a coherent, high-quality SDK that is consistent across APIs and stays reliable in a way that is sustainable for the Expo team. Another goal is to reuse knowledge from working on one module and apply it to others by reducing disparity and fragmentation between modules. Expo has many modules and we need to keep Expo and working on Expo simple. # Generating a new module using `expo-cli` command `expo-cli` has specific command that would generate module that support TypeScript! Run: - `expo generate-module [new module directory]` - optional `[new module directory]` parameter lets you specify module name (e.g. `expo generate-module expo-test-module` would create `expo-test-module`. If ommited, the script will prompt you about it. - optional `--template