-
Notifications
You must be signed in to change notification settings - Fork 4
fix(calendar): PR #154 review fixes — delete safety, full undo, bounded stack #155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
37e8d70
fix(calendar): address PR #154 review feedback
steve8708 1d7620e
fix: calendar quick-edit cleanup, agent panel & content editor improv…
steve8708 2fcf1db
feat(calendar): extract QuickEditPopover component + compose toolbar …
steve8708 9330094
fix: AgentPanel loading stuck on error, agents saved as shared scope
steve8708 e7a792f
fix: stop mail nitro task spam + integrations plugin crash on auto-mount
steve8708 24fd3c8
fix: 9 bugs + add slash commands and DEVELOPMENT.md
steve8708 a78b585
fix: address PR review feedback — blur listener leak, toolbar dismiss…
steve8708 c2e8180
fix: update mail-jobs plugin imports after tasks/ dir removed in main
steve8708 563656c
ci: retrigger Cloudflare builds
steve8708 243256c
fix: remove Smart Placement from slides worker (incompatible with CF …
steve8708 669e758
fix: createRequire patch regex fails on minified $ in variable names
steve8708 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,124 @@ | ||
| # Development Guide | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - **Node.js** >= 22 (v24+ recommended) | ||
| - **pnpm** >= 10 (`corepack enable` to use the version pinned in templates) | ||
|
|
||
| ## Getting Started | ||
|
|
||
| ```bash | ||
| git clone https://github.com/BuilderIO/agent-native.git | ||
| cd agent-native/framework | ||
| pnpm install | ||
| ``` | ||
|
|
||
| The `postinstall` script automatically builds `@agent-native/core` and `@agent-native/pinpoint`, which other packages depend on. | ||
|
|
||
| ## Development | ||
|
|
||
| ### Run all template apps | ||
|
|
||
| ```bash | ||
| pnpm run dev:all | ||
| ``` | ||
|
|
||
| This builds core first, then starts every template app in parallel on sequential ports. | ||
|
|
||
| ### Run a single package or template | ||
|
|
||
| ```bash | ||
| pnpm --filter mail dev # run the mail template | ||
| pnpm --filter calendar dev # run the calendar template | ||
| pnpm --filter @agent-native/core dev # watch-build core | ||
| pnpm --filter @agent-native/docs dev # run the docs site | ||
| ``` | ||
|
|
||
| ### Electron desktop app | ||
|
|
||
| ```bash | ||
| pnpm run dev:electron # run the desktop app | ||
| pnpm run dev:electron:apps # run with template apps | ||
| ``` | ||
|
|
||
| ## Workspace Structure | ||
|
|
||
| This is a pnpm monorepo. Workspaces are defined in `pnpm-workspace.yaml`. | ||
|
|
||
| ### Packages (`packages/`) | ||
|
|
||
| | Package | Description | | ||
| | ------------------- | ---------------------------------------------------------------------------------------------- | | ||
| | `core` | Core framework library (`@agent-native/core`) -- CLI, server plugins, agent tools, Vite plugin | | ||
| | `desktop-app` | Electron desktop app | | ||
| | `mobile-app` | Mobile app | | ||
| | `docs` | Documentation site | | ||
| | `pinpoint` | Pinpoint package | | ||
| | `shared-app-config` | Shared app configuration | | ||
|
|
||
| ### Templates (`templates/`) | ||
|
|
||
| Production-ready template apps that demonstrate the framework. Each template is a standalone app with its own `package.json`, Drizzle schema, actions, and UI. | ||
|
|
||
| Templates: `analytics`, `calendar`, `calorie-tracker`, `content`, `forms`, `issues`, `mail`, `recruiting`, `slides`, `starter`, `videos` | ||
|
|
||
| Each template uses the same scripts: | ||
|
|
||
| ```bash | ||
| pnpm dev # start dev server (via agent-native dev) | ||
| pnpm build # production build | ||
| pnpm action <name> # run an agent action | ||
| pnpm typecheck # type-check | ||
| ``` | ||
|
|
||
| ## Environment Variables | ||
|
|
||
| Templates read from `.env` in their own directory. Key variables: | ||
|
|
||
| | Variable | Purpose | | ||
| | ---------------------- | ------------------------------------------------------------- | | ||
| | `DATABASE_URL` | Database connection string (see below) | | ||
| | `ANTHROPIC_API_KEY` | API key for Claude (required for agent chat) | | ||
| | `ACCESS_TOKEN` | Enables auth in production mode; without it, auth is bypassed | | ||
| | `GOOGLE_CLIENT_ID` | Google OAuth client ID (for Gmail, Calendar integrations) | | ||
| | `GOOGLE_CLIENT_SECRET` | Google OAuth client secret | | ||
|
|
||
| ### Database options | ||
|
|
||
| Set `DATABASE_URL` to connect to your database. When unset, defaults to a local SQLite file at `data/app.db`. | ||
|
|
||
| | Provider | Example `DATABASE_URL` | | ||
| | ---------------- | ---------------------------------------------------------- | | ||
| | SQLite (default) | _(unset, or `file:./data/app.db`)_ | | ||
| | Neon Postgres | `postgresql://user:pass@ep-xxx.us-east-2.aws.neon.tech/db` | | ||
| | Supabase | `postgresql://user:pass@db.xxx.supabase.co:5432/postgres` | | ||
| | Turso (libSQL) | `libsql://your-db.turso.io?authToken=...` | | ||
| | Plain Postgres | `postgresql://user:pass@localhost:5432/mydb` | | ||
|
|
||
| All SQL must be dialect-agnostic -- never assume SQLite. | ||
|
|
||
| ## Key Commands | ||
|
|
||
| Run these from the repo root: | ||
|
|
||
| | Command | Description | | ||
| | -------------------- | ------------------------------------------------------- | | ||
| | `pnpm run prep` | Format + typecheck + test in parallel (run before push) | | ||
| | `pnpm run fmt` | Format all files with Prettier | | ||
| | `pnpm run fmt:check` | Check formatting without writing | | ||
| | `pnpm run typecheck` | Type-check all packages and templates | | ||
| | `pnpm test` | Run tests (core + docs) | | ||
| | `pnpm run lint` | Format check + typecheck | | ||
|
|
||
| ## Building | ||
|
|
||
| ```bash | ||
| pnpm run build # build all packages and templates | ||
| ``` | ||
|
|
||
| Individual packages: | ||
|
|
||
| ```bash | ||
| pnpm --filter @agent-native/core build | ||
| pnpm --filter mail build | ||
| ``` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.