# Welcome

Package macaron is a high productive and modular web framework in Go. It takes basic ideology of [Martini](https://github.com/go-martini/martini) and extends in advance.

{% hint style="info" %}
The minimum requirement of Go is **1.6**.
{% endhint %}

## Quick Start

To install Macaron:

```
go get gopkg.in/macaron.v1
```

The very basic usage of Macaron:

```go
package main

import "gopkg.in/macaron.v1"

func main() {
    m := macaron.Classic()
    m.Get("/", func() string {
        return "Hello world!"
    })
    m.Run()
}
```

## Features

* Powerful routing with suburl.
* Flexible routes combinations.
* Unlimited nested group routers.
* Directly integrate with existing services.
* Dynamically change template files at runtime.
* Allow to use in-memory template and static files.
* Easy to plugin/unplugin features with modular design.
* Handy dependency injection powered by [inject](https://github.com/codegangsta/inject).
* Better router layer and less reflection make faster speed.

## Use Cases

* [Gogs](https://gogs.io): A painless self-hosted Git Service
* [Grafana](http://grafana.org/): The open source analytics & monitoring solution for every database
* [Peach Docs](https://peachdocs.org): A modern documentation web server
* [Go Walker](https://gowalker.org): Go online API documentation
* [Intel Stack](https://intelstack.com/): A 100% free intelligence marketplace

## Getting More

* New to Macaron? Check out the [Starter Guide](https://go-macaron.com/starter_guide)!
* [Middlewares](https://go-macaron.com/middlewares) that are built for Macaron.
* Have any questions? Maybe there are [answers](https://go-macaron.com/faqs) for you!
* If you think anything is not clear in the documentation, just [file an issue](https://github.com/go-macaron/docs/issues)!


---

# 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://go-macaron.com/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.
