diff --git a/docs/get-started/installation.mdx b/docs/get-started/installation.mdx
index 435b1d614..f40ad067a 100644
--- a/docs/get-started/installation.mdx
+++ b/docs/get-started/installation.mdx
@@ -6,7 +6,7 @@ description: 'Basic installation instructions for the Nitric Framework'
## Prerequisites
-Nitric relies on functionality from the following projects to help retrieve plugins, containerize and deploy your application.
+Nitric relies on functionality from the following projects to help retrieve plugins, containerize, and deploy your application.
Please follow these links to the official installation steps for each.
- [Git](https://git-scm.com/)
@@ -15,9 +15,9 @@ Please follow these links to the official installation steps for each.
- [Pulumi](https://www.pulumi.com/docs/cli/) _(for deployments, only needed if using the default providers)_
- When setting up docker on Linux be sure to follow the [post-installation
+ When setting up Docker on Linux be sure to follow the [post-installation
steps](https://docs.docker.com/engine/install/linux-postinstall/) so you can
- run docker as a non-root user.
+ run Docker as a non-root user.
## Installing the Nitric CLI
@@ -93,5 +93,5 @@ You can view the CLI release notes on our [CLI GitHub Releases page](https://git
## What's next
-- Start building with the [quick start guide](./get-started/quickstart).
-- Checkout out the [foundations](/foundations/why-nitric) section for a more detailed introduction to Nitric.
+- Start building with the [quick start guide](/get-started/quickstart).
+- Checkout out the [foundations](/get-started/foundations/why-nitric) section for a more detailed introduction to Nitric.
diff --git a/docs/get-started/quickstart.mdx b/docs/get-started/quickstart.mdx
index de48515cd..63ba26874 100644
--- a/docs/get-started/quickstart.mdx
+++ b/docs/get-started/quickstart.mdx
@@ -37,7 +37,7 @@ curl -L "https://nitric.io/install?version=latest" | bash
For more installation options and dependency information review the full
- [installation guide](/getting-started/installation).
+ [installation guide](/get-started/installation).
## Using the `new` command
@@ -118,8 +118,8 @@ npm install
cd hello-world
# We recommend using [Pipenv](https://pipenv.pypa.io/en/latest/) for dependency and virtual environments
-# We have included it in our python templates.
-# Installation instructions: https://pipenv.pypa.io/en/latest/installation/#preferred-installation-of-pipenv
+# We have included it in our python templates.
+# Installation instructions: https://pipenv.pypa.io/en/latest/installation/#preferred-installation-of-pipenv
pipenv install --dev
```
@@ -226,7 +226,7 @@ Your project should now look like this:
## Running your app
-Nitric provides a local development server offering emulated versions of cloud services, suitable for local development/testing. You can use the Nitric CLI to start the local server using the `nitric start` command.
+Nitric provides a local development environment offering emulated versions of cloud services, suitable for local development/testing. You can use the Nitric CLI to start your application and the local environment using the `nitric start` command.
```bash
nitric start
@@ -234,47 +234,27 @@ nitric start
Nitric will automatically run your application using the service start script, this is located in your `nitric.yaml`.
-After your service is running, it will register itself with the server. All the APIs are locally hosted on their own port, which will be displayed in the CLI output as `http://localhost:`.
+```yaml title:nitric.yaml
+name: example
+services:
+ - match: services/*.ts
+ start: npm run dev:services $SERVICE_PATH
+```
+
+All the APIs are locally hosted on their own port, which will be displayed in the CLI output as `http://localhost:`.
-The output will also show the local dashboard URL, the dashboard will automatically refresh with API details and other useful tools for building your application.
+The output will also show the [local dashboard](/get-started/foundations/projects/local-development#local-dashboard) URL, the dashboard will automatically refresh with details about your resources and tools to interact with each of them.
-Once the API is registered, you can test the API using any HTTP client, your browser, or the [local dashboard](/getting-started/local-dashboard):
+Once the API is registered, you can test the API using any HTTP client, your browser, or the [local dashboard](/get-started/foundations/projects/local-development#local-dashboard):
```bash
curl http://localhost:4001/hello/John
Hello John
```
-## Your local dashboard
-
-Access the [local development dashboard](./local-dashboard) by opening the URL and port displayed in the CLI output.
-
-The development dashboard is a powerful tool designed to help you move faster when developing new features. With the API explorer, you can easily access automatically generated endpoints and path params. Additionally, the Schedules Explorer allows you to trigger your schedules with ease, making it easier than ever to stay on top of your tasks. Make the most of your local development process with this essential tool.
-
-Watch this brief video to see the development dashboard in action. You'll get a firsthand look at how the dashboard streamlines your development process by showcasing the [debugging](/guides/nodejs/debugging) of APIs and schedules in the popular code editor, VS Code.
-
-
-
-
- The video currently showcases v0 of the local dashboard and will be updated
- soon.
-
-
## Making updates
-Nitric's language templates enable hot-reloading by default, so at this point, you can start making changes to services and see what happens.
-
-Start by opening the `hello` service in your editor and adding a new route to the API, then save, and execute the file:
+At this point, you can start making changes to services. Start by opening the `hello` service in your editor and adding a new route to the API:
@@ -397,17 +377,17 @@ void main() {
Depending on the language you choose the template may support hot-reloading,
- if not you'll need to restart the service.
+ if not you'll need to restart the `nitric start` command.
-After saving the file, the new route will be registered and you can test it:
+After making the change, the new route will be registered and you can test it:
```bash
curl http://localhost:4001/goodbye/John
Goodbye John
```
-When you're finished testing, you can stop your application and the Nitric Server.
+When you're finished testing, you can stop the application.
## Deploying the app
@@ -415,13 +395,13 @@ Now that you've implemented a basic API and tested that it works, you can deploy
The first step is to set up your credentials for the cloud provider.
-- [AWS](/reference/providers/aws)
-- [Azure](/reference/providers/azure)
-- [GCP](/reference/providers/gcp)
+- [AWS](/providers/pulumi/aws)
+- [Azure](/providers/pulumi/azure)
+- [GCP](/providers/pulumi/gcp)
-You'll then need to create a [stack](/reference/cli#stacks) that represents your project and a deployment target.
+You'll then need to create a [stack](/get-started/foundations/deployment#stacks) that represents your project and a deployment target.
-The `stack new` command below will create a stack named `dev` that uses the `aws` provider.
+The `nitric stack new` command below will create a stack named `dev` that uses the `aws` provider.
```bash
nitric stack new dev aws
@@ -446,5 +426,4 @@ nitric down
# What's next?
- Learn more about [APIs](/apis)
-- See other features in the [introduction](/#building-blocks)
- Learn more about the [foundations](/foundations/projects) of Nitric
diff --git a/docs/index.mdx b/docs/index.mdx
index eaefee479..3924668f5 100644
--- a/docs/index.mdx
+++ b/docs/index.mdx
@@ -97,7 +97,7 @@ void main() {
-If you're familiar Nitric already, you might want to jump to the [Installation](/getting-started/installation), [Guides](/guides) or [Resources](/apis) sections. Otherwise, keep reading to learn more about Nitric.
+If you're familiar Nitric already, you might want to jump to the [Installation](/get-started/installation), [Guides](/guides) or [Resources](/apis) sections. Otherwise, keep reading to learn more about Nitric.
---
@@ -112,7 +112,7 @@ services:
start: npm run dev:services $SERVICE_PATH
```
-You might have one service that handles everything, or a service for each route. It's up to you. Every matched service becomes a container, allowing them run and scale independently.
+You might have one service that handles everything, or a service for each route. It's up to you. Every matched service becomes a container, allowing them to run and scale independently.
---
@@ -153,9 +153,7 @@ import (
func main() {
profiles, _ := nitric.NewBucket("profiles").Allow(nitric.BucketRead, nitric.BucketWrite, nitric.BucketDelete)
- if err := nitric.Run(); err != nil {
- fmt.Println(err)
- }
+ nitric.Run()
}
```
@@ -369,7 +367,7 @@ curl -L "https://nitric.io/install?version=latest" | bash
Nitric has a few dependencies, like Docker, which you can read about in the
- [Installation](/getting-started/installation) section.
+ [Installation](/get-started/installation) section.
### New
@@ -389,8 +387,9 @@ nitric start
```
- Start also emulates the resources you requested, so you can test your app
- locally. And provides a Dashboard UI to interact with the resources.
+ Start also emulates the resources you requested, so you can [test your app
+ locally](/get-started/foundations/projects/local-development). And provides a
+ Dashboard UI to interact with the resources.
### Deploy
@@ -512,47 +511,26 @@ print(response.contents);
-### Manual Install
+### Overriding
-Alternatively, you can download pre-compiled binaries from the [releases](https://github.com/nitrictech/cli/releases) page and install them manually.
+If you need to change how Nitric deploys a resources or how it interacts with a service at runtime, you can [extend or modify a provider](/providers/custom/extend).
-## Update to the latest version
-
-
-
-
-
-```bash
-brew upgrade nitric
-```
-
-
-
-
-
-```bash
-scoop update nitric
-```
-
-
-
-
-
-```bash
-curl -L "https://nitric.io/install?version=latest" | bash
-```
+
+ For example, here's a [project that swaps SNS for
+ EventBridge](https://github.com/jyecusch/iac-ifc-comparison) on AWS.
+
-
+### Full Customization
-
+If you need to deploy to a new platform or new set of services that Nitric doesn't support, you can [build your own provider](/providers/custom/create). This is a bit more advanced, but it's the ultimate escape hatch.
-You can easily check which version you're on by running `nitric version`.
+The included providers are written in Go and built using Terraform or Pulumi, but you can use any language or tool you like.
-## Release notes
+### Additional Resources
-You can view the CLI release notes on our [CLI GitHub Releases page](https://github.com/nitrictech/cli/releases).
+If you need to use a service/resource that Nitric doesn't support, you do that like you always would. Nitric doesn't get in the way of you using the cloud, it just makes it easier.
## What's next
-- Start building with the [quick start guide](./get-started/quickstart).
-- Checkout out the [foundations](/foundations/why-nitric) section for a more detailed introduction to Nitric.
+- Start building with the [quick start guide](/get-started/quickstart).
+- Checkout out the [foundations](/get-started/foundations/why-nitric) section for a more detailed introduction to Nitric.