# Welcome

## Introduction

This guide will cover every aspect of the development workflow in use with the BaseCMS Website Framework. Whether you are a novice or experienced developer, by the end of this guide you should be able to make modifications to and create new features for your website. Ready to get started?

### Requirements

In addition to the tools and utilities used in this guide, a [GitHub account](https://github.com/join) is required to contribute & publish changes. If you'd just like to follow along with the guide for now, you don't have to create an account yet.

Not all tools are created equal! In this guide, we'll be showing examples using our preferred tools, such as IDE (VSCode), Git client (GitHub Desktop), or OS (MacOS). However, the BaseCMS Website Framework is platform- and tool-agnostic, so you can feel free to use anything you're comfortable with. You can find a selective list of common alternatives in the [tools & utilities section](https://docs.parameter1.com/basecms-websites/additional-resources/tools-and-utilities).

{% hint style="warning" %}
**Heads-up**! When there's a platform- or tool-specific feature we're explaining, we'll call it out like this.
{% endhint %}

### Getting help

Even the most experienced developer needs help sometimes. You can find code samples and advanced use cases in the left nav. If you still can't figure something out, you can [submit an issue](https://github.com/base-cms/base-cms/issues) on the project page, or reach out to us via email at <support@parameter1.com>.

## Choose your own adventure!

To continue with the guide, please select from the following options. If you have experience developing in Javascript and are comfortable setting up your own toolchain, the quick-start guide may be best for you!

{% content-ref url="getting-started/quick-start-guide" %}
[quick-start-guide](https://docs.parameter1.com/basecms-websites/getting-started/quick-start-guide)
{% endcontent-ref %}

If you'd like a more detailed approach (or maybe want to try out something new), check out the guide for new developers. In this guide, we'll cover setting up your development environment before getting into the details of using the framework.

{% content-ref url="getting-started/for-newer-developers" %}
[for-newer-developers](https://docs.parameter1.com/basecms-websites/getting-started/for-newer-developers)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.parameter1.com/basecms-websites/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
