Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
"changelog": ["./changelog-formatter.js", { "repo": "plotday/plot" }],
"changelog": [
"./changelog-formatter.js",
{
"repo": "plotday/plot"
}
],
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": ["@plotday/agent-*"]
"ignore": [
"@plotday/twist-*"
]
}
5 changes: 5 additions & 0 deletions .changeset/silver-eagles-grow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@plotday/twister": minor
---

Changed: BREAKING: Renamed to @plotday/twister
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,42 +4,42 @@
</a>
</p>
<h1 align="center">
Plot Agent Builder
🌪️ Twister, the Plot Twist Creator
</h1>
<p align="center">
The official package for building <a href="https://plot.day">Plot</a> agents -<br/>
custom code that organizes and prioritizes all your messages, tasks, and apps.
The official package for building <a href="https://plot.day">Plot</a> twists -<br/>
smart automations that organize and prioritize all your tasks, messages, and documents from all your apps and agents.
</p>

## Packages

- **[@plotday/agent](./builder)** - Core agent builder package with the `plot` command, agent and tool SDK, and built-in tools
- **[tools/](./tools)** - Additional tools for building agents, including integrations with popular services
- **[agents/](./agents)** - Full source code for several agents
- **[@plotday/twister](./twister)** - Core twist creator package with the `plot` command, twist and tool SDK, and built-in tools
- **[tools/](./tools)** - Additional tools for building twists, including integrations with popular services
- **[twists/](./twists)** - Full source code for several twists

## Quick Start

You'll need a [Plot account](https://plot.day) to deploy agents.
You'll need a [Plot account](https://plot.day) to deploy twists.

```bash
# Create a new agent
npx @plotday/agent create
# Create a new twist
npx @plotday/twister create

# Connect your Plot account
npx @plotday/agent login
npx @plotday/twister login

# Deploy your agent
cd my-agent
# Deploy your twist
cd my-twist
npm run deploy
```

## Documentation

See the [Agent Builder documentation](https://build.plot.day) for detailed guides and API reference.
See the [Twist Creator documentation](https://build.plot.day) for detailed guides and API reference.

## Changelog

See the [Agent Builder changelog](./builder/CHANGELOG.md) for version history and release notes.
See the [Twister changelog](./twister/CHANGELOG.md) for version history and release notes.

## License

Expand Down
26 changes: 13 additions & 13 deletions RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ This repository uses [Changesets](https://github.com/changesets/changesets) to m

## Package Versioning Strategy

- **Agent Builder** (`@plotday/agent`): Independent versioning
- **Twist Creator** (`@plotday/twister`): Independent versioning
- **Tools** (`@plotday/tool-*`): Independent versioning
- **Agents** (`@plotday/agent-*`): Not published, excluded from releases
- **Twists** (`@plotday/twist-*`): Not published, excluded from releases

Each package maintains its own version and can be released independently.

Expand All @@ -25,7 +25,7 @@ This will prompt you with:
1. **Which packages would you like to include?**

- Select the packages you've modified (use space to select, enter to confirm)
- Only builder and tools packages can be selected (agents are excluded)
- Only builder and tools packages can be selected (twists are excluded)

2. **What kind of change is this?**

Expand Down Expand Up @@ -79,7 +79,7 @@ The changeset file will be created in `.changeset/` with a random name like `.ch
- Builds all packages
- Publishes changed packages to npm
- Creates GitHub releases with changelogs
- Tags each release (e.g., `agent@0.9.1`, `tool-google-calendar@0.1.0`)
- Tags each release (e.g., `twister@0.9.1`, `tool-google-calendar@0.1.0`)

## GitHub Releases

Expand All @@ -89,7 +89,7 @@ When packages are published, GitHub releases are automatically created with the

Each package gets its own tag based on its directory structure:

- **Agent Builder**: `agent@0.9.1`
- **Twist Creator**: `twister@0.9.1`
- **Tools**: `tool-google-calendar@0.1.0`, `tool-outlook-calendar@0.1.0`, etc.

This tagging convention allows you to:
Expand All @@ -102,7 +102,7 @@ This tagging convention allows you to:

Each GitHub release includes:

- **Title**: Package name and version (e.g., `@plotday/agent@0.9.1`)
- **Title**: Package name and version (e.g., `@plotday/twister@0.9.1`)
- **Release Notes**: Automatically extracted from the package's CHANGELOG.md for that version
- **Assets**: None (packages are distributed via npm)

Expand All @@ -112,16 +112,16 @@ View all releases at: `https://github.com/plotday/plot/releases`

Or filter by package:

- Builder releases: Search for tags starting with `agent@`
- Builder releases: Search for tags starting with `twister@`
- Tool releases: Search for tags starting with `tool-`

### Manual GitHub Release

If you need to create a GitHub release manually after publishing:

```bash
# For Agent Builder
gh release create agent@0.9.1 --title "@plotday/agent@0.9.1" --notes "Release notes here"
# For Twist Creator
gh release create twister@0.9.1 --title "@plotday/twister@0.9.1" --notes "Release notes here"

# For a tool
gh release create tool-google-calendar@0.1.0 --title "@plotday/tool-google-calendar@0.1.0" --notes "Release notes here"
Expand All @@ -136,7 +136,7 @@ gh release create tool-google-calendar@0.1.0 --title "@plotday/tool-google-calen
```
- Fix calendar sync race condition causing duplicate events
- Add support for recurring events in Google Calendar integration
- BREAKING: Remove deprecated `createAgent()` function
- BREAKING: Remove deprecated `createTwist()` function
```

**Bad examples:**
Expand Down Expand Up @@ -198,7 +198,7 @@ git push
pnpm release

# 5. (Optional) Create GitHub release manually
gh release create agent@0.9.1 --title "@plotday/agent@0.9.1" --notes "Release notes"
gh release create twister@0.9.1 --title "@plotday/twister@0.9.1" --notes "Release notes"
```

⚠️ This should only be done in emergencies. The automated workflow is preferred.
Expand All @@ -211,8 +211,8 @@ gh release create agent@0.9.1 --title "@plotday/agent@0.9.1" --notes "Release no

### Changeset not detecting my package

**Problem:** You modified an agent package.
**Solution:** Agents are excluded from releases. No changeset needed for agent-only changes.
**Problem:** You modified a twist package.
**Solution:** Twists are excluded from releases. No changeset needed for twist-only changes.

### Version Packages PR has conflicts

Expand Down
10 changes: 0 additions & 10 deletions builder/src/agents-guide.ts

This file was deleted.

100 changes: 50 additions & 50 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
packages:
- builder
- twister
- tools/*
- agents/*
- twists/*

onlyBuiltDependencies:
- esbuild
2 changes: 1 addition & 1 deletion tools/gmail/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"clean": "rm -rf dist"
},
"dependencies": {
"@plotday/agent": "workspace:^"
"@plotday/twister": "workspace:^"
},
"devDependencies": {
"typescript": "^5.9.3"
Expand Down
4 changes: 2 additions & 2 deletions tools/gmail/src/gmail-api.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { NewActivity } from "@plotday/agent";
import { ActivityLinkType, ActivityType } from "@plotday/agent";
import type { NewActivity } from "@plotday/twister";
import { ActivityLinkType, ActivityType } from "@plotday/twister";

export type GmailLabel = {
id: string;
Expand Down
Loading