diff --git a/.changeset/thirty-coins-punch.md b/.changeset/thirty-coins-punch.md
new file mode 100644
index 0000000..b713ecb
--- /dev/null
+++ b/.changeset/thirty-coins-punch.md
@@ -0,0 +1,5 @@
+---
+"@plotday/sdk": patch
+---
+
+Changed: ActivityType.Task now has a default start of new Date()
diff --git a/README.md b/README.md
index d8c4aba..375a330 100644
--- a/README.md
+++ b/README.md
@@ -7,8 +7,8 @@
Plot Agent SDK
- The official SDK for building Plot agents -
- intelligent assistants that organize and prioritize your activities from all your apps.
+ The official SDK for building [Plot](https://plot.day) agents -
+ custom code that organize and prioritize all your messages, tasks, and apps.
## Packages
@@ -19,10 +19,15 @@
## Quick Start
+You'll need a [Plot account](https://plot.day) to deploy agents.
+
```bash
# Create a new agent
npx @plotday/sdk agent create
+# Connect your Plot account
+npx @plotday/sdk login
+
# Deploy your agent
cd my-agent
npm run deploy
diff --git a/sdk/README.md b/sdk/README.md
index 2e7f591..f1b3ebc 100644
--- a/sdk/README.md
+++ b/sdk/README.md
@@ -77,7 +77,6 @@ Activities are the core data type in Plot, representing tasks, events, and notes
await this.plot.createActivity({
type: ActivityType.Task,
title: "Review pull request",
- start: new Date(),
links: [
{
type: ActivityLinkType.external,
diff --git a/sdk/cli/templates/AGENTS.template.md b/sdk/cli/templates/AGENTS.template.md
index a70a577..08fc3d4 100644
--- a/sdk/cli/templates/AGENTS.template.md
+++ b/sdk/cli/templates/AGENTS.template.md
@@ -112,7 +112,6 @@ async activate(_priority: Pick) {
await this.plot.createActivity({
type: ActivityType.Task,
title: "Connect your account",
- start: new Date(),
links: [authLink],
});
}
@@ -124,7 +123,6 @@ async activate(_priority: Pick) {
const activity = await this.plot.createActivity({
type: ActivityType.Task,
title: "Setup",
- start: new Date(),
});
await this.set("setup_activity_id", activity.id);
@@ -200,7 +198,6 @@ async activate(_priority: Pick) {
const activity = await this.plot.createActivity({
type: ActivityType.Task,
title: "Connect Google account",
- start: new Date(),
links: [authLink],
});
@@ -383,32 +380,6 @@ try {
- **Clean up callbacks and stored state** - Delete callbacks and Store entries when no longer needed.
- **Handle missing auth gracefully** - Check for stored auth before operations.
-## Type Patterns
-
-### Entity Types
-
-Follow Plot's entity type patterns:
-
-```typescript
-export type Activity = {
- id: string; // Required
- type: ActivityType; // Required
- title: string | null; // Nullable (not optional)
- note: string | null; // Nullable (not optional)
- start: Date | string | null; // Nullable (not optional)
-};
-
-export type NewActivity = {
- type: Activity["type"]; // Only type is required
-} & Partial>;
-```
-
-This pattern distinguishes between:
-
-- Omitted fields (`undefined` in Partial types)
-- Explicitly set to null (clearing a value)
-- Set to a value
-
## Testing
Before deploying, verify:
diff --git a/sdk/src/common/calendar.ts b/sdk/src/common/calendar.ts
index 27834d9..ddd824d 100644
--- a/sdk/src/common/calendar.ts
+++ b/sdk/src/common/calendar.ts
@@ -71,7 +71,6 @@ export interface SyncOptions {
* type: ActivityType.Task,
* title: "Connect Google Calendar",
* links: [authLink],
- * start: new Date(),
* });
* }
*
diff --git a/sdk/src/plot.ts b/sdk/src/plot.ts
index 9c7b48a..721b670 100644
--- a/sdk/src/plot.ts
+++ b/sdk/src/plot.ts
@@ -198,7 +198,6 @@ export type ActivitySource = {
* type: ActivityType.Task,
* title: "Review budget proposal",
* author: { id: "user-1", name: "John Doe", type: AuthorType.User },
- * start: new Date(),
* end: null,
* priority: { id: "work", title: "Work" },
* // ... other fields
@@ -300,7 +299,6 @@ export type Activity = {
* const newTask: NewActivity = {
* type: ActivityType.Task,
* title: "Review pull request",
- * start: new Date(),
* links: [{
* title: "View PR",
* type: ActivityLinkType.external,