- Replace .eslintrc.cjs with eslint.config.mjs (ESLint 9 flat config)
using direct eslint-plugin-solid + @typescript-eslint/parser approach
- Add @typescript-eslint/parser to root devDependencies
- Add main/module/types top-level fields to packages/core/package.json
- Add resolve.conditions to packages/core/vite.config.ts
- Create packages/core/tsconfig.test.json for test type-checking
- Remove empty paths:{} from packages/core/tsconfig.json
71 KiB
We value your privacy
We use cookies to enhance your browsing experience, serve personalised ads or content, and analyse our traffic. By clicking "Accept All", you consent to our use of cookies.
CustomiseReject AllAccept All
Powered by Visit CookieYes website
We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.
The cookies that are categorised as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... Show more
NecessaryAlways Active
Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.
- Cookie
__eoi
- Duration
6 months
- Description
Description is currently not available.
- Cookie
__cf_bm
- Duration
1 hour
- Description
This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.
- Cookie
_cfuvid
- Duration
session
- Description
Cloudflare sets this cookie to track users across sessions to optimize user experience by maintaining session consistency and providing personalized services
- Cookie
AWSALBCORS
- Duration
7 days
- Description
Amazon Web Services set this cookie for load balancing.
- Cookie
li_gc
- Duration
6 months
- Description
Linkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes.
- Cookie
__hssrc
- Duration
session
- Description
This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.
- Cookie
__hssc
- Duration
1 hour
- Description
HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
- Cookie
AWSALB
- Duration
7 days
- Description
AWSALB is an application load balancer cookie set by Amazon Web Services to map the session to the target.
- Cookie
__Secure-YNID
- Duration
6 months
- Description
Google cookie used to protect user security and prevent fraud, especially during the login process.
- Cookie
jwtOnAir
- Duration
1 month 1 day
- Description
Description is currently not available.
- Cookie
jwt
- Duration
1 month 1 day
- Description
No description available.
- Cookie
csrfToken
- Duration
1 month 1 day
- Description
Description is currently not available.
- Cookie
_octo
- Duration
1 year
- Description
No description available.
- Cookie
logged_in
- Duration
1 year
- Description
No description available.
- Cookie
csrf_token
- Duration
session
- Description
No description available.
- Cookie
token_v2
- Duration
1 day
- Description
Description is currently not available.
- Cookie
VISITOR_PRIVACY_METADATA
- Duration
6 months
- Description
YouTube sets this cookie to store the user's cookie consent state for the current domain.
- Cookie
yt.innertube::nextId
- Duration
Never Expires
- Description
YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.
- Cookie
yt.innertube::requests
- Duration
Never Expires
- Description
YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.
- Cookie
session_tracker
- Duration
session
- Description
This cookie is set by the Reddit. This cookie is used to identify trusted web traffic. It also helps in adverstising on the website.
- Cookie
YSC
- Duration
session
- Description
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
- Cookie
VISITOR_INFO1_LIVE
- Duration
6 months
- Description
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
- Cookie
yt-remote-connected-devices
- Duration
Never Expires
- Description
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
- Cookie
ytidb::LAST_RESULT_ENTRY_KEY
- Duration
Never Expires
- Description
The cookie ytidb::LAST_RESULT_ENTRY_KEY is used by YouTube to store the last search result entry that was clicked by the user. This information is used to improve the user experience by providing more relevant search results in the future.
- Cookie
yt-remote-device-id
- Duration
Never Expires
- Description
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
- Cookie
yt-remote-session-name
- Duration
session
- Description
The yt-remote-session-name cookie is used by YouTube to store the user's video player preferences using embedded YouTube video.
- Cookie
yt-remote-fast-check-period
- Duration
session
- Description
The yt-remote-fast-check-period cookie is used by YouTube to store the user's video player preferences for embedded YouTube videos.
- Cookie
yt-remote-session-app
- Duration
session
- Description
The yt-remote-session-app cookie is used by YouTube to store user preferences and information about the interface of the embedded YouTube video player.
- Cookie
yt-remote-cast-available
- Duration
session
- Description
The yt-remote-cast-available cookie is used to store the user's preferences regarding whether casting is available on their YouTube video player.
- Cookie
yt-remote-cast-installed
- Duration
session
- Description
The yt-remote-cast-installed cookie is used to store the user's video player preferences using embedded YouTube video.
- Cookie
currency
- Duration
session
- Description
This cookie is used to store the currency preference of the user.
- Cookie
cookieyes-consent
- Duration
1 year
- Description
CookieYes sets this cookie to remember users' consent preferences so that their preferences are respected on subsequent visits to this site. It does not collect or store any personal information about the site visitors.
- Cookie
test_cookie
- Duration
15 minutes
- Description
doubleclick.net sets this cookie to determine if the user's browser supports cookies.
- Cookie
pxcts
- Duration
session
- Description
Description is currently not available.
- Cookie
bStore
- Duration
Less than a minute
- Description
Description is currently not available.
- Cookie
JSESSIONID
- Duration
session
- Description
New Relic uses this cookie to store a session identifier so that New Relic can monitor session counts for an application.
- Cookie
_pxvid
- Duration
1 year
- Description
PerimeterX sets this cookie to detect fraud and bot activity.
- Cookie
_px3
- Duration
6 minutes
- Description
This cookie is set by the Bloomberg to protect the site from BOT attacks.
- Cookie
cookietest
- Duration
session
- Description
The cookietest cookie is typically used to determine whether the user's browser accepts cookies, essential for website functionality and user experience.
- Cookie
cf_use_ob
- Duration
1 minute
- Description
Cloudflare sets this cookie to improve page load times and to disallow any security restrictions based on the visitor's IP address.
Functional
Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.
- Cookie
BCTempID
- Duration
10 minutes
- Description
No description available.
- Cookie
BCSessionID
- Duration
1 year 1 month 4 days
- Description
Blueconic sets this cookie as a unique identifier for the BlueConic profile.
- Cookie
lidc
- Duration
1 day
- Description
LinkedIn sets the lidc cookie to facilitate data center selection.
- Cookie
loid
- Duration
1 year 1 month 4 days
- Description
This cookie is set by the Reddit. The cookie enables the sharing of content from the website onto the social media platform.
- Cookie
lang
- Duration
session
- Description
LinkedIn sets this cookie to remember a user's language setting.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.
- Cookie
taboola_session_id
- Duration
session
- Description
This cookie is owned by trc.taboola.com and is used to create a temporary session ID to prevent duplicate recommendations from being displayed on the page.
- Cookie
_ga_*
- Duration
1 year 1 month 4 days
- Description
Google Analytics sets this cookie to store and count page views.
- Cookie
_ga
- Duration
1 year 1 month 4 days
- Description
Google Analytics sets this cookie to calculate visitor, session and campaign data and track site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors.
- Cookie
__hstc
- Duration
6 months
- Description
Hubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
- Cookie
hubspotutk
- Duration
6 months
- Description
HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.
- Cookie
_gh_sess
- Duration
session
- Description
GitHub sets this cookie for temporary application and framework state between pages like what step the user is on in a multiple step form.
- Cookie
_clck
- Duration
1 year
- Description
Microsoft Clarity sets this cookie to retain the browser's Clarity User ID and settings exclusive to that website. This guarantees that actions taken during subsequent visits to the same website will be linked to the same user ID.
- Cookie
_clsk
- Duration
1 day
- Description
Microsoft Clarity sets this cookie to store and consolidate a user's pageviews into a single session recording.
- Cookie
mp_*_mixpanel
- Duration
Never Expires
- Description
Mixpanel sets this cookie to determine how users use the website so that a good user experience can be provided.
- Cookie
browser_id
- Duration
5 years
- Description
This cookie is used for identifying the visitor browser on re-visit to the website.
- Cookie
li_alerts
- Duration
1 year
- Description
LinkedIn sets this cookie to track impressions of LinkedIn alerts, such as the Cookie Banner and to implement cool-off periods for display of alerts.
- Cookie
MR
- Duration
7 days
- Description
This cookie, set by Bing, is used to collect user information for analytics purposes.
Performance
Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.
- Cookie
_uetsid
- Duration
1 day
- Description
Bing Ads sets this cookie to engage with a user that has previously visited the website.
- Cookie
_uetvid
- Duration
1 year 24 days
- Description
Bing Ads sets this cookie to engage with a user that has previously visited the website.
Advertisement
Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.
- Cookie
t_pt_gid
- Duration
1 year
- Description
Description is currently not available.
- Cookie
muc_ads
- Duration
1 year 1 month 4 days
- Description
Twitter sets this cookie to collect user behaviour and interaction data to optimize the website.
- Cookie
guest_id_marketing
- Duration
1 year 1 month 4 days
- Description
Twitter sets this cookie to identify and track the website visitor.
- Cookie
guest_id_ads
- Duration
1 year 1 month 4 days
- Description
Twitter sets this cookie to identify and track the website visitor.
- Cookie
personalization_id
- Duration
1 year 1 month 4 days
- Description
Twitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting.
- Cookie
guest_id
- Duration
1 year 1 month 4 days
- Description
Twitter sets this cookie to identify and track the website visitor. It registers if a user is signed in to the Twitter platform and collects information about ad preferences.
- Cookie
bcookie
- Duration
1 year
- Description
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs.
- Cookie
_gcl_au
- Duration
3 months
- Description
Google Tag Manager sets this cookie to experiment advertisement efficiency of websites using their services.
- Cookie
t_gid
- Duration
1 year
- Description
Taboola sets this cookie by assigning a specific ID for attribution and reporting purposes and to tailor recommendations to the user.
- Cookie
_fbp
- Duration
3 months
- Description
Facebook sets this cookie to store and track interactions.
- Cookie
MUID
- Duration
1 year 24 days
- Description
Bing sets this cookie to recognise unique web browsers visiting Microsoft sites. This cookie is used for advertising, site analytics, and other operations.
- Cookie
bscookie
- Duration
1 year
- Description
LinkedIn sets this cookie to store performed actions on the website.
Uncategorised
Other uncategorised cookies are those that are being analysed and have not been classified into a category as yet.
No cookies to display.
Reject AllSave My PreferencesAccept All
Powered by Visit CookieYes website
TNS
OK
As a JavaScript developer, what non-React tools do you use most often?
✓
Angular
0%
✓
Astro
0%
✓
Svelte
0%
✓
Vue.js
0%
✓
Other
0%
✓
I only use React
0%
✓
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
SUBMIT
NEW! Try Stackie AI
LOGIN
ARCHITECTURE
Cloud Native Ecosystem Containers Databases Edge Computing Infrastructure as Code Linux Microservices Open Source Networking Storage
ENGINEERING
AI AI Engineering API Management Backend development Data Frontend Development Large Language Models Security Software Development WebAssembly
OPERATIONS
AI Operations CI/CD Cloud Services DevOps Kubernetes Observability Operations Platform Engineering
PROGRAMMING
C++ Developer tools Go Java JavaScript Programming Languages Python Rust TypeScript
CHANNELS
Podcasts Ebooks Events Webinars Newsletter TNS RSS Feeds
THE NEW STACK
About / Contact Sponsors Advertise With Us Contributions
PODCASTS EBOOKS EVENTS WEBINARS NEWSLETTER CONTRIBUTE
ARCHITECTURE ENGINEERING OPERATIONS PROGRAMMING
Cloud Native Ecosystem Containers Databases Edge Computing Infrastructure as Code Linux Microservices Open Source Networking Storage
What is KubeVirt and why it’s growing\ \ \ Mar 17th 2026 9:00am, by \ Tiago Castro
React Server Components Vulnerability Found\ \ \ Dec 6th 2025 7:00am, by \ Loraine Lawson
The operational gap is real, and it's getting wider\ \ \ Mar 26th 2026 8:00am, by \ Yevgeny Pats
Terraform challenger Formae expands to more clouds\ \ \ Jan 28th 2026 6:00am, by \ Joab Jackson
Merging To Test Is Killing Your Microservices Velocity\ \ \ Dec 16th 2025 7:00am, by \ Arjun Iyer
IBM’s Confluent Acquisition Is About Event-Driven AI\ \ \ Dec 11th 2025 6:00am, by \ Joab Jackson
Why flat Kubernetes networks fail at scale\ \ \ Mar 20th 2026 7:00am, by \ Reza Ramezanpour
What is KubeVirt and why it’s growing\ \ \ Mar 17th 2026 9:00am, by \ Tiago Castro
AI AI Engineering API Management Backend development Data Frontend Development Large Language Models Security Software Development WebAssembly
Mar 25th 2026 4:36am, by Meredith Shubel
Ai2 launches MolmoWeb, an open-source web agent
Mar 24th 2026 9:07am, by Frederic Lardinois
Mar 23rd 2026 11:00am, by Jessica Wachtel
China is winning the open source AI race — but a US company still controls everything underneath
Mar 20th 2026 10:46am, by Paul Sawers
Cursor's Composer 2 beats Opus 4.6 on coding benchmarks at a fraction of the price
Mar 19th 2026 8:39am, by Frederic Lardinois
Why online stores keep showing the wrong products — and why tensors fix it
Mar 25th 2026 6:00am, by Tim Young
OpenClaw's biggest security flaw is why Jentic Mini exists
Mar 25th 2026 5:00am, by Darryl K. Taft
Why most AI projects fail after the demo actually works
Mar 25th 2026 4:00am, by Oladimeji Sowole
PwC's AI agents are now your consultants -- whether you're ready or not
Mar 24th 2026 6:00am, by Darryl K. Taft
Mar 23rd 2026 11:00am, by Jessica Wachtel
MCP is everywhere, but don't panic. Here's why your existing APIs still matter.
Mar 23rd 2026 5:00am, by Camille Crowell-Lee and Morgan Fine
Before you let AI agents loose, you’d better know what they’re capable of
Mar 12th 2026 1:22pm, by Charles Humble
GSMA Open Gateway offers developers one API for 300+ mobile networks
Mar 4th 2026 10:26am, by Adrian Bridgwater
Your AI strategy is built on layers of API sediment
Feb 17th 2026 9:37am, by Charles Humble
Solving the Problems That Accompany API Sprawl With AI
Jan 15th 2026 1:00pm, by Heather Joslyn
Backend Development in 2026: What's Changed, What Matters, and What to Learn Next
Mar 19th 2026 11:37am, by TNS Staff
How To Get DNS Right: A Guide to Common Failure Modes
Dec 24th 2025 8:00am, by Sheldon Pereira and Denton Chikura
Combining Rust and Python for High-Performance AI Systems
Dec 3rd 2025 1:00pm, by Zziwa Raymond Ian
How MCP Uses Streamable HTTP for Real-Time AI Tool Interaction
Aug 18th 2025 10:34am, by Janakiram MSV
A Backend for Frontend: Watt for Node.js Simplifies Operations
Aug 14th 2025 6:00am, by Loraine Lawson
Fivetran donates its SQLMesh data transformation framework to the Linux Foundation
Mar 25th 2026 7:39am, by Frederic Lardinois
Ex-Snowflake engineers say there's a blind spot in data engineering — so they built Tower to fix it
Mar 15th 2026 7:00am, by Paul Sawers
Why the "bible" of data systems is getting a massive rewrite for 2026
Mar 4th 2026 5:00am, by Cynthia Dunlop
How to clone a drive to an image with Clonezilla
Mar 3rd 2026 1:00pm, by Jack Wallen
Databases weren’t built for agent sprawl – SurrealDB wants to fix it
Feb 24th 2026 2:07pm, by Paul Sawers
WebMCP turns any Chrome web page into an MCP server for AI agents
Mar 17th 2026 11:50am, by David Eastman
Confluent adds A2A support, anomaly detection, and Queues for Kafka in major platform update
Mar 3rd 2026 10:21am, by Jelani Harper
Google's Chrome browser moves to a two-week release cycle
Mar 3rd 2026 9:00am, by Frederic Lardinois
Meta gave React its own foundation. But it's not letting go just yet.
Mar 3rd 2026 4:00am, by Paul Sawers
The shift left hangover: Why modern platforms are shifting down to cure developer fatigue
Jan 30th 2026 6:22pm, by Steve Corndell
Why most AI projects fail after the demo actually works
Mar 25th 2026 4:00am, by Oladimeji Sowole
IBM, Red Hat, and Google just donated a Kubernetes blueprint for LLM inference to the CNCF
Mar 24th 2026 8:20am, by Steven J. Vaughan-Nichols
Andrej Karpathy's 630-line Python script ran 50 experiments overnight without any human input
Mar 14th 2026 5:00am, by Janakiram MSV
Mar 11th 2026 9:37am, by Jennifer Riggins
How context rot drags down AI and LLM results for enterprises, and how to fix it
Mar 9th 2026 9:00am, by Todd R. Weiss
OpenClaw's biggest security flaw is why Jentic Mini exists
Mar 25th 2026 5:00am, by Darryl K. Taft
WebAssembly could solve AI agents' most dangerous security gap
Mar 24th 2026 9:01am, by B. Cameron Gain
Minimus aims to solve one of open-source's long-festering problems
Mar 24th 2026 3:00am, by Adrian Bridgwater
What a security audit of 22,511 AI coding skills found lurking in the code
Mar 22nd 2026 7:00am, by Darryl K. Taft
Why WebAssembly won't replace Kubernetes but makes Helm more secure
Mar 21st 2026 8:45am, by B. Cameron Gain
Why online stores keep showing the wrong products — and why tensors fix it
Mar 25th 2026 6:00am, by Tim Young
Will AI force code to evolve or make it extinct?
Mar 22nd 2026 6:00am, by David Cassel
Backend Development in 2026: What's Changed, What Matters, and What to Learn Next
Mar 19th 2026 11:37am, by TNS Staff
Jellyfish AI development study: The real sting has yet to land
Mar 19th 2026 11:01am, by Adrian Bridgwater
Sampling: the philosopher's stone of distributed tracing
Mar 19th 2026 8:00am, by Michele Mancioppi
WebAssembly could solve AI agents' most dangerous security gap
Mar 24th 2026 9:01am, by B. Cameron Gain
How WebAssembly plugins simplify Kubernetes extensibility
Mar 3rd 2026 2:00pm, by B. Cameron Gain
WebAssembly is everywhere. Here's how it works
Feb 25th 2026 11:00am, by Jessica Wachtel
Wasm vs. JavaScript: Who wins at a million rows?
Feb 22nd 2026 6:00am, by Jessica Wachtel
How WebAssembly and Web Workers prevent UI freezes
Feb 7th 2026 9:00am, by Jessica Wachtel
AI Operations CI/CD Cloud Services DevOps Kubernetes Observability Operations Platform Engineering
HPE's AI agents cut root cause analysis time in half
Mar 25th 2026 7:14am, by Jennifer Riggins
Why most AI projects fail after the demo actually works
Mar 25th 2026 4:00am, by Oladimeji Sowole
From pillars to platform: How open observability data is changing the industry
Mar 20th 2026 6:00am, by Ted Young
Building a Kubernetes-native pattern for AI infrastructure at scale
Mar 19th 2026 5:00am, by Sachi Desai
The AI blind spot debt: the hidden cost killing your innovation strategy
Mar 17th 2026 7:00am, by Yuval Fernbach
Enterprise dev teams are about to hit a wall. And CI pipelines can't save them.
Mar 26th 2026 7:00am, by Anirudh Ramanathan
This simple infrastructure gap is holding back AI productivity
Feb 22nd 2026 8:00am, by Charlotte Fleming
Ramp’s Inspect shows closed-loop AI agents are software’s future
Jan 29th 2026 11:00am, by Arjun Iyer
QCon chat: Is agentic AI killing continuous integration?
Jan 27th 2026 6:00am, by Joab Jackson
Async Rust: Pinning demystified
Jan 26th 2026 11:00am, by Anshul Gupta
A practical guide to the 6 categories of AI cloud infrastructure in 2026
Mar 15th 2026 5:00am, by Janakiram MSV
Runpod report: Qwen has overtaken Meta's Llama as the most-deployed self-hosted LLM
Mar 12th 2026 6:00am, by Adrian Bridgwater
Snowflake Cortex Code CLI adds dbt and Apache Airflow support for AI-powered data pipelines
Mar 8th 2026 6:00am, by Jelani Harper
Databases weren’t built for agent sprawl – SurrealDB wants to fix it
Feb 24th 2026 2:07pm, by Paul Sawers
Rising identity complexity: How CISOs can prevent it from becoming an attacker’s roadmap
Feb 19th 2026 12:47pm, by Jay Reddy
One developer, team power: The future of AI-driven DevSecOps
Mar 5th 2026 2:29pm, by Bryan Ross
Observability platform migration guide: Prometheus, OpenTelemetry, and Fluent Bit
Feb 26th 2026 7:28am, by Katie Greenley
Most platform teams build products, but they don’t know it
Feb 24th 2026 9:00am, by Oleg Danilyuk
Why "automated" infrastructure might cost more than you think
Feb 24th 2026 4:00am, by Justyn Roberts
The essential shift every ITOps leader must make to survive an unrelenting stream of incidents
Feb 19th 2026 1:46pm, by Ariel Russo
Your Kubernetes isn't ready for AI workloads, and drift is the reason
Mar 25th 2026 8:43am, by TNS Staff
Mar 24th 2026 8:38am, by B. Cameron Gain
IBM, Red Hat, and Google just donated a Kubernetes blueprint for LLM inference to the CNCF
Mar 24th 2026 8:20am, by Steven J. Vaughan-Nichols
Why WebAssembly won't replace Kubernetes but makes Helm more secure
Mar 21st 2026 8:45am, by B. Cameron Gain
Why the ‘glorified host’ for AI is exactly the Kubernetes we need
Mar 20th 2026 9:00am, by Danielle Cook
From pillars to platform: How open observability data is changing the industry
Mar 20th 2026 6:00am, by Ted Young
Sampling: the philosopher's stone of distributed tracing
Mar 19th 2026 8:00am, by Michele Mancioppi
Why your observability bill keeps growing (and it's not your vendor's fault)
Mar 18th 2026 4:00am, by Juraci Paixão Kröhling
Why agentic AI stalls in production — and how a control plane fixes it
Mar 17th 2026 6:00am, by TNS Staff
Why AI workloads are breaking traditional Kubernetes observability strategies
Mar 16th 2026 7:04am, by TNS Staff
The operational gap is real, and it's getting wider
Mar 26th 2026 8:00am, by Yevgeny Pats
HPE's AI agents cut root cause analysis time in half
Mar 25th 2026 7:14am, by Jennifer Riggins
WebAssembly could solve AI agents' most dangerous security gap
Mar 24th 2026 9:01am, by B. Cameron Gain
Kubernetes co-founder Brendan Burns: AI-generated code will become as invisible as assembly
Mar 24th 2026 7:20am, by Frederic Lardinois
Exton Linux's light version will "enlighten" you
Mar 24th 2026 5:43am, by Jack Wallen
The operational gap is real, and it's getting wider
Mar 26th 2026 8:00am, by Yevgeny Pats
Enterprise dev teams are about to hit a wall. And CI pipelines can't save them.
Mar 26th 2026 7:00am, by Anirudh Ramanathan
Your Kubernetes isn't ready for AI workloads, and drift is the reason
Mar 25th 2026 8:43am, by TNS Staff
Capital One deprecated an AI tool it once championed. Its DevEx chief says that's the point.
Mar 18th 2026 8:02am, by Jennifer Riggins
From monolith to global mesh: How Uber standardized ML at scale
Mar 17th 2026 4:00am, by Eric Wang and Ying Zheng
C++ Developer tools Go Java JavaScript Programming Languages Python Rust TypeScript
Open source USearch library jumpstarts ScyllaDB vector search
Feb 5th 2026 12:00pm, by Jelani Harper
AWS WAF vs. Google Cloud Armor: A Multicloud Security Showdown
Nov 25th 2025 10:00am, by Advait Patel
Goodbye Dashboards: Agents Deliver Answers, Not Just Reports
Nov 23rd 2025 9:00am, by Ketan Karkhanis
Rust vs. C++: a Modern Take on Performance and Safety
Oct 22nd 2025 2:00pm, by Zziwa Raymond Ian
Building a Real-Time System Monitor in Rust Terminal
Oct 15th 2025 7:05am, by Tinega Onchari
Mar 20th 2026 7:33am, by Meredith Shubel
Jellyfish AI development study: The real sting has yet to land
Mar 19th 2026 11:01am, by Adrian Bridgwater
Sauce Labs wants to solve an AI-created problem nobody wanted to work on
Mar 18th 2026 9:19am, by Frederic Lardinois
Capital One deprecated an AI tool it once championed. Its DevEx chief says that's the point.
Mar 18th 2026 8:02am, by Jennifer Riggins
Cursor built a fleet of security agents to solve a familiar frustration
Mar 16th 2026 11:17am, by Frederic Lardinois
Go Experts: 'I Don't Want to Maintain AI-Generated Code'
Sep 28th 2025 6:00am, by David Cassel
How To Run Kubernetes Commands in Go: Steps and Best Practices
Jun 27th 2025 8:00am, by Sunny Yadav
Prepare Your Mac for Go Development
Apr 12th 2025 7:00am, by Damon M. Garn
Pagoda: A Web Development Starter Kit for Go Programmers
Mar 19th 2025 6:10am, by Loraine Lawson
Microsoft TypeScript Devs Explain Why They Chose Go Over Rust, C#
Mar 18th 2025 7:00am, by David Cassel
Java 26 lands without an LTS badge. Here's why developers should care anyway.
Mar 18th 2026 9:35am, by Darryl K. Taft
62% of enterprises now use Java to power AI apps
Feb 10th 2026 12:58pm, by Darryl K. Taft
BellSoft bets Java expertise can beat hardened container wave
Jan 26th 2026 3:00pm, by Darryl K. Taft
Java Developers Get Multiple Paths To Building AI Agents
Dec 26th 2025 7:02am, by Darryl K. Taft
Your Enterprise AI Strategy Must Start With Java, Not Python
Dec 22nd 2025 1:00pm, by Michael Coté
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
WebAssembly is everywhere. Here's how it works
Feb 25th 2026 11:00am, by Jessica Wachtel
Wasm vs. JavaScript: Who wins at a million rows?
Feb 22nd 2026 6:00am, by Jessica Wachtel
Arcjet reaches v1.0, promises stable security for JavaScript apps
Feb 14th 2026 7:00am, by Darryl K. Taft
How WebAssembly and Web Workers prevent UI freezes
Feb 7th 2026 9:00am, by Jessica Wachtel
Will AI force code to evolve or make it extinct?
Mar 22nd 2026 6:00am, by David Cassel
Java 26 lands without an LTS badge. Here's why developers should care anyway.
Mar 18th 2026 9:35am, by Darryl K. Taft
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Nearly half of all companies now use Rust in production, survey finds
Mar 6th 2026 10:45am, by Darryl K. Taft
Statistical language R is making a comeback against Python
Feb 12th 2026 2:57pm, by Darryl K. Taft
Mar 20th 2026 7:33am, by Meredith Shubel
Python virtual environments: isolation without the chaos
Feb 16th 2026 7:00am, by Jessica Wachtel
Statistical language R is making a comeback against Python
Feb 12th 2026 2:57pm, by Darryl K. Taft
Arcjet's Python SDK Embeds Security in Code
Jan 16th 2026 2:00pm, by Darryl K. Taft
2025: The Year of the Return of the Ada Programming Language?
Jan 14th 2026 4:00pm, by Darryl K. Taft
Nearly half of all companies now use Rust in production, survey finds
Mar 6th 2026 10:45am, by Darryl K. Taft
Wasm vs. JavaScript: Who wins at a million rows?
Feb 22nd 2026 6:00am, by Jessica Wachtel
Open source USearch library jumpstarts ScyllaDB vector search
Feb 5th 2026 12:00pm, by Jelani Harper
The 'weird' things that happened when Clickhouse replaced C++ with Rust
Feb 4th 2026 7:26am, by B. Cameron Gain
Async Rust: Pinning demystified
Jan 26th 2026 11:00am, by Anshul Gupta
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
Inferno Vet Creates Frontend Framework Built With AI in Mind
Dec 10th 2025 11:00am, by Loraine Lawson
JavaScript Utility Library Lodash Changing Governance Model
Nov 1st 2025 7:00am, by Loraine Lawson
Microsoft TypeScript Devs Explain Why They Chose Go Over Rust, C#
Mar 18th 2025 7:00am, by David Cassel
2025-11-04 05:00:01
It’s Time To Build APIs for AI, Not Just For Developers
contributed,
It’s Time To Build APIs for AI, Not Just For Developers
If your APIs were built for humans, they're probably failing AI agents. It's time for a paradigm shift to AI-first design.
Nov 4th, 2025 5:00am by Saqib Jan
Image from Thapana_Studio on Shutterstock.
For the last two decades, the principles of API design have centered around the human developer. We built systems optimized for their convenience, with flexible endpoints and rich documentation that they could interpret.
But a new and powerful class of consumer is already disrupting in the form of autonomous AI agents that operate on a fundamentally different set of principles, which require a new approach to the way we build and describe our services.
“This means a new paradigm for us as developers: We must now build APIs optimized for consumption by machines, which requires a fundamentally different design philosophy than the one we use for human-centric development,” says Srinivasan Sekar, a director of engineering at LambdaTest, an AI-native software testing platform.
This increasing shift toward an “ AI-first” design philosophy prioritizes the explicit clarity and predictability that machines require to reason and act effectively. It underpins a clear framework for redesigning systems for the new agentic world.
Shift From ‘Developer-First’ to ‘AI-First’
At the heart of this new manifesto is a core cultural shift that must precede any architectural changes: moving from a “developer-first” to an “AI-first” design. As Sekar explains, for years, we have optimized our APIs for the convenience of human developers.
This approach favors flexibility, often resulting in fewer, multipurpose endpoints and a reliance on external documentation to clarify ambiguity. A human developer can read a guide to understand that a certain parameter is required only when another is present — a nuance we have long taken for granted.
“We must now build APIs optimized for consumption by machines, which requires a fundamentally different design philosophy than the one we use for human-centric development.”
— Srinivasan Sekar, director of engineering at LambdaTest
AI agents, however, are fundamentally different consumers. They cannot read external documentation or infer implicit relationships between parameters. An AI operates solely on the explicit, machine-readable contract provided by the API’s schema. This, he argues, is the crux of the “AI-first” philosophy: a design approach that prioritizes the absolute, unambiguous clarity that machines require, leaving no room for interpretation in the contract.
TRENDING STORIES
- Four prompt engineering patterns every developer should know — and why "draw a cat" explains them all
- Why most AI projects fail after the demo actually works
- Anthropic: You can still use your Claude accounts to run OpenClaw, NanoClaw and Co.
- Capital One deprecated an AI tool it once championed. Its DevEx chief says that's the point.
- Perplexity Computer wows, Karpathy kills vibe coding, and OpenAI replaces Anthropic at the Pentagon
Sai Krishna, working alongside Sekar, adds a practical dimension to this shift: “At LambdaTest, we learned this the hard way. We had a perfectly functional API for configuring test environments that developers loved for its flexibility. But when AI agents started using it, we saw a 40% failure rate because the agents couldn’t interpret the implicit rules we’d documented separately. We had to completely rethink our approach.”
This means favoring more specific, single-purpose endpoints and defining all constraints explicitly within the schema itself. This mindset is the non-negotiable foundation for building any successful and reliable agentic system.
Unlearning the Three Habits of Human-Centric APIs
Adopting this “AI-first” philosophy in practice means actively unlearning several ingrained habits of traditional, human-centric API design. Sekar identifies three common patterns that, while convenient for human developers, create critical failures when consumed by AI agents.
First is the habit of overloading single endpoints with multiple behaviors. A developer can handle this flexibility, but an AI agent struggles with the ambiguity. The AI-first approach requires distinct, single-purpose endpoints where the function is explicit.
- Before: A single
POST /userendpoint would ambiguously handle both creating and updating a user based on whether anidwas present in the payload. - After: The AI-first approach uses two distinct and predictable endpoints:
POST /usersto create a new user andPUT /users/{id}to update an existing one.
Second is the reliance on implicit contracts and external documentation. For an agent to act reliably, all parameter relationships and dependencies must be explicitly declared within the machine-readable schema itself.
- Before: A traditional schema would list
user_typeandadmin_levelas optional, forcing a developer to read external documentation to learn their conditional relationship. - After: An AI-first schema makes this relationship explicit using conditional logic, allowing a machine to understand the contract without any external context.
Finally, teams must unlearn the habit of providing generic error responses. An AI-first API must provide structured, detailed error responses that allow an agent to self-correct.
- Before: A generic JSON response like
{"message": "Bad Request"}would halt an automated workflow. - After: A structured JSON error provides specific fields for the error
code,messageanddetails, indicating exactly which parameter was invalid.
These shifts share the common purpose of eliminating ambiguity. By making endpoints, contracts and errors explicit, developers provide the predictable foundation necessary for autonomous agents to act reliably and effectively.
The New Pillars of AI-First Design
Beyond simply avoiding old habits, building an AI-first API requires embracing a new set of positive design principles centered on clarity and predictability.
“This begins with semantic clarity,” says Sean Falconer, senior director of product, AI strategy at Confluent. A truly AI-native API must do more than just describe its technical function; its machine-readable contract must also describe its business purpose, its prerequisites and any potential side effects. This provides the rich context an AI agent needs to reason about not just how to use a tool, but when and why.
A truly AI-native API must do more than just describe its technical function; its machine-readable contract must also describe its business purpose, its prerequisites and any potential side effects.
This means developers must enrich their API schemas, moving beyond simple data types. For example, in an OpenAPI specification, every parameter and endpoint should include a detailed description that explains not just the “what” (for instance, an integer ID), but the “why” (such as the unique customer identifier used for billing and support tickets).
This level of clarity is best achieved by designing what Falconer refers to as small, purpose-built tools rather than exposing large, generic API surfaces. Yoni Michael, CTO of Typedef, agrees with this principle, advocating for a “minimal surface area,” meaning the API should expose only what is absolutely essential for a given task.
For architects, this translates into a clear design mandate: Resist the urge to create monolithic, all-purpose endpoints. Instead, complex business processes should be broken down into their smallest logical components, with a dedicated, constrained API designed for each one. A sprawling /orders API, for instance, could be refactored into focused, purpose-built tools like /create-order, /check-order-status and /request-refund. Creating these well-defined tools reduces ambiguity and the cognitive load on the AI, making its behavior easier to govern and evaluate.
All of these principles serve a single, critical goal: achieving what Michael calls deterministic behavior. An autonomous agent cannot afford surprises when it is chaining together multiple tools to execute a complex workflow. The system must be utterly reliable and predictable.
To deliver on this, engineers must prioritize rigorous testing and stateless design where possible. Every API call with the same inputs should consistently produce the same output, free from hidden dependencies or unpredictable side effects. This involves providing clear, idempotent interfaces for any operations that modify data, ensuring that repeated calls do not have unintended consequences.
By building APIs with semantic clarity, a minimal surface area and a clear purpose, architects provide the foundation of trust that allows an AI agent to build upon them effectively.
Hurdles of Reshaping Data for AI
Even with these forward-thinking design principles in place, there is a final, deeper architectural challenge that underpins all AI-first design. Sekar from LambdaTest identifies this as the most significant hurdle of all: the difficult but necessary task of data model flattening.
He explains that most existing enterprise APIs reflect deep-rooted data platform challenges, as they were designed around complex internal database schemas or nested object models. While a human developer can navigate these intricate structures, they create significant “cognitive overhead” for an AI agent.
A deeply nested data structure forces an AI model to expend valuable resources simply understanding the shape of the data and the relationships between its parts before it can even begin to act on the information.
This complexity introduces a high potential for error and makes the agent’s behavior less predictable. The AI-first solution is to flatten and normalize these data models, redesigning them into simpler, more predictable formats that are optimized for machine consumption.
“The companies building the most reliable agentic systems aren’t necessarily the ones with the most sophisticated AI models. They’re the ones who’ve done the hard work of redesigning their API foundations to speak the language machines understand.”
— Srinivasan Sekar
And this is usually the most resource-intensive part of the journey to becoming AI native. Sekar argues that this task goes far beyond simply documenting existing systems. It frequently requires a fundamental redesign of the data access layer and the creation of entirely new, parallel API surfaces that are purpose-built for AI agents.
Krishna shares the practical reality of this transformation: “We maintain two API layers now; our legacy developer API and our AI-optimized API. The AI version takes a test result object that was previously nested four levels deep and flattens it into a single-level structure with explicit relationship IDs. It tripled our schema size but cut agent processing time by 70%. The investment was significant, but necessary.” This ensures that the context provided to the AI is not just semantically clear, but also structurally simple and immediately useful.
The Future Is a ‘Behavioral Contract’
Taken together, these principles — a cultural shift to an AI-first mindset, the unlearning of old habits and a deep architectural commitment to clarity and simple data models — form a new manifesto for API design. But the impact of this new philosophy extends beyond the initial engineering of our systems and into their entire life cycle.
Sekar predicts that this will ultimately reshape core DevOps practices like API versioning. In a world where autonomous agents are the primary consumers, the focus of API management will shift from tracking simple syntax changes to guaranteeing “behavioral contracts.” The promise to the AI will no longer be just that the API’s structure is stable, but that its behavior is consistent and predictable, ensuring the same inputs always produce the expected type of outcome.
Krishna elaborates on how this plays out operationally: “We’ve started versioning our behavioral contracts separately from our API versions. An agent subscribes to a behavioral contract, say, ‘search capability with pagination,’ and we guarantee that contract’s behavior even as we evolve the underlying implementation. If we need to change behavior, we introduce a new contract version, giving agents time to adapt.”
Both Sekar and Krishna emphasize that this commitment to explicit, predictable and behaviorally consistent APIs is the ultimate expression of the AI-first philosophy.
“The companies building the most reliable agentic systems aren’t necessarily the ones with the most sophisticated AI models,” Sekar notes. “They’re the ones who’ve done the hard work of redesigning their API foundations to speak the language machines understand.”
This foundation is what the next generation of reliable agentic AI applications will be built upon.
GroupCreated with Sketch.
SHARE THIS STORY
SHARE THIS STORY
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
SUBSCRIBE
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.

\
\
Saqib Jan is a technology analyst with experience in application development, FinOps and cloud technologies. \
\
Read more from Saqib Jan