diff --git a/docs/.gitbook/assets/C coming soon (1).png b/docs/.gitbook/assets/C coming soon (1).png new file mode 100644 index 0000000..465dad0 Binary files /dev/null and b/docs/.gitbook/assets/C coming soon (1).png differ diff --git a/docs/.gitbook/assets/C coming soon dark.png b/docs/.gitbook/assets/C coming soon dark.png new file mode 100644 index 0000000..bc6210d Binary files /dev/null and b/docs/.gitbook/assets/C coming soon dark.png differ diff --git a/docs/.gitbook/assets/C coming soon.png b/docs/.gitbook/assets/C coming soon.png new file mode 100644 index 0000000..492d18f Binary files /dev/null and b/docs/.gitbook/assets/C coming soon.png differ diff --git a/docs/.gitbook/assets/Dart_logo.png b/docs/.gitbook/assets/Dart_logo.png new file mode 100644 index 0000000..d091c28 Binary files /dev/null and b/docs/.gitbook/assets/Dart_logo.png differ diff --git a/docs/.gitbook/assets/Frame 109.svg b/docs/.gitbook/assets/Frame 109.svg new file mode 100644 index 0000000..ab569d3 --- /dev/null +++ b/docs/.gitbook/assets/Frame 109.svg @@ -0,0 +1,17 @@ + diff --git a/docs/.gitbook/assets/Frame 23.svg b/docs/.gitbook/assets/Frame 23.svg new file mode 100644 index 0000000..5d5c55c --- /dev/null +++ b/docs/.gitbook/assets/Frame 23.svg @@ -0,0 +1,28 @@ + diff --git a/docs/.gitbook/assets/Frame 51355.svg b/docs/.gitbook/assets/Frame 51355.svg new file mode 100644 index 0000000..7b7f317 --- /dev/null +++ b/docs/.gitbook/assets/Frame 51355.svg @@ -0,0 +1,4 @@ + diff --git a/docs/.gitbook/assets/Java coming soon dark.png b/docs/.gitbook/assets/Java coming soon dark.png new file mode 100644 index 0000000..3cd2892 Binary files /dev/null and b/docs/.gitbook/assets/Java coming soon dark.png differ diff --git a/docs/.gitbook/assets/Java coming soon.png b/docs/.gitbook/assets/Java coming soon.png new file mode 100644 index 0000000..b73f404 Binary files /dev/null and b/docs/.gitbook/assets/Java coming soon.png differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-10 at 7.29.16\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-10 at 7.29.16\342\200\257PM.png" new file mode 100644 index 0000000..ad546c2 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-10 at 7.29.16\342\200\257PM.png" differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-10 at 7.29.32\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-10 at 7.29.32\342\200\257PM.png" new file mode 100644 index 0000000..a811a58 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-10 at 7.29.32\342\200\257PM.png" differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-14 at 7.44.39\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-14 at 7.44.39\342\200\257PM.png" new file mode 100644 index 0000000..d1350a5 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-14 at 7.44.39\342\200\257PM.png" differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.24.27\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.24.27\342\200\257PM.png" new file mode 100644 index 0000000..76b9778 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.24.27\342\200\257PM.png" differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.25.34\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.25.34\342\200\257PM.png" new file mode 100644 index 0000000..36eafd0 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.25.34\342\200\257PM.png" differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.25.49\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.25.49\342\200\257PM.png" new file mode 100644 index 0000000..67a51e9 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.25.49\342\200\257PM.png" differ diff --git "a/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.26.31\342\200\257PM.png" "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.26.31\342\200\257PM.png" new file mode 100644 index 0000000..8b48b34 Binary files /dev/null and "b/docs/.gitbook/assets/Screenshot 2026-04-27 at 4.26.31\342\200\257PM.png" differ diff --git a/docs/.gitbook/assets/Untitled (1).png b/docs/.gitbook/assets/Untitled (1).png new file mode 100644 index 0000000..a37a4e4 Binary files /dev/null and b/docs/.gitbook/assets/Untitled (1).png differ diff --git a/docs/.gitbook/assets/Untitled (2).png b/docs/.gitbook/assets/Untitled (2).png new file mode 100644 index 0000000..0f7333a Binary files /dev/null and b/docs/.gitbook/assets/Untitled (2).png differ diff --git a/docs/.gitbook/assets/Untitled (3).png b/docs/.gitbook/assets/Untitled (3).png new file mode 100644 index 0000000..b516a5e Binary files /dev/null and b/docs/.gitbook/assets/Untitled (3).png differ diff --git a/docs/.gitbook/assets/Untitled.png b/docs/.gitbook/assets/Untitled.png new file mode 100644 index 0000000..5a95fbf Binary files /dev/null and b/docs/.gitbook/assets/Untitled.png differ diff --git a/docs/README.md b/docs/README.md index 67ea9ea..062e7bd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -9,8 +9,28 @@ coverHeight: 333 # Welcome -### New to Atsign? +### Atsign Documentation -Start exploring by choosing a topic below or browse the Table of Contents. +Welcome to the Atsign documentation. Here you’ll find everything you need to understand the atPlatform, explore its core technologies, and start building secure, private applications and workflows. Choose a topic below to begin. -
| Cover image | Cover image (dark) | |||
|---|---|---|---|---|
| AI Architect Walkthrough | This tutorial guides you through creating, loading, and exporting an app blueprint using AI Architect, then using that blueprint to generate and run an atPlatform app in your IDE. | atArchitect.svg | Hero - atarchitect - dark.svg | https://docs.atsign.com/tutorials/ai-architect-walkthrough |
| Core Technology | High-level tour of the atPlatform: how Atsigns, the atPlatform Protocol, and atServers work together. | Core Technology.svg | Core Technology-dark.svg | https://docs.atsign.com/~/revisions/kPoFwMVlM1fLY2MMGYLD/core |
| atSDKs | A practical introduction to the atSDK. Everything you need to build, authenticate, and exchange data across apps, devices, and environments. | atSDK.svg | atSDK-dark.svg | https://docs.atsign.com/~/revisions/kPoFwMVlM1fLY2MMGYLD/sdk |
| NoPortsTM | See how NoPorts applies the atPlatform to deliver secure, zero-trust connectivity without open ports or VPNs. | NoPorts.svg | NoPorts-dark.svg | https://www.noports.com/ |
| GitHub ↗ | See how the atPlatform is built and join the development on our GitHub. | GitHub.svg | GitHub-dark.svg | https://github.com/atsign-foundation |
| atsign.com ↗ | Learn more about the technology behind secure, private communications between people, entity, and things. | atsign.svg | atsign-dark.svg | https://atsign.com/ |
| Cover image | Cover image (dark) | |||
|---|---|---|---|---|
| AI ArchitectTM | Explore how to visually map out secure apps and workflows and export a LLM prompts that generate apps on the atPlatform. | atArchitect.svg | Hero - atarchitect - dark.svg | ai-architect-overview |
| Core Technology | High-level tour of the atPlatform: how Atsigns, the atPlatform Protocol, and atServers work together. | Core Technology.svg | Core Technology-dark.svg | core |
| atSDK | A practical introduction to the atSDK. Everything you need to build, authenticate, and exchange data across apps, devices, and environments. | atSDK.svg | atSDK-dark.svg | sdk |
| NoPorts TM ↗ | See how NoPorts applies the atPlatform to deliver secure, zero-trust connectivity without open ports or VPNs. | NoPorts.svg | NoPorts-dark.svg | https://docs.noports.com/ |
| GitHub ↗ | See how the atPlatform is built and join the development on our GitHub. | GitHub.svg | GitHub-dark.svg | https://github.com/atsign-foundation |
| atsign.com ↗ | Learn more about the technology behind secure, private communications between people, entity, and things. | atsign.svg | atsign-dark.svg | https://atsign.com/ |
| Node | Description | When to use | Example |
|---|---|---|---|
:user: Person stakeholders | You want to model people's actions, permissions, or decision points. | A person logging into an admin dashboard, approving a workflow, or sending a secure message. | |
| :head-side-circuit: AI Agent AI Agent | You want to model automated reasoning, decision-making, or actions performed by an AI system. | An AI agent triaging support tickets, summarizing documents, or autonomously executing a multi-step workflow | |
:diamond: Entity Businesses, groups of people, etc. | You need access for companies, tenants, departments, identity domains. | A healthcare provider, an insurance company, or a tenant account applying its own access rules. | |
:cube: Thing Physical or digital objects/devices | You’re modelling hardware, IoT devices, sensors, servers, or edge components. | A smart meter sending readings, a kiosk receiving updates, or a server reporting health status. | |
| :gear: Process Anything that processes, runs, or executes: an app, service, or workflow | You want to show business logic, transformations, or background tasks. | A data validation step, a policy enforcement engine, or a message-routing workflow. | |
| :rectangle: API External systems or platform integrations | You’re integrating with third-party services or exposing functionality programmatically. | A payment processor API, mapping service, or internal microservice endpoint. | |
| :plus: Other Custom node type for anything else | You need to include concepts like storage, policies, models, or abstract systems. | A policy store, encryption module, AI model, or logging system. |
| Connection | Description | When to use | Example |
|---|---|---|---|
Default | Unsure? Let the LLM decide. | You're unsure which communication pattern fits, or the interaction doesn't clearly map to a specific type. | The LLM infers the best pattern based on context and intent |
Async Comms
| Asynchronous, non-blocking communication where the sender does not wait for a response and the receiver does not need to be online. Uses | Really handy if you cannot guarantee both the sender/ receiver will be online at the same time. | A device uploads data that is processed later, or a message is delivered when the recipient comes online. |
Sync Comms
| Synchronous communication where the sender waits for an immediate response. Uses | You need real-time interaction or confirmation. | A user request that must return a result immediately, like fetching account details. |
Notifications
| One-way signals used to alert or inform. Uses | You need to notify without requiring a response. | Push notifications, system alerts, or status updates sent to users or services. |
RPC
| Structured request/response interactions between systems. Supported in the | You want function-like calls across services with clear inputs and outputs. | Calling a billing service to calculate charges or a policy engine to validate access. |
Data Stream
| Ideal for long-running processes (such as LLM generation) where completion time is uncertain and results may need to stream incrementally. Uses the stream (Read more here) semanticsor notifications (Read more here) semantics. | You’re handling live, ongoing data rather than discrete messages | Telemetry feeds, sensor data, logs, or real-time analytics pipelines. |
TCP
| Low-level, persistent network connections that enable lower latency communication (e.g., NoPorts SSH, MCP servers).
| You need a fast end-to-end encrypted TCP connection with raw network speed. | A custom protocol, legacy integration, or long-lived secure connection. |
| Cover image | ||
|---|---|---|
| Getting Started with AI Architect Secure Messaging App A quick walkthrough showing how to open the tool, load a sample blueprint, generate a prompt, and use it to build your first app end‑to‑end. | Untitled (3).png | getting-started-with-ai-architect.md |
| How to Think When Creating a Blueprint Grocery List App A focused guide that starts with a sample blueprint and expands it, detailing you how to map your own blueprint so the LLM builds the app you intend. | Untitled (2).png | how-to-think-when-creating-a-blueprint.md |




+{% endtab %}
+{% endtabs %}
+
+### Common Mistakes
+
+
Highly available design

Highly available design

resilient atServer Cluster

resilient atServer Cluster
| Cover image | Cover image (dark) | Cover image (dark) | ||
|---|---|---|---|---|
| Dart atSDK Walkthrough | Dart_logo.png | atsdk-tutorial | ||
| C atSDK Walkthrough Coming Soon | C coming soon (1).png | C coming soon dark.png | C coming soon dark.png | |
| Java atSDK Walkthrough Coming Soon | Java coming soon.png | Java coming soon dark.png |



talking atSigns

talking atSigns
.png)
.png)

Clone code from GitHub

Clone code from GitHub

dart pub get

dart pub get

Ready to run.

Ready to run.
.png)
.png)

RPC

RPC
.png)
.png)

Message received.

Message received.

to get to the Extensions screen press "Control Shift X" then add Dart

to get to the Extensions screen press "Control Shift X" then add Dart
| Link | Description |
|---|---|
| get-started.md | Setup the atSDK for your preferred language |
| onboarding.md | How to authenticate to an atServer |
| atid-reference.md | Learn how to create atKeys for your chosen platform |
| crud-operations.md | How to do basic CRUD operations on an atServer |
| events.md | How to send and receive real-time messages |
| synchronization | Implementation specific features to know about |
| Link | Description |
|---|---|
| get-started.md | Setup the atSDK for your preferred language |
| onboarding.md | How to authenticate to an atServer |
| atid-reference.md | Learn how to create atKeys for your chosen platform |
| crud-operations.md | How to do basic CRUD operations on an atServer |
| events.md | How to send and receive real-time messages |
| synchronization | Implementation specific features to know about |
| Card | Description | When to use | Example |
|---|---|---|---|
| :user: Person Customers or stakeholders | You want to model people's actions, permissions, or decision points. | A person logging into an admin dashboard, approving a workflow, or sending a secure message. | |
:diamond: Entity Business entities or AIs | You need access for AI agents, companies, tenants, departments, identity domains. | A healthcare provider, an insurance company, or a tenant account applying its own access rules. | |
:cube: Thing Physical or digital objects/devices | You’re modelling hardware, IoT devices, sensors, servers, or edge components. | A smart meter sending readings, a kiosk receiving updates, or a server reporting health status. | |
| :gear: Process Business processes or Agentic workflows | You want to show business logic, transformations, or background tasks. | A data validation step, a policy enforcement engine, or a message-routing workflow. | |
| :rectangle: API External systems or platform integrations | You’re integrating with third-party services or exposing functionality programmatically. | A payment processor API, mapping service, or internal microservice endpoint. | |
| :plus: Other Custom node type for anything else | You need to include concepts like storage, policies, models, or abstract systems. | A policy store, encryption module, AI model, or logging system. |
Async Comms
| Asynchronous, non-blocking communication where the sender does not wait for a response and the receiver does not need to be online. Uses | Really handy if you cannot guarantee both the sender/ receiver will be online at the same time. | A device uploads data that is processed later, or a message is delivered when the recipient comes online. |
Sync Comms
| Synchronous communication where the sender waits for an immediate response. Uses | You need real-time interaction or confirmation. | A user request that must return a result immediately, like fetching account details. |
Notifications
| One-way signals used to alert or inform. Uses | You need to notify without requiring a response. | Push notifications, system alerts, or status updates sent to users or services. |
RPC
| Structured request/response interactions between systems. Supported in the | You want function-like calls across services with clear inputs and outputs. | Calling a billing service to calculate charges or a policy engine to validate access. |
Data Stream
| Ideal for long-running processes (such as LLM generation) where completion time is uncertain and results may need to stream incrementally. Uses the stream (Read more here) semanticsor notifications (Read more here) semantics. | You’re handling live, ongoing data rather than discrete messages | Telemetry feeds, sensor data, logs, or real-time analytics pipelines. |
TCP
| Low-level, persistent network connections that enable lower latency communication (e.g., NoPorts SSH, MCP servers).
| You need a fast end-to-end encrypted TCP connection with raw network speed. | A custom protocol, legacy integration, or long-lived secure connection. |