this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Initial commit.

alice 01c9fae5

+556
+29
.beads/.gitignore
··· 1 + # SQLite databases 2 + *.db 3 + *.db?* 4 + *.db-journal 5 + *.db-wal 6 + *.db-shm 7 + 8 + # Daemon runtime files 9 + daemon.lock 10 + daemon.log 11 + daemon.pid 12 + bd.sock 13 + 14 + # Legacy database files 15 + db.sqlite 16 + bd.db 17 + 18 + # Merge artifacts (temporary files from 3-way merge) 19 + beads.base.jsonl 20 + beads.base.meta.json 21 + beads.left.jsonl 22 + beads.left.meta.json 23 + beads.right.jsonl 24 + beads.right.meta.json 25 + 26 + # Keep JSONL exports and config (source of truth for git) 27 + !issues.jsonl 28 + !metadata.json 29 + !config.json
+1
.beads/.local_version
··· 1 + 0.29.0
+81
.beads/README.md
··· 1 + # Beads - AI-Native Issue Tracking 2 + 3 + Welcome to Beads! This repository uses **Beads** for issue tracking - a modern, AI-native tool designed to live directly in your codebase alongside your code. 4 + 5 + ## What is Beads? 6 + 7 + Beads is issue tracking that lives in your repo, making it perfect for AI coding agents and developers who want their issues close to their code. No web UI required - everything works through the CLI and integrates seamlessly with git. 8 + 9 + **Learn more:** [github.com/steveyegge/beads](https://github.com/steveyegge/beads) 10 + 11 + ## Quick Start 12 + 13 + ### Essential Commands 14 + 15 + ```bash 16 + # Create new issues 17 + bd create "Add user authentication" 18 + 19 + # View all issues 20 + bd list 21 + 22 + # View issue details 23 + bd show <issue-id> 24 + 25 + # Update issue status 26 + bd update <issue-id> --status in_progress 27 + bd update <issue-id> --status done 28 + 29 + # Sync with git remote 30 + bd sync 31 + ``` 32 + 33 + ### Working with Issues 34 + 35 + Issues in Beads are: 36 + - **Git-native**: Stored in `.beads/issues.jsonl` and synced like code 37 + - **AI-friendly**: CLI-first design works perfectly with AI coding agents 38 + - **Branch-aware**: Issues can follow your branch workflow 39 + - **Always in sync**: Auto-syncs with your commits 40 + 41 + ## Why Beads? 42 + 43 + ✨ **AI-Native Design** 44 + - Built specifically for AI-assisted development workflows 45 + - CLI-first interface works seamlessly with AI coding agents 46 + - No context switching to web UIs 47 + 48 + 🚀 **Developer Focused** 49 + - Issues live in your repo, right next to your code 50 + - Works offline, syncs when you push 51 + - Fast, lightweight, and stays out of your way 52 + 53 + 🔧 **Git Integration** 54 + - Automatic sync with git commits 55 + - Branch-aware issue tracking 56 + - Intelligent JSONL merge resolution 57 + 58 + ## Get Started with Beads 59 + 60 + Try Beads in your own projects: 61 + 62 + ```bash 63 + # Install Beads 64 + curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash 65 + 66 + # Initialize in your repo 67 + bd init 68 + 69 + # Create your first issue 70 + bd create "Try out Beads" 71 + ``` 72 + 73 + ## Learn More 74 + 75 + - **Documentation**: [github.com/steveyegge/beads/docs](https://github.com/steveyegge/beads/tree/main/docs) 76 + - **Quick Start Guide**: Run `bd quickstart` 77 + - **Examples**: [github.com/steveyegge/beads/examples](https://github.com/steveyegge/beads/tree/main/examples) 78 + 79 + --- 80 + 81 + *Beads: Issue tracking that moves at the speed of thought* ⚡
+62
.beads/config.yaml
··· 1 + # Beads Configuration File 2 + # This file configures default behavior for all bd commands in this repository 3 + # All settings can also be set via environment variables (BD_* prefix) 4 + # or overridden with command-line flags 5 + 6 + # Issue prefix for this repository (used by bd init) 7 + # If not set, bd init will auto-detect from directory name 8 + # Example: issue-prefix: "myproject" creates issues like "myproject-1", "myproject-2", etc. 9 + # issue-prefix: "" 10 + 11 + # Use no-db mode: load from JSONL, no SQLite, write back after each command 12 + # When true, bd will use .beads/issues.jsonl as the source of truth 13 + # instead of SQLite database 14 + # no-db: false 15 + 16 + # Disable daemon for RPC communication (forces direct database access) 17 + # no-daemon: false 18 + 19 + # Disable auto-flush of database to JSONL after mutations 20 + # no-auto-flush: false 21 + 22 + # Disable auto-import from JSONL when it's newer than database 23 + # no-auto-import: false 24 + 25 + # Enable JSON output by default 26 + # json: false 27 + 28 + # Default actor for audit trails (overridden by BD_ACTOR or --actor) 29 + # actor: "" 30 + 31 + # Path to database (overridden by BEADS_DB or --db) 32 + # db: "" 33 + 34 + # Auto-start daemon if not running (can also use BEADS_AUTO_START_DAEMON) 35 + # auto-start-daemon: true 36 + 37 + # Debounce interval for auto-flush (can also use BEADS_FLUSH_DEBOUNCE) 38 + # flush-debounce: "5s" 39 + 40 + # Git branch for beads commits (bd sync will commit to this branch) 41 + # IMPORTANT: Set this for team projects so all clones use the same sync branch. 42 + # This setting persists across clones (unlike database config which is gitignored). 43 + # Can also use BEADS_SYNC_BRANCH env var for local override. 44 + # If not set, bd sync will require you to run 'bd config set sync.branch <branch>'. 45 + # sync-branch: "beads-sync" 46 + 47 + # Multi-repo configuration (experimental - bd-307) 48 + # Allows hydrating from multiple repositories and routing writes to the correct JSONL 49 + # repos: 50 + # primary: "." # Primary repo (where this database lives) 51 + # additional: # Additional repos to hydrate from (read-only) 52 + # - ~/beads-planning # Personal planning repo 53 + # - ~/work-planning # Work planning repo 54 + 55 + # Integration settings (access with 'bd config get/set') 56 + # These are stored in the database, not in this file: 57 + # - jira.url 58 + # - jira.project 59 + # - linear.url 60 + # - linear.api-key 61 + # - github.org 62 + # - github.repo
.beads/issues.jsonl

This is a binary file and will not be displayed.

+4
.beads/metadata.json
··· 1 + { 2 + "database": "beads.db", 3 + "jsonl_export": "issues.jsonl" 4 + }
+1
.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc
··· 1 + ../../CLAUDE.md
+3
.gitattributes
··· 1 + 2 + # Use bd merge for beads JSONL files 3 + .beads/issues.jsonl merge=beads
+34
.gitignore
··· 1 + # dependencies (bun install) 2 + node_modules 3 + 4 + # output 5 + out 6 + dist 7 + *.tgz 8 + 9 + # code coverage 10 + coverage 11 + *.lcov 12 + 13 + # logs 14 + logs 15 + _.log 16 + report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json 17 + 18 + # dotenv environment variable files 19 + .env 20 + .env.development.local 21 + .env.test.local 22 + .env.production.local 23 + .env.local 24 + 25 + # caches 26 + .eslintcache 27 + .cache 28 + *.tsbuildinfo 29 + 30 + # IntelliJ based IDEs 31 + .idea 32 + 33 + # Finder (MacOS) folder config 34 + .DS_Store
+1
AGENTS.md
··· 1 + CLAUDE.md
+217
CLAUDE.md
··· 1 + --- 2 + description: Use Bun instead of Node.js, npm, pnpm, or vite. 3 + globs: "*.ts, *.tsx, *.html, *.css, *.js, *.jsx, package.json" 4 + alwaysApply: false 5 + --- 6 + 7 + ## Issue Tracking with bd (beads) 8 + 9 + **IMPORTANT**: This project uses **bd (beads)** for ALL issue tracking. Do NOT use markdown TODOs, task lists, or other tracking methods. 10 + 11 + ### Why bd? 12 + 13 + - Dependency-aware: Track blockers and relationships between issues 14 + - Git-friendly: Auto-syncs to JSONL for version control 15 + - Agent-optimized: JSON output, ready work detection, discovered-from links 16 + - Prevents duplicate tracking systems and confusion 17 + 18 + ### Quick Start 19 + 20 + **Check for ready work:** 21 + ```bash 22 + bd ready --json 23 + ``` 24 + 25 + **Create new issues:** 26 + ```bash 27 + bd create "Issue title" -t bug|feature|task -p 0-4 --json 28 + bd create "Issue title" -p 1 --deps discovered-from:bd-123 --json 29 + bd create "Subtask" --parent <epic-id> --json # Hierarchical subtask (gets ID like epic-id.1) 30 + ``` 31 + 32 + **Claim and update:** 33 + ```bash 34 + bd update bd-42 --status in_progress --json 35 + bd update bd-42 --priority 1 --json 36 + ``` 37 + 38 + **Complete work:** 39 + ```bash 40 + bd close bd-42 --reason "Completed" --json 41 + ``` 42 + 43 + ### Issue Types 44 + 45 + - `bug` - Something broken 46 + - `feature` - New functionality 47 + - `task` - Work item (tests, docs, refactoring) 48 + - `epic` - Large feature with subtasks 49 + - `chore` - Maintenance (dependencies, tooling) 50 + 51 + ### Priorities 52 + 53 + - `0` - Critical (security, data loss, broken builds) 54 + - `1` - High (major features, important bugs) 55 + - `2` - Medium (default, nice-to-have) 56 + - `3` - Low (polish, optimization) 57 + - `4` - Backlog (future ideas) 58 + 59 + ### Workflow for AI Agents 60 + 61 + 1. **Check ready work**: `bd ready` shows unblocked issues 62 + 2. **Claim your task**: `bd update <id> --status in_progress` 63 + 3. **Work on it**: Implement, test, document 64 + 4. **Discover new work?** Create linked issue: 65 + - `bd create "Found bug" -p 1 --deps discovered-from:<parent-id>` 66 + 5. **Complete**: `bd close <id> --reason "Done"` 67 + 6. **Commit together**: Always commit the `.beads/issues.jsonl` file together with the code changes so issue state stays in sync with code state 68 + 69 + ### Auto-Sync 70 + 71 + bd automatically syncs with git: 72 + - Exports to `.beads/issues.jsonl` after changes (5s debounce) 73 + - Imports from JSONL when newer (e.g., after `git pull`) 74 + - No manual export/import needed! 75 + 76 + ### Managing AI-Generated Planning Documents 77 + 78 + AI assistants often create planning and design documents during development: 79 + - PLAN.md, IMPLEMENTATION.md, ARCHITECTURE.md 80 + - DESIGN.md, CODEBASE_SUMMARY.md, INTEGRATION_PLAN.md 81 + - TESTING_GUIDE.md, TECHNICAL_DESIGN.md, and similar files 82 + 83 + **Best Practice: Use a dedicated directory for these ephemeral files** 84 + 85 + **Recommended approach:** 86 + - Create a `history/` directory in the project root 87 + - Store ALL AI-generated planning/design docs in `history/` 88 + - Keep the repository root clean and focused on permanent project files 89 + - Only access `history/` when explicitly asked to review past planning 90 + 91 + ### CLI Help 92 + 93 + Run `bd <command> --help` to see all available flags for any command. 94 + For example: `bd create --help` shows `--parent`, `--deps`, `--assignee`, etc. 95 + 96 + ### Important Rules 97 + 98 + - Use bd for ALL task tracking 99 + - Always use `--json` flag for programmatic use 100 + - Link discovered work with `discovered-from` dependencies 101 + - Check `bd ready` before asking "what should I work on?" 102 + - Store AI planning docs in `history/` directory 103 + - Run `bd <cmd> --help` to discover available flags 104 + - Do NOT create markdown TODO lists 105 + - Do NOT use external issue trackers 106 + - Do NOT duplicate tracking systems 107 + - Do NOT clutter repo root with planning documents 108 + 109 + --- 110 + 111 + ## Bun Runtime 112 + 113 + Default to using Bun instead of Node.js. 114 + 115 + - Use `bun <file>` instead of `node <file>` or `ts-node <file>` 116 + - Use `bun test` instead of `jest` or `vitest` 117 + - Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild` 118 + - Use `bun install` instead of `npm install` or `yarn install` or `pnpm install` 119 + - Use `bun run <script>` instead of `npm run <script>` or `yarn run <script>` or `pnpm run <script>` 120 + - Use `bunx <package> <command>` instead of `npx <package> <command>` 121 + - Bun automatically loads .env, so don't use dotenv. 122 + 123 + ## APIs 124 + 125 + - `Bun.serve()` supports WebSockets, HTTPS, and routes. Don't use `express`. 126 + - `bun:sqlite` for SQLite. Don't use `better-sqlite3`. 127 + - `Bun.redis` for Redis. Don't use `ioredis`. 128 + - `Bun.sql` for Postgres. Don't use `pg` or `postgres.js`. 129 + - `WebSocket` is built-in. Don't use `ws`. 130 + - Prefer `Bun.file` over `node:fs`'s readFile/writeFile 131 + - Bun.$`ls` instead of execa. 132 + 133 + ## Testing 134 + 135 + Use `bun test` to run tests. 136 + 137 + ```ts#index.test.ts 138 + import { test, expect } from "bun:test"; 139 + 140 + test("hello world", () => { 141 + expect(1).toBe(1); 142 + }); 143 + ``` 144 + 145 + ## Frontend 146 + 147 + Use HTML imports with `Bun.serve()`. Don't use `vite`. HTML imports fully support React, CSS, Tailwind. 148 + 149 + Server: 150 + 151 + ```ts#index.ts 152 + import index from "./index.html" 153 + 154 + Bun.serve({ 155 + routes: { 156 + "/": index, 157 + "/api/users/:id": { 158 + GET: (req) => { 159 + return new Response(JSON.stringify({ id: req.params.id })); 160 + }, 161 + }, 162 + }, 163 + // optional websocket support 164 + websocket: { 165 + open: (ws) => { 166 + ws.send("Hello, world!"); 167 + }, 168 + message: (ws, message) => { 169 + ws.send(message); 170 + }, 171 + close: (ws) => { 172 + // handle close 173 + } 174 + }, 175 + development: { 176 + hmr: true, 177 + console: true, 178 + } 179 + }) 180 + ``` 181 + 182 + HTML files can import .tsx, .jsx or .js files directly and Bun's bundler will transpile & bundle automatically. `<link>` tags can point to stylesheets and Bun's CSS bundler will bundle. 183 + 184 + ```html#index.html 185 + <html> 186 + <body> 187 + <h1>Hello, world!</h1> 188 + <script type="module" src="./frontend.tsx"></script> 189 + </body> 190 + </html> 191 + ``` 192 + 193 + With the following `frontend.tsx`: 194 + 195 + ```tsx#frontend.tsx 196 + import React from "react"; 197 + import { createRoot } from "react-dom/client"; 198 + 199 + // import .css files directly and it works 200 + import './index.css'; 201 + 202 + const root = createRoot(document.body); 203 + 204 + export default function Frontend() { 205 + return <h1>Hello, world!</h1>; 206 + } 207 + 208 + root.render(<Frontend />); 209 + ``` 210 + 211 + Then, run index.ts 212 + 213 + ```sh 214 + bun --hot ./index.ts 215 + ``` 216 + 217 + For more information, read the Bun API docs in `node_modules/bun-types/docs/**.mdx`.
+15
README.md
··· 1 + # assistant 2 + 3 + To install dependencies: 4 + 5 + ```bash 6 + bun install 7 + ``` 8 + 9 + To run: 10 + 11 + ```bash 12 + bun run index.ts 13 + ``` 14 + 15 + This project was created using `bun init` in bun v1.3.4. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime.
+64
bun.lock
··· 1 + { 2 + "lockfileVersion": 1, 3 + "configVersion": 1, 4 + "workspaces": { 5 + "": { 6 + "name": "assistant", 7 + "dependencies": { 8 + "@ai-sdk/anthropic": "^2.0.54", 9 + "ai": "^5.0.110", 10 + }, 11 + "devDependencies": { 12 + "@types/bun": "latest", 13 + "@typescript/native-preview": "^7.0.0-dev.20251211.1", 14 + }, 15 + }, 16 + }, 17 + "packages": { 18 + "@ai-sdk/anthropic": ["@ai-sdk/anthropic@2.0.54", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.18" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-6OSFMkt5NkAchH7o0W+dI2h6yR8EPXx7Yl6txyh0gadLlkf1UU/ScyoYlkxAW8UtGju/+apvwVTdLYEQuIsVVQ=="], 19 + 20 + "@ai-sdk/gateway": ["@ai-sdk/gateway@2.0.19", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.18", "@vercel/oidc": "3.0.5" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-cybb+k/3Kj9BX+Am1mun3dafZsHQLIzW2A4fu5FVTLSIGXXbcuXwXNNdYMGs+B0y6RYOQ8VHbf1QslMSDIxQMA=="], 21 + 22 + "@ai-sdk/provider": ["@ai-sdk/provider@2.0.0", "", { "dependencies": { "json-schema": "^0.4.0" } }, "sha512-6o7Y2SeO9vFKB8lArHXehNuusnpddKPk7xqL7T2/b+OvXMRIXUO1rR4wcv1hAFUAT9avGZshty3Wlua/XA7TvA=="], 23 + 24 + "@ai-sdk/provider-utils": ["@ai-sdk/provider-utils@3.0.18", "", { "dependencies": { "@ai-sdk/provider": "2.0.0", "@standard-schema/spec": "^1.0.0", "eventsource-parser": "^3.0.6" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-ypv1xXMsgGcNKUP+hglKqtdDuMg68nWHucPPAhIENrbFAI+xCHiqPVN8Zllxyv1TNZwGWUghPxJXU+Mqps0YRQ=="], 25 + 26 + "@opentelemetry/api": ["@opentelemetry/api@1.9.0", "", {}, "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg=="], 27 + 28 + "@standard-schema/spec": ["@standard-schema/spec@1.0.0", "", {}, "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA=="], 29 + 30 + "@types/bun": ["@types/bun@1.3.4", "", { "dependencies": { "bun-types": "1.3.4" } }, "sha512-EEPTKXHP+zKGPkhRLv+HI0UEX8/o+65hqARxLy8Ov5rIxMBPNTjeZww00CIihrIQGEQBYg+0roO5qOnS/7boGA=="], 31 + 32 + "@types/node": ["@types/node@25.0.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-rl78HwuZlaDIUSeUKkmogkhebA+8K1Hy7tddZuJ3D0xV8pZSfsYGTsliGUol1JPzu9EKnTxPC4L1fiWouStRew=="], 33 + 34 + "@typescript/native-preview": ["@typescript/native-preview@7.0.0-dev.20251211.1", "", { "optionalDependencies": { "@typescript/native-preview-darwin-arm64": "7.0.0-dev.20251211.1", "@typescript/native-preview-darwin-x64": "7.0.0-dev.20251211.1", "@typescript/native-preview-linux-arm": "7.0.0-dev.20251211.1", "@typescript/native-preview-linux-arm64": "7.0.0-dev.20251211.1", "@typescript/native-preview-linux-x64": "7.0.0-dev.20251211.1", "@typescript/native-preview-win32-arm64": "7.0.0-dev.20251211.1", "@typescript/native-preview-win32-x64": "7.0.0-dev.20251211.1" }, "bin": { "tsgo": "bin/tsgo.js" } }, "sha512-RXuRj/zn2tWrria1eea1mzOVmUjNHdOZsxlcnXLy2BjXil+ncgdMFARWryeXP2+NPmGTwC+ERJ5YAuwU8n4nlg=="], 35 + 36 + "@typescript/native-preview-darwin-arm64": ["@typescript/native-preview-darwin-arm64@7.0.0-dev.20251211.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-0TSLj8s2M1eQXnQV0+DMFCnJF4vqNobTaeKzMpR8oHOsD2az93knOUixsZk0Nyf3jYzgszDakNXhp0K3fzWWAw=="], 37 + 38 + "@typescript/native-preview-darwin-x64": ["@typescript/native-preview-darwin-x64@7.0.0-dev.20251211.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-Nv6+4H1SxjkbOLQZjbAjivTtFmPpeGiXKXh/8/UwkQW3Bom/L+owCfJNffsMKalKdDa/eYRW0uaoAk0dcU4c4A=="], 39 + 40 + "@typescript/native-preview-linux-arm": ["@typescript/native-preview-linux-arm@7.0.0-dev.20251211.1", "", { "os": "linux", "cpu": "arm" }, "sha512-6Y6VqTMfgvt8f1P5FHNIT/O/L0lSw5MHOcVOnrZEfvOAUXE+cCmC5VvtFh1Paa1Zu+oTBnCu5EvIwemHl4V73A=="], 41 + 42 + "@typescript/native-preview-linux-arm64": ["@typescript/native-preview-linux-arm64@7.0.0-dev.20251211.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-sJapYFFiJnTeK/d2LmoQaTQKzMm8zquQAaAJaual+yu4sVKbP6sZRZ1GVS4FDISJvUrlajpLWxtfQTHR4dlgeQ=="], 43 + 44 + "@typescript/native-preview-linux-x64": ["@typescript/native-preview-linux-x64@7.0.0-dev.20251211.1", "", { "os": "linux", "cpu": "x64" }, "sha512-bJfieFUeJRGsjByfeShQYXbFRbJ4k14/Sp1HQ2Eu8yOd+hUpOj7fsax7b5B2XvE4cSuC+dRV2FVOCZQNaL4u2Q=="], 45 + 46 + "@typescript/native-preview-win32-arm64": ["@typescript/native-preview-win32-arm64@7.0.0-dev.20251211.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-0vZ1NQmLyRf1bLaBjHFem1pLsJJnPMOCfScgM616cJpkbqqGEAgXfOnxKOUxiZ6X+hfx09gXn+5wq7zjaV0aag=="], 47 + 48 + "@typescript/native-preview-win32-x64": ["@typescript/native-preview-win32-x64@7.0.0-dev.20251211.1", "", { "os": "win32", "cpu": "x64" }, "sha512-OUB0nNmzZeCl0KjxeG7R+Ey1gq8iaVoJJRJpwKiTj6Ws5voKOb6PxNoM2jMNqJV3R/d3PXfR7Y39/IINioa/CQ=="], 49 + 50 + "@vercel/oidc": ["@vercel/oidc@3.0.5", "", {}, "sha512-fnYhv671l+eTTp48gB4zEsTW/YtRgRPnkI2nT7x6qw5rkI1Lq2hTmQIpHPgyThI0znLK+vX2n9XxKdXZ7BUbbw=="], 51 + 52 + "ai": ["ai@5.0.110", "", { "dependencies": { "@ai-sdk/gateway": "2.0.19", "@ai-sdk/provider": "2.0.0", "@ai-sdk/provider-utils": "3.0.18", "@opentelemetry/api": "1.9.0" }, "peerDependencies": { "zod": "^3.25.76 || ^4.1.8" } }, "sha512-ZBq+5bvef4e5qoIG4U6NJ1UpCPWGjuaWERHXbHu2T2ND3c02nJ2zlnjm+N6zAAplQPxwqm7Sb16mrRX5uQNWtQ=="], 53 + 54 + "bun-types": ["bun-types@1.3.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-5ua817+BZPZOlNaRgGBpZJOSAQ9RQ17pkwPD0yR7CfJg+r8DgIILByFifDTa+IPDDxzf5VNhtNlcKqFzDgJvlQ=="], 55 + 56 + "eventsource-parser": ["eventsource-parser@3.0.6", "", {}, "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg=="], 57 + 58 + "json-schema": ["json-schema@0.4.0", "", {}, "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="], 59 + 60 + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], 61 + 62 + "zod": ["zod@4.1.13", "", {}, "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig=="], 63 + } 64 + }
+1
index.ts
··· 1 + console.log("Hello via Bun!");
+14
package.json
··· 1 + { 2 + "name": "assistant", 3 + "module": "index.ts", 4 + "type": "module", 5 + "private": true, 6 + "devDependencies": { 7 + "@types/bun": "latest", 8 + "@typescript/native-preview": "^7.0.0-dev.20251211.1" 9 + }, 10 + "dependencies": { 11 + "@ai-sdk/anthropic": "^2.0.54", 12 + "ai": "^5.0.110" 13 + } 14 + }
+29
tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + // Environment setup & latest features 4 + "lib": ["ESNext"], 5 + "target": "ESNext", 6 + "module": "Preserve", 7 + "moduleDetection": "force", 8 + "jsx": "react-jsx", 9 + "allowJs": true, 10 + 11 + // Bundler mode 12 + "moduleResolution": "bundler", 13 + "allowImportingTsExtensions": true, 14 + "verbatimModuleSyntax": true, 15 + "noEmit": true, 16 + 17 + // Best practices 18 + "strict": true, 19 + "skipLibCheck": true, 20 + "noFallthroughCasesInSwitch": true, 21 + "noUncheckedIndexedAccess": true, 22 + "noImplicitOverride": true, 23 + 24 + // Some stricter flags (disabled by default) 25 + "noUnusedLocals": false, 26 + "noUnusedParameters": false, 27 + "noPropertyAccessFromIndexSignature": false 28 + } 29 + }