---
title: Overview
description: Instant Open Source docs with zero configuration.
---

![SherpaJS Logo](/assets/logos/logo-large-dark.png)

## What is SherpaJS?
SherpaJS is a **modular and agnostic serverless JavaScript web framework,** that
allows developers to easily build backend serverless web applications. Using a
directory-based structure, inspired by NextJS, developers can define
endpoints or import modules to execute code. Modules allow developers to easily
reuse sets of endpoints and deploy them on their own servers - for example
analytics, authentication, and release systems ([Community Modules](/#community-modules)).
SherpaJS servers can then be compiled to a variety of different serverless
platforms including Vercel Serverless and local Server
([Supported Platforms](/#supported-platforms)).

<Warning>
    This project is in early development, so it is possible for you to run
    into issues. If you run into any issues please just create a
    [new issue](https://github.com/sellersindustry/SherpaJS/issues) and
    link your code. Feel free to debug or update the code!
</Warning>


<br/>


## Primary Features
The main features of SherpaJS include:

 * **Routing** - A file-based routing system that supports dynamic routes,
    loading modules, and rendering HTML.
 * **Modules** - Build and utilize pre-build sets of endpoints that can
    be configured and loaded at specific routes.
 * **Agnostic Deployment** - Build your serverless applications to numerous
    serverless platforms including Vercel. *AWS Lambda coming soon.*
 * **Rendering** - Render static HTML at specific routes. *Templated HTML and
    Vue coming later.*
 * **Static Files** - Serve static files and access static files from endpoints.

We are constantly adding new features and have plenty of amazing things planned
for the future including: documentation generation, SDK client generation, and
admin panels.


<br/>


## Community Modules
A list of some of the community modules for SherpaJS, with more coming all
the time! If you make a module,
[let us know](https://github.com/sellersindustry/SherpaJS/issues)!

| Module | Description |
|---|---|
| [Static Flags](https://github.com/sellersindustry/SherpaJS-static-flags) | Create static flags of booleans, strings, or numbers |
| [Events](https://github.com/sellersindustry/SherpaJS-events) | Create event sending endpoints for analytics platforms like PostHog using [Metadapter Events](https://github.com/sellersindustry/metadapter-event) |


<br/>


## Supported Platforms
The current platforms that SherpaJS supports, with more to come in the future!
 * Vercel Edge Functions
 * Local


<br/>


## Deploy a Server
SherpaJS can compile to various different web platforms, with more to come
later. Want to support a new framework? [Submit a Ticket](https://github.com/sellersindustry/SherpaJS/issues).
See the [build command](/api/cli#build-command) to compile to each platform.


<br/>


### Vercel Edge Functions
Building to Vercel will generate a Vercel serverless server in the `.vercel`
directory relative to your output. When your SherpaJS server repository is
deployed Vercel this folder will automatically be deployed. Ensure your build
command is set to build SherpaJS with the Vercel bundler.


<br/>


### Local Server
Building to local server will generate a NodeJS server, that utilizes the built
in HTTP service. This server will be located at the `.sherpa/index.js` relative
to your output. You can start the server using
[`sherpa start`](/api/cli#start-command).
