# Add a New Solid Project
The code for this example is available on GitHub:
{% github-repository url="https://github.com/nrwl/nx-recipes/tree/main/solidjs" /%}
**Supported Features**
Because we are not using an Nx plugin for Solid, there are a few items we'll have to configure manually. We'll have to
configure our own build system. There are no pre-created Solid-specific code generators. And we'll have to take care of
updating any framework dependencies as needed.
{% pill url="/features/run-tasks" %}✅ Run Tasks{% /pill %}
{% pill url="/features/cache-task-results" %}✅ Cache Task Results{% /pill %}
{% pill url="/ci/features/remote-cache" %}✅ Share Your Cache{% /pill %}
{% pill url="/features/explore-graph" %}✅ Explore the Graph{% /pill %}
{% pill url="/ci/features/distribute-task-execution" %}✅ Distribute Task Execution{% /pill %}
{% pill url="/getting-started/editor-setup" %}✅ Integrate with Editors{% /pill %}
{% pill url="/features/automate-updating-dependencies" %}✅ Automate Updating Nx{% /pill %}
{% pill url="/features/enforce-module-boundaries" %}✅ Enforce Module Boundaries{% /pill %}
{% pill url="/features/generate-code" %}🚫 Use Code Generators{% /pill %}
{% pill url="/features/automate-updating-dependencies" %}🚫 Automate Updating Framework Dependencies{% /pill %}
## Install Solid and Other Dependencies
{% tabs %}
{% tab label="npm" %}
```shell
npm add solid-js
npm add -D solid-devtools vite-plugin-solid vite-tsconfig-paths
nx add @nx/web
```
{% /tab %}
{% tab label="yarn" %}
```shell
yarn add solid-js
yarn add -D solid-devtools vite-plugin-solid vite-tsconfig-paths
nx add @nx/web
```
{% /tab %}
{% tab label="pnpm" %}
```shell
pnpm add solid-js
pnpm add -D solid-devtools vite-plugin-solid vite-tsconfig-paths
nx add @nx/web
```
{% /tab %}
{% tab label="bun" %}
```shell
bun add solid-js
bun add -D solid-devtools vite-plugin-solid vite-tsconfig-paths
nx add @nx/web
```
{% /tab %}
{% /tabs %}
## Create an Application
We'll start with a web application and then tweak the settings to match what we need. Add a new web application to your
workspace with the following command:
```shell
nx g @nx/web:app apps/my-solid-app --bundler=vite
```
The `@nx/web:app` generator will create some files that are unnecessary for our Solid application.
The files and folders to be deleted are:
- `apps/my-solid-app/public/`
- `apps/my-solid-app/src/app/`
- `apps/my-solid-app/src/main.ts`
- `apps/my-solid-app/src/styles.css`
- `apps/my-solid-app/.babelrc`
### Turn the Application into a Solid Application
Now we'll create the files that are necessary to turn our application into a Solid application.
**Add the following files**
```tsx {% fileName="apps/my-solid-app/src/App.tsx" %}
import type { Component } from 'solid-js';
const App: Component = () => {
return (
);
};
export default App;
```
Now when you serve your application, you'll see the content from the library being displayed.
## More Documentation
- [@nx/vite](/nx-api/vite)
- [@nx/js](/nx-api/js)
- [@nx/web](/nx-api/web)
- [Solid](https://www.solidjs.com/)