> For the complete documentation index, see [llms.txt](https://docs.atsign.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.atsign.com/dart-sdk.md).

# Dart SDK

- [Getting Started](https://docs.atsign.com/dart-sdk/getting-started.md)
- [Overview](https://docs.atsign.com/dart-sdk/getting-started/overview.md): Overview of the Dart SDK
- [Prerequisites](https://docs.atsign.com/dart-sdk/getting-started/prerequisites.md): Three things before you write any code
- [Quickstart](https://docs.atsign.com/dart-sdk/getting-started/quickstart.md): Two programs: one to onboard @alice (run once) and one to use the SDK (run any time after).
- [Our packages](https://docs.atsign.com/dart-sdk/getting-started/our-packages.md): Overview of our Dart packages published on pub.dev
- [Authentication](https://docs.atsign.com/dart-sdk/authentication.md)
- [Onboarding a new Atsign](https://docs.atsign.com/dart-sdk/authentication/onboarding-a-new-atsign.md): Learn how to do the initial onboard for an Atsign in your Dart application using AtAuth.onboard
- [Authenticating an existing Atsign](https://docs.atsign.com/dart-sdk/authentication/authenticating-an-existing-atsign.md): Learn how to do the initial onboard for an Atsign in your Dart application using AtAuth.authenticate
- [Create an AtClient instance](https://docs.atsign.com/dart-sdk/authentication/create-an-atclient-instance.md): The goal of authentication is to create a ready-to-use AtClient instance.
- [AtCollections](https://docs.atsign.com/dart-sdk/atcollections.md)
- [Introduction](https://docs.atsign.com/dart-sdk/atcollections/introduction.md): Learn about what an AtCollection is and ways you can build one.
- [Create AtCollection from domain object](https://docs.atsign.com/dart-sdk/atcollections/create-atcollection-from-domain-object.md): Learn how to create an AtCollection from a domain object you define
- [Create AtCollection from Dart primitive](https://docs.atsign.com/dart-sdk/atcollections/create-atcollection-from-dart-primitive.md): Learn how to create an AtCollection object that holds Dart primitives
- [AtCollection.create](https://docs.atsign.com/dart-sdk/atcollections/atcollection.create.md): AtCollection.create is for creating new items, if they don't already exist
- [AtCollection.upsert](https://docs.atsign.com/dart-sdk/atcollections/atcollection.upsert.md): AtCollection.upsert is for creating new items or updating existing items
- [AtCollection.getItems](https://docs.atsign.com/dart-sdk/atcollections/atcollection.getitems.md): AtCollection.getItems returns a list of CItems, which is helpful to know what items exist
- [AtCollection.get](https://docs.atsign.com/dart-sdk/atcollections/atcollection.get.md): AtCollection.get is for getting the value of a CItem
- [AtCollection.exists](https://docs.atsign.com/dart-sdk/atcollections/atcollection.exists.md): AtCollection.exists will check if a collection item exists cheaply
- [AtCollection.draft](https://docs.atsign.com/dart-sdk/atcollections/atcollection.draft.md): AtCollection.draft is used to build a CItem first and subsequent various operations with it afterwards
- [AtCollection.update](https://docs.atsign.com/dart-sdk/atcollections/atcollection.update.md): AtCollection.update is for updating existing CItems.
- [AtCollection.query](https://docs.atsign.com/dart-sdk/atcollections/atcollection.query.md): AtCollection.query is an easy way to filter and query collections.
- [AtCollection.delete](https://docs.atsign.com/dart-sdk/atcollections/atcollection.delete.md): AtCollection.delete to delete a CItem
- [AtCollection.watch](https://docs.atsign.com/dart-sdk/atcollections/atcollection.watch.md): Use AtCollection.watch
- [AtCollection.subCollection](https://docs.atsign.com/dart-sdk/atcollections/atcollection.subcollection.md): AtCollection.subCollection is useful when your data structure has a parent-child relationship.
- [Read receipts](https://docs.atsign.com/dart-sdk/atcollections/read-receipts.md): Read receipts are useful for when you share data and want to be notified for when it is read.
- [Events](https://docs.atsign.com/dart-sdk/events.md)
- [Notify and monitor](https://docs.atsign.com/dart-sdk/events/notify-and-monitor.md): In this page, we learn about AtClient.NotificationService and how to notify/monitor
- [AtRpcClient and AtRpc](https://docs.atsign.com/dart-sdk/events/atrpcclient-and-atrpc.md)
