# Workspace and project file structure An Angular CLI project is the foundation for both quick experiments and enterprise solutions. The CLI command `ng new` creates an Angular workspace in your file system that is the root for new projects, which can be apps and libraries. ## Workspaces and project files Angular 6 introduced the [workspace](guide/glossary#workspace) directory structure for Angular [projects](guide/glossary#project). A project can be a standalone *application* or a *library*, and a workspace can contain multiple applications, as well as libraries that can be used in any of the apps. The CLI command `ng new my-workspace` creates a workspace folder and generates a new app skeleton in an `app` folder within that workspace. Within the `app/` folder, a `src/` subfolder contains the logic, data, and assets. A newly generated `app/` folder contains the source files for a root module, with a root component and template. The `app/` folder also contains project-specific configuration files, end-to-end tests, and the Angular system modules. ``` my-workspace/ app/ e2e/ src/ node_modules/ src/ ``` When this workspace file structure is in place, you can use the `ng generate` command on the command line to add functionality and data to the initial app.