🦋 @brandonroberts.dev
@brandontroberts
Followers
17K
Following
35K
Statuses
40K
OSS maintainer, Creator of AnalogJS, Angular GDE, NgRx Maintainer, Nx Champion, sports ranter, and gif slinger. prev: @saucedopen, @appwrite, @NxDevtools
Alabama
Joined May 2007
⚡ The latest release of @analogjs is out! ⚡ Supports @vite_js 6 ⚡ Supports @vitest_dev 3 🤝 Supports @angular 19.1 Update to latest:
2
7
68
@RDCworld1 you got 24 hours .. I don't make the rules 🤷🏿♂️
0
0
0
RT @markdalgleish: COMING SOON: Experimental @vite_js Environment API support in React Router v7. Check this out — a single `vite build` c…
0
13
0
Finally! 😄 The @Angular renaissance is real and it's spectacular 😎
🍿Its here: the official Angular documentary. 🍿 Check it out on our YouTube channel. You can find the link in our bio or in the comments.
0
6
75
@StatisticsFTW For sure. I need YouTube to be smart enough to know it's a one off. An "open in incognito mode" would be nice also
0
0
1
🤖 @golang + Open Source AI tooling?!Yes please. Glad to see @johncodezzz putting in work! 👏
🐹 bridging the Go AI gap: introducing Agent-API 🐹 There's a big problem with AI tooling today: it's very Python-centric and can quickly lock you into a sole LLM provider. This can make adding AI capabilities to your existing Go backends difficult. A few weeks ago, I decided to work on this problem and make unlocking AI for Go simple, efficient, and safe. Introducing Agent-API: A fast, agnostic, and powerful Go AI framework for one-shot workflows, building autonomous agents, working with LLM providers, and integrating into your existing Go backends. There are currently 3 components to this toolkit: 1. The core APIs - This is where the interfaces for LLM providers are defined. It gives a common shape around messages, AI tools, and agents. 2. gsv - Go Schema Validator - gsv was born out of a desire to have a more dynamic workflow for defining tool parameters, compiling JSON schemas, validating arguments from AI tool calls, storing values, and overall, make working with AI tool json much easier in Go. 3. The providers - currently, the one I'm focused on is the ollama-provider - Each provider implements the core APIs making it easy to drop in and replace various providers (or mix and match abunch of them all at once). --- Let's look at a quick example: First, we can define an ollama provider that uses qwen2.5: ``` provider := ollama.NewOllamaProvider(log, " http://localhost", 11434, "qwen2.5") ``` Then, we can make an agent that uses that provider: ``` agent := agent.NewAgent(provider) ``` Let's give the agent some tools in its toolbelt! Here's a very simple "calculator" function that gets added to the agent: ``` err = agent.AddTool(tool.Tool{ Name: "calculator", Description: "Performs basic arithmetic operations: supported operations are 'add' and 'multiply'", WrappedFunction: wrappedCalc, JSONSchema: schema, }) ``` The "wrappedCalc" is a calculator function that's been wrapped to work with agent-api and is ready to accept arguments from an LLM (via tool calling). "schema" is a compiled json schema from gsv: this enables agent-api to validate and verify the incoming json from the LLM tool call. Now, we can send a message! ``` response, err := agent.SendMessage(ctx, "What is 5 + 3?") ``` Qwen on Ollama will utilize the tool to make the calculation and get an accurate result back! Check out some of the other examples in the examples repo: -- ⭐️Very early days and these APIs are still in their infancy so they may change unexpectedly but I'm very excited for where this is headed and I hope to make Go a first-class citizen in AI! Please star, contribute, drop an issue/idea/feature, or ask questions!!!
0
1
6
@benpsnyder @FerryColum @tailwindcss @analogjs @vite_js @import @NxDevTools @adamwathan This also works with a slight tweak to Nx for generating relative paths
0
0
3
@benpsnyder @FerryColum @tailwindcss @analogjs @vite_js @import @NxDevTools @adamwathan Still investigating to see if the Nx way still works with the new config directive. It may expect the sources to be static strings
0
0
1
@bronifty @tailwindcss @analogjs @vite_js For sure. Not having to configure the content file matching is an immediate win
0
0
2