# Guide

- [Getting started](https://cherrycake.tin.cat/version-0.x/guide/getting-started.md): A simple guide to build a simple "Hello world" application with Cherrycake.
- [Skeleton start](https://cherrycake.tin.cat/version-0.x/guide/getting-started/skeleton.md): Start a Cherrycake app using the pre-built skeleton, a simple "Hello world" web app ready to run.
- [Docker start](https://cherrycake.tin.cat/version-0.x/guide/getting-started/docker.md): Set up a development environment with a skeleton "Hello world" Cherrycake web app to start working in just a few minutes using Docker.
- [Modules guide](https://cherrycake.tin.cat/version-0.x/guide/modules-guide.md): Modules are the fundamental containers of functionality in Cherrycake apps.
- [Classes guide](https://cherrycake.tin.cat/version-0.x/guide/classes-guide.md): Classes contain the logic behind  the elemental objects that are used within a Cherrycake application.
- [Actions guide](https://cherrycake.tin.cat/version-0.x/guide/actions-guide.md): Actions is the routing core module of Cherrycake, and allows your application to receive requests and attend them accordingly.
- [Complex actions](https://cherrycake.tin.cat/version-0.x/guide/actions-guide/complex-routes.md)
- [Variable path components](https://cherrycake.tin.cat/version-0.x/guide/actions-guide/variable-path-components.md)
- [Accept GET or POST parameters](https://cherrycake.tin.cat/version-0.x/guide/actions-guide/accept-get-or-post-parameters.md)
- [Getting the URL of an action](https://cherrycake.tin.cat/version-0.x/guide/actions-guide/getting-the-url-of-an-action.md)
- [Cached actions](https://cherrycake.tin.cat/version-0.x/guide/actions-guide/cached-actions.md)
- [Brute force attacks](https://cherrycake.tin.cat/version-0.x/guide/actions-guide/brute-force-attacks.md)
- [Patterns guide](https://cherrycake.tin.cat/version-0.x/guide/patterns-guide.md): Patterns provides your HTML, CSS, JavaScript and other types of files with a dynamic template mechanism that brings performance, re-usability and code tidiness benefits.
- [Passing variables to a pattern](https://cherrycake.tin.cat/version-0.x/guide/patterns-guide/passing-variables-to-a-pattern.md)
- [Nested patterns](https://cherrycake.tin.cat/version-0.x/guide/patterns-guide/nested-patterns.md)
- [Cached patterns](https://cherrycake.tin.cat/version-0.x/guide/patterns-guide/cached-patterns.md)
- [Cache guide](https://cherrycake.tin.cat/version-0.x/guide/cache-guide.md): The Cache module provides your Cherrycake application with a standardized interface to implement caching and shared memory mechanisms into your App by connecting to multiple external cache providers.
- [Time To Live](https://cherrycake.tin.cat/version-0.x/guide/cache-guide/time-to-live.md)
- [Using cache](https://cherrycake.tin.cat/version-0.x/guide/cache-guide/using-cache.md)
- [Lists](https://cherrycake.tin.cat/version-0.x/guide/cache-guide/lists.md)
- [Queues](https://cherrycake.tin.cat/version-0.x/guide/cache-guide/queues.md)
- [Pools](https://cherrycake.tin.cat/version-0.x/guide/cache-guide/pools.md)
- [Database guide](https://cherrycake.tin.cat/version-0.x/guide/database-guide.md): The Database module provides your Cherrycake application with a standardized interface to connect to database servers like MySQL and MariaDB.
- [Basic queries](https://cherrycake.tin.cat/version-0.x/guide/database-guide/basic-queries.md)
- [Prepared queries](https://cherrycake.tin.cat/version-0.x/guide/database-guide/prepared-queries.md)
- [Cached queries](https://cherrycake.tin.cat/version-0.x/guide/database-guide/cached-queries.md)
- [Cache key naming](https://cherrycake.tin.cat/version-0.x/guide/database-guide/cache-key-naming.md)
- [Removing queries from cache](https://cherrycake.tin.cat/version-0.x/guide/database-guide/removing-queries-from-cache.md)
- [Items guide](https://cherrycake.tin.cat/version-0.x/guide/items-guide.md): Using Items in your Cherrycake application brings you many benefits when interacting with the primordial objects of your app, like optimized loading, storage, caching and embedded security mechanisms.
- [Item cache](https://cherrycake.tin.cat/version-0.x/guide/items-guide/item-cache.md): All the performance benefits of a cache system when working with Items.
- [Item lists](https://cherrycake.tin.cat/version-0.x/guide/items-guide/item-lists.md): Item lists are groups of Item objects retrieved from the database.
- [Items custom filters](https://cherrycake.tin.cat/version-0.x/guide/items-guide/items-custom-filters.md)
- [Items custom ordering](https://cherrycake.tin.cat/version-0.x/guide/items-guide/items-custom-ordering.md)
- [Mixing filters and ordering](https://cherrycake.tin.cat/version-0.x/guide/items-guide/mixing-filters-and-ordering.md)
- [Items with relationships](https://cherrycake.tin.cat/version-0.x/guide/items-guide/items-relationships.md)
- [Items cache](https://cherrycake.tin.cat/version-0.x/guide/items-guide/items-cache.md)
- [HtmlDocument guide](https://cherrycake.tin.cat/version-0.x/guide/htmldocument-guide.md)
- [Css and Javascript guide](https://cherrycake.tin.cat/version-0.x/guide/css-and-javascript-guide.md)
- [Modules injecting CSS and JavaScript](https://cherrycake.tin.cat/version-0.x/guide/css-and-javascript-guide/modules-injecting-css-and-javascript.md)
- [Session guide](https://cherrycake.tin.cat/version-0.x/guide/session-guide.md): The Session module provides a session tracking and session storage mechanism.
- [Login guide](https://cherrycake.tin.cat/version-0.x/guide/login-guide.md): The Login module provides a standardized method for implementing secure user identification workflows for web apps.
- [Creating a complete login workflow](https://cherrycake.tin.cat/version-0.x/guide/login-guide/creating-a-complete-login-workflow.md)
- [Locale guide](https://cherrycake.tin.cat/version-0.x/guide/locale-guide.md): The Locale module provides a mechanism to build apps that adapt to users using different languages, timezones, currencies and other local unit standards.
- [Multilingual texts](https://cherrycake.tin.cat/version-0.x/guide/locale-guide/multilingual-texts.md): Locale allows you to change the language of your app based on the selected locale.
- [Domain based site localization](https://cherrycake.tin.cat/version-0.x/guide/locale-guide/domain-based-site-localization.md)
- [Log guide](https://cherrycake.tin.cat/version-0.x/guide/log-guide.md)
- [Loading Log events from the database](https://cherrycake.tin.cat/version-0.x/guide/log-guide/loading-systemlog-events-from-the-database.md)
- [Stats guide](https://cherrycake.tin.cat/version-0.x/guide/stats-guide.md)
- [Stats events with additional dimensions](https://cherrycake.tin.cat/version-0.x/guide/stats-guide/stats-events-with-additional-dimensions.md)
- [Loading Stats events from the database](https://cherrycake.tin.cat/version-0.x/guide/stats-guide/loading-stats-events-from-the-database.md)
- [Janitor guide](https://cherrycake.tin.cat/version-0.x/guide/janitor-guide.md): The Janitor module allows an app to program tasks to be executed periodically.
- [Janitor tasks configuration files](https://cherrycake.tin.cat/version-0.x/guide/janitor-guide/janitor-tasks-configuration-files.md)
- [Command line interface](https://cherrycake.tin.cat/version-0.x/guide/cli.md)
- [Debugging](https://cherrycake.tin.cat/version-0.x/guide/debugging.md)


---

# 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://cherrycake.tin.cat/version-0.x/guide.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.
