# Documentation content index

## [Concepts](concepts.md)

  - Dialog system
    - [Stateful multi-turn dialogues](concepts.md#stateful-multi-turn-dialogues)
    - [Architecture](concepts.md#architecture)

  - State-machine based dialog manager 
    - [Dialogue as a state-machine](concepts.mddialogue-as-a-state-machine)
    - [State tracker](concepts.md#state-tracker)

  - What is a dialog unit?
    - [Dialog Unit](concepts.md#dialog-unit)
    - [Coding a dialogue with a javascript domain specific language](concepts.md#coding-a-dialogue-with-a-javascript-domain-specific-language)
    - [Requests and responses](concepts.md#requests-and-responses)

  - Whats is an Application?
    - [Dialog application](concepts.md#dialog-application)
    - [Sessions](concepts.md#dialog-application)


## [Requests and responses message types](requestresponse.md)

- [Channel agnostic](requestresponse.md#channel-agnostic)
- [Message type agnostic](requestresponse.md#message-type-agnostic)

- [`Request` message data](request.md) 

- [`Response` message data](resposnse.md)
  - [Prompt callbacks (no-speech timeouts)](response.md#prompt-callbacks--no-speech-timeouts-)
  - [Reprompt policy](response.md#reprompt-policy)


## [Dialog application](application.md)

- [An application example (Telegram Bot)](application.md#an-application-example--telegram-bot-) 
- [Project examples](../examples)


## [Pattern Matching](patternmatching.md)

- [Pattern Matching Agnostic](patternmatching.md#pattern-matching-agnostic) 
- [Intent-based engines vs regexps](patternmatching.md#intent-based-engines-vs-regexps)
- [Regexp matching warnings](patternmatching.md#regexp-matching-warnings)


## [Sessions](sessions.md)

- [User session thread](sessions.md#user-session-thread)
- [Session id](sessions.md#session-id)
- [Session data storage](sessions.md#session-data-storage)
- [Session file example](sessions.md#session-file-example)

## [variables.md](variables.md)

## [Dialog Development Workflow](workflow.md)


## [NaifJs API cheat sheet](API.md)

## [`naif` command line interface tools](naif.md)

- [`naif`](naif.md#naif) 
- [`naif init`](naif.md#naif-init) 
- [`naif generate`](naif.md#naif-generate) 
- [`naif show`](naif.md#naif-show) 
- [`naif shell`](naif.md#naif-shell) 
- [`naif telegram`](naif.md#naif-telegram)


## [Discussion](discussion.md)

- [Pros and cons](discussion.md#pros-and-cons)
- [Food for thought](discussion.md#food-for-thought)
- [BackStory](discussion.md#backStory)
- [Acknowledgments](discussion.md#acknowledgments)

## [Contributing](contributing.md)

## [To do](todo.md)

[top](#) | [home](../README.md) | [index](index.md)
