@autobe/filesystem 0.14.0-dev.20250727 β†’ 0.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Wrtn Technologies
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/package.json CHANGED
@@ -1,34 +1,67 @@
1
- {
2
- "name": "@autobe/filesystem",
3
- "version": "0.14.0-dev.20250727",
4
- "description": "Internal FileSystem for AutoBE Project, not distributed to public",
5
- "main": "src/index.ts",
6
- "scripts": {
7
- "build": "rimraf lib && tsc",
8
- "prepack": "pnpm run build"
9
- },
10
- "author": "Wrtn Technologies",
11
- "license": "MIT",
12
- "packageManager": "pnpm@10.6.4",
13
- "dependencies": {
14
- "@samchon/openapi": "catalog:samchon",
15
- "tstl": "catalog:samchon"
16
- },
17
- "devDependencies": {
18
- "@types/node": "^22.15.19",
19
- "rimraf": "^6.0.1",
20
- "typescript": "catalog:typescript"
21
- },
22
- "files": [
23
- "lib",
24
- "src",
25
- "package.json",
26
- "LICENSE",
27
- "README.md"
28
- ],
29
- "publishConfig": {
30
- "access": "public",
31
- "main": "lib/index.js",
32
- "typings": "lib/index.d.ts"
33
- }
34
- }
1
+ {
2
+ "name": "@autobe/filesystem",
3
+ "version": "0.14.3",
4
+ "description": "AI backend server code generator",
5
+ "main": "lib/index.js",
6
+ "author": "Wrtn Technologies",
7
+ "license": "MIT",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/wrtnlabs/autobe"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/wrtnlabs/autobe/issues"
14
+ },
15
+ "dependencies": {
16
+ "@samchon/openapi": "^4.6.0",
17
+ "tstl": "^3.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^22.15.19",
21
+ "rimraf": "^6.0.1",
22
+ "typescript": "~5.8.3"
23
+ },
24
+ "files": [
25
+ "lib",
26
+ "src",
27
+ "package.json",
28
+ "LICENSE",
29
+ "README.md"
30
+ ],
31
+ "keywords": [
32
+ "ai",
33
+ "api",
34
+ "api-design",
35
+ "auto-generation",
36
+ "autobe",
37
+ "automation",
38
+ "backend",
39
+ "backend-development",
40
+ "code-generation",
41
+ "documentation",
42
+ "e2e-testing",
43
+ "erd",
44
+ "nestjs",
45
+ "openapi",
46
+ "orm",
47
+ "postgres",
48
+ "postgresql",
49
+ "prisma",
50
+ "requirements-analysis",
51
+ "rest",
52
+ "server",
53
+ "spiral-model",
54
+ "swagger",
55
+ "testing",
56
+ "typescript",
57
+ "vibe-coding",
58
+ "waterfall"
59
+ ],
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "scripts": {
64
+ "build": "rimraf lib && tsc"
65
+ },
66
+ "typings": "lib/index.d.ts"
67
+ }
@@ -1,53 +1,53 @@
1
- import fs from "fs";
2
- import path from "path";
3
- import { VariadicSingleton } from "tstl";
4
-
5
- /** @internal */
6
- export namespace FileSystemIterator {
7
- export const read = async (props: {
8
- root: string;
9
- extension?: string;
10
- prefix?: string;
11
- }): Promise<Record<string, string>> => {
12
- const output: Record<string, string> = {};
13
- const iterate = async (location: string) => {
14
- const directory: string[] = await fs.promises.readdir(location);
15
- for (const file of directory) {
16
- const next: string = `${location}/${file}`;
17
- const stat: fs.Stats = await fs.promises.stat(next);
18
- if (stat.isDirectory()) await iterate(next);
19
- else if (
20
- !props.extension?.length ||
21
- file.endsWith(`.${props.extension}`)
22
- )
23
- output[
24
- `${props.prefix ?? ""}${next.substring(props.root.length + 1)}`
25
- ] = await fs.promises.readFile(next, "utf-8");
26
- }
27
- };
28
- await iterate(props.root);
29
- return output;
30
- };
31
-
32
- export const save = async (props: {
33
- root: string;
34
- files: Record<string, string>;
35
- }): Promise<void> => {
36
- if (fs.existsSync(props.root))
37
- await fs.promises.rm(props.root, {
38
- recursive: true,
39
- });
40
- const directory = new VariadicSingleton(async (location: string) => {
41
- try {
42
- await fs.promises.mkdir(location, {
43
- recursive: true,
44
- });
45
- } catch {}
46
- });
47
- for (const [key, value] of Object.entries(props.files)) {
48
- const file: string = path.resolve(`${props.root}/${key}`);
49
- await directory.get(path.dirname(file));
50
- await fs.promises.writeFile(file, value ?? "", "utf8");
51
- }
52
- };
53
- }
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { VariadicSingleton } from "tstl";
4
+
5
+ /** @internal */
6
+ export namespace FileSystemIterator {
7
+ export const read = async (props: {
8
+ root: string;
9
+ extension?: string;
10
+ prefix?: string;
11
+ }): Promise<Record<string, string>> => {
12
+ const output: Record<string, string> = {};
13
+ const iterate = async (location: string) => {
14
+ const directory: string[] = await fs.promises.readdir(location);
15
+ for (const file of directory) {
16
+ const next: string = `${location}/${file}`;
17
+ const stat: fs.Stats = await fs.promises.stat(next);
18
+ if (stat.isDirectory()) await iterate(next);
19
+ else if (
20
+ !props.extension?.length ||
21
+ file.endsWith(`.${props.extension}`)
22
+ )
23
+ output[
24
+ `${props.prefix ?? ""}${next.substring(props.root.length + 1)}`
25
+ ] = await fs.promises.readFile(next, "utf-8");
26
+ }
27
+ };
28
+ await iterate(props.root);
29
+ return output;
30
+ };
31
+
32
+ export const save = async (props: {
33
+ root: string;
34
+ files: Record<string, string>;
35
+ }): Promise<void> => {
36
+ if (fs.existsSync(props.root))
37
+ await fs.promises.rm(props.root, {
38
+ recursive: true,
39
+ });
40
+ const directory = new VariadicSingleton(async (location: string) => {
41
+ try {
42
+ await fs.promises.mkdir(location, {
43
+ recursive: true,
44
+ });
45
+ } catch {}
46
+ });
47
+ for (const [key, value] of Object.entries(props.files)) {
48
+ const file: string = path.resolve(`${props.root}/${key}`);
49
+ await directory.get(path.dirname(file));
50
+ await fs.promises.writeFile(file, value ?? "", "utf8");
51
+ }
52
+ };
53
+ }
@@ -1,92 +1,92 @@
1
- import { OpenApi } from "@samchon/openapi";
2
- import cp from "child_process";
3
- import fs from "fs";
4
- import { VariadicSingleton } from "tstl";
5
-
6
- import { FileSystemIterator } from "./FileSystemIterator";
7
-
8
- /** @internal */
9
- export namespace RepositoryFileSystem {
10
- export const analyze = async (
11
- account: string,
12
- project: string,
13
- ): Promise<Record<string, string>> => {
14
- await vs.get(account, project);
15
- return FileSystemIterator.read({
16
- root: `${ROOT}/internals/repositories/${account}/${project}/docs/requirements`,
17
- extension: "md",
18
- });
19
- };
20
-
21
- export const prisma = async (
22
- account: string,
23
- project: string,
24
- ): Promise<Record<string, string>> => {
25
- await vs.get(account, project);
26
- const result: Record<string, string> = await FileSystemIterator.read({
27
- root: `${ROOT}/internals/repositories/${account}/${project}/prisma/schema`,
28
- extension: "prisma",
29
- });
30
- for (const [key, value] of Object.entries(result))
31
- result[key] = value.split("@author Samchon").join("@author AutoBE");
32
- return result;
33
- };
34
-
35
- export const src = async (
36
- account: string,
37
- project: string,
38
- ): Promise<Record<string, string>> => {
39
- await vs.get(account, project);
40
- return FileSystemIterator.read({
41
- root: `${ROOT}/internals/repositories/${account}/${project}/src`,
42
- prefix: "src/",
43
- extension: "ts",
44
- });
45
- };
46
-
47
- export const swagger = async (
48
- account: string,
49
- project: string,
50
- ): Promise<OpenApi.IDocument> => {
51
- await vs.get(account, project);
52
- return OpenApi.convert(
53
- JSON.parse(
54
- await fs.promises.readFile(
55
- `${ROOT}/internals/repositories/${account}/${project}/packages/api/swagger.json`,
56
- "utf8",
57
- ),
58
- ),
59
- );
60
- };
61
-
62
- export const clone = async (
63
- account: string,
64
- project: string,
65
- ): Promise<void> => {
66
- await vs.get(account, project);
67
- };
68
-
69
- const vs = new VariadicSingleton(
70
- async (account: string, project: string): Promise<void> => {
71
- const location: string = `${ROOT}/internals/repositories/${account}/${project}`;
72
- if (fs.existsSync(location))
73
- cp.execSync("git pull", {
74
- cwd: location,
75
- stdio: "ignore",
76
- });
77
- else {
78
- try {
79
- await fs.promises.mkdir(`${ROOT}/internals/repositories/${account}`, {
80
- recursive: true,
81
- });
82
- } catch {}
83
- cp.execSync(`git clone https://github.com/${account}/${project}`, {
84
- cwd: `${ROOT}/internals/repositories/${account}`,
85
- stdio: "ignore",
86
- });
87
- }
88
- },
89
- );
90
-
91
- const ROOT = `${__dirname}/../../..`;
92
- }
1
+ import { OpenApi } from "@samchon/openapi";
2
+ import cp from "child_process";
3
+ import fs from "fs";
4
+ import { VariadicSingleton } from "tstl";
5
+
6
+ import { FileSystemIterator } from "./FileSystemIterator";
7
+
8
+ /** @internal */
9
+ export namespace RepositoryFileSystem {
10
+ export const analyze = async (
11
+ account: string,
12
+ project: string,
13
+ ): Promise<Record<string, string>> => {
14
+ await vs.get(account, project);
15
+ return FileSystemIterator.read({
16
+ root: `${ROOT}/internals/repositories/${account}/${project}/docs/requirements`,
17
+ extension: "md",
18
+ });
19
+ };
20
+
21
+ export const prisma = async (
22
+ account: string,
23
+ project: string,
24
+ ): Promise<Record<string, string>> => {
25
+ await vs.get(account, project);
26
+ const result: Record<string, string> = await FileSystemIterator.read({
27
+ root: `${ROOT}/internals/repositories/${account}/${project}/prisma/schema`,
28
+ extension: "prisma",
29
+ });
30
+ for (const [key, value] of Object.entries(result))
31
+ result[key] = value.split("@author Samchon").join("@author AutoBE");
32
+ return result;
33
+ };
34
+
35
+ export const src = async (
36
+ account: string,
37
+ project: string,
38
+ ): Promise<Record<string, string>> => {
39
+ await vs.get(account, project);
40
+ return FileSystemIterator.read({
41
+ root: `${ROOT}/internals/repositories/${account}/${project}/src`,
42
+ prefix: "src/",
43
+ extension: "ts",
44
+ });
45
+ };
46
+
47
+ export const swagger = async (
48
+ account: string,
49
+ project: string,
50
+ ): Promise<OpenApi.IDocument> => {
51
+ await vs.get(account, project);
52
+ return OpenApi.convert(
53
+ JSON.parse(
54
+ await fs.promises.readFile(
55
+ `${ROOT}/internals/repositories/${account}/${project}/packages/api/swagger.json`,
56
+ "utf8",
57
+ ),
58
+ ),
59
+ );
60
+ };
61
+
62
+ export const clone = async (
63
+ account: string,
64
+ project: string,
65
+ ): Promise<void> => {
66
+ await vs.get(account, project);
67
+ };
68
+
69
+ const vs = new VariadicSingleton(
70
+ async (account: string, project: string): Promise<void> => {
71
+ const location: string = `${ROOT}/internals/repositories/${account}/${project}`;
72
+ if (fs.existsSync(location))
73
+ cp.execSync("git pull", {
74
+ cwd: location,
75
+ stdio: "ignore",
76
+ });
77
+ else {
78
+ try {
79
+ await fs.promises.mkdir(`${ROOT}/internals/repositories/${account}`, {
80
+ recursive: true,
81
+ });
82
+ } catch {}
83
+ cp.execSync(`git clone https://github.com/${account}/${project}`, {
84
+ cwd: `${ROOT}/internals/repositories/${account}`,
85
+ stdio: "ignore",
86
+ });
87
+ }
88
+ },
89
+ );
90
+
91
+ const ROOT = `${__dirname}/../../..`;
92
+ }
package/src/index.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./FileSystemIterator";
2
- export * from "./RepositoryFileSystem";
1
+ export * from "./FileSystemIterator";
2
+ export * from "./RepositoryFileSystem";
package/README.md DELETED
@@ -1,212 +0,0 @@
1
- # AutoBE - No-Code Agent for Backend Applications
2
-
3
- <div align="center">
4
-
5
- ```mermaid
6
- flowchart
7
- subgraph "Backend Coding Agent"
8
- coder("Facade Controller")
9
- end
10
- subgraph "Functional Agents"
11
- coder --"Requirements Analysis"--> analyze("Analyze")
12
- coder --"ERD"--> prisma("Prisma")
13
- coder --"API Design"--> interface("Interface")
14
- coder --"Test Codes" --> test("Test")
15
- coder --"Main Program" --> realize("Realize")
16
- end
17
- subgraph "Compiler Feedback"
18
- prisma --"validates" --> prismaCompiler("Prisma Compiler")
19
- interface --"validates" --> openapiValidator("OpenAPI Validator")
20
- interface --"generates" --> tsCompiler("TypeScript Compiler")
21
- test --"validates" --> tsCompiler("TypeScript Compiler")
22
- realize --"validates" --> tsCompiler("TypeScript Compiler")
23
- end
24
- ```
25
-
26
- [![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/wrtnlabs/autobe/blob/master/LICENSE)
27
- [![NPM Version](https://img.shields.io/npm/v/@autobe/agent.svg)](https://www.npmjs.com/package/@autobe/agent)
28
- [![NPM Downloads](https://img.shields.io/npm/dm/@autobe/agent.svg)](https://www.npmjs.com/package/@autobe/agent)
29
- [![Build Status](https://github.com/wrtnlabs/autobe/workflows/build/badge.svg)](https://github.com/wrtnlabs/autobe/actions?query=workflow%3Abuild)
30
- [![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://wrtnlabs.io/autobe/docs/)
31
- [![Discord Badge](https://dcbadge.limes.pink/api/server/https://discord.gg/aMhRmzkqCx?style=flat)](https://discord.gg/aMhRmzkqCx)
32
-
33
- [![Fund Raising News](https://wrtnlabs.io/agentica/images/badges/fund-raising-news-202503.svg)](https://www.bloomberg.com/news/videos/2025-03-31/wtrn-on-series-b-funding-growth-strategy-video)
34
- [![One Mission](https://wrtnlabs.io/agentica/images/badges/open-source-mission.svg)](https://github.com/wrtnlabs)
35
-
36
- </div>
37
-
38
- An AI-powered no-code agent that builds backend applications, enhanced by compiler feedback.
39
-
40
- `@autobe` is a no-code AI agent that analyzes user requirements and automatically generates backend applications using the stack below, following a waterfall development model. Since `@autobe`-generated code is validated by review agents and OpenAPI/TypeScript/Prisma compilers, it delivers 100% working code.
41
-
42
- - TypeScript
43
- - NestJS
44
- - Prisma (Postgres / SQLite)
45
-
46
- ## Playground
47
-
48
- https://github.com/user-attachments/assets/b995dd2a-23bd-43c9-96cb-96d5c805f19f
49
-
50
- [https://stackblitz.com/github/wrtnlabs/autobe-playground-stackblitz](https://stackblitz.com/github/wrtnlabs/autobe-playground-stackblitz?file=md!README.md)
51
-
52
- Experience the `@autobe` agent through our interactive playground above.
53
-
54
- To see examples of backend applications generated by `@autobe`, explore these interactive demos. These showcase `@autobe`'s ability to generate production-ready backend code with proper structure, API documentation, and TypeScript interfaces. If you're unsure what to try, start with the BBS example script below.
55
-
56
- - [BBS (Bulletin Board System)](https://github.com/wrtnlabs/autobe-example-bbs)
57
- 1. I want to create a political/economic discussion board. Since I'm not familiar with programming, please write a requirements analysis report as you see fit.
58
- 2. Design the database schema.
59
- 3. Create the API interface specification.
60
- 4. Make the e2e test functions.
61
- - [E-Commerce](https://github.com/wrtnlabs/autobe-example-shopping)
62
-
63
- ## Documentation Resources
64
-
65
- Find comprehensive resources at our [official website](https://wrtnlabs.io/autobe).
66
-
67
- ### 🏠 Home
68
-
69
- - πŸ™‹πŸ»β€β™‚οΈ [Introduction](https://wrtnlabs.io/autobe/docs)
70
- - πŸ“¦ [Setup](https://wrtnlabs.io/autobe/docs/setup)
71
- - πŸ” Concepts
72
- - [Waterfall Model](https://wrtnlabs.io/autobe/docs/concepts/waterfall)
73
- - [Compiler Strategy](https://wrtnlabs.io/autobe/docs/concepts/compiler)
74
- - [AI Function Calling](https://wrtnlabs.io/autobe/docs/concepts/function-calling)
75
-
76
- ### πŸ“– Features
77
-
78
- - πŸ€– Agent Library
79
- - [Facade Controller](https://wrtnlabs.io/autobe/docs/agent/facade)
80
- - [Configuration](https://wrtnlabs.io/autobe/docs/agent/config)
81
- - [Event Handling](https://wrtnlabs.io/autobe/docs/agent/event)
82
- - [Prompt Histories](https://wrtnlabs.io/autobe/docs/agent/history)
83
- - πŸ“‘ WebSocket Protocol
84
- - [Remote Procedure Call](https://wrtnlabs.io/autobe/docs/websocket/rpc)
85
- - [NestJS Server](https://wrtnlabs.io/autobe/docs/websocket/nestjs)
86
- - [NodeJS Server](https://wrtnlabs.io/autobe/docs/websocket/nodejs)
87
- - [Client Application](https://wrtnlabs.io/autobe/docs/websocket/client)
88
- - πŸ› οΈ Backend Stack
89
- - [TypeScript](https://wrtnlabs.io/autobe/docs/stack/typescript)
90
- - [Prisma ORM](https://wrtnlabs.io/autobe/docs/stack/prisma)
91
- - [NestJS Framework](https://wrtnlabs.io/autobe/docs/stack/nestjs)
92
-
93
- ### πŸ”— Appendix
94
-
95
- - 🌐 [No-Code Ecosystem](https://wrtnlabs.io/autobe/docs/ecosystem)
96
- - πŸ“… Roadmap
97
- - [Alpha Release (completed)](https://wrtnlabs.io/autobe/docs/roadmap/alpha)
98
- - [Beta Release (in progress)](https://wrtnlabs.io/autobe/docs/roadmap/beta)
99
- - [v1.0 Official Release (planned)](https://wrtnlabs.io/autobe/docs/roadmap/v1.0)
100
- - πŸ”§ [API Documentation](https://wrtnlabs.io/autobe/api)
101
-
102
- ## No-Code Ecosystem
103
-
104
- ![Auto BE - OG Diagram](https://github.com/user-attachments/assets/d7bd7403-dedb-4194-9a21-4c2fb3af18e8)
105
-
106
- > A 70-year-old grandmother who grows tomatoes in the countryside created an online debate website in just 10 minutes. Despite being unfamiliar with coding or computers, she built this current affairs and [economics discussion community](https://github.dev/wrtnlabs/autobe-example-bbs) simply by talking with Wrtn's AI. What's remarkable is that users can write posts and comments entirely through voice commands and even engage in current affairs debates with AI.
107
- >
108
- > The next day, the grandmother spent another 20 minutes launching an [agricultural products shopping mall](https://github.dev/wrtnlabs/autobe-example-shopping). Customers can simply say "I'd like to order 2kg of tomatoes" to complete their purchase, while the grandmother manages everything from orders and shipping to inventory through simple chat conversations.
109
-
110
- This is the vision that we, the [WrtnLabs](https://github.com/wrtnlabs) team, are pursuing. We aim to create a world where anyone can build backend servers, AI chatbots, and frontend applications without any coding knowledgeβ€”simply by conversing with AI.
111
-
112
- To realize this vision, the [WrtnLabs](https://github.com/wrtnlabs) team is developing two additional projects: [`@agentica`](https://github.com/wrtnlabs/agentica) and [`@autoview`](https://github.com/wrtnlabs/autoview).
113
-
114
- - **`@agentica`**: Automatically creates AI chatbots when you provide a `swagger.json` file
115
- - **`@autoview`**: Automatically generates frontend applications when you provide a `swagger.json` file
116
-
117
- You're not limited to just creating backends with `@autobe`. Once you've built a no-code backend application through `@autobe`, you can immediately create an AI chatbot and frontend applications alongside it.
118
-
119
- Can you converse? Then you're a full-stack developer.
120
-
121
- ```typescript
122
- import { Agentica, assertHttpController } from "@agentica/core";
123
- import OpenAI from "openai";
124
- import typia from "typia";
125
-
126
- import { MobileFileSystem } from "./services/MobileFileSystem";
127
-
128
- const agent = new Agentica({
129
- vendor: {
130
- api: new OpenAI({ apiKey: "********" }),
131
- model: "gpt-4o-mini",
132
- },
133
- controllers: [
134
- // functions from TypeScript class
135
- typia.llm.controller<MobileFileSystem, "chatgpt">(
136
- "filesystem",
137
- MobileFileSystem(),
138
- ),
139
- // functions from Swagger/OpenAPI
140
- assertHttpController({
141
- name: "shopping",
142
- model: "chatgpt",
143
- document: await fetch(
144
- "https://shopping-be.wrtn.ai/editor/swagger.json",
145
- ).then(r => r.json()),
146
- connection: {
147
- host: "https://shopping-be.wrtn.ai",
148
- headers: { Authorization: "Bearer ********" },
149
- },
150
- }),
151
- ],
152
- });
153
- await agent.conversate("I wanna buy MacBook Pro");
154
- ```
155
-
156
- ## Roadmap Schedule
157
-
158
- ```mermaid
159
- gantt
160
- dateFormat YYYY-MM-DD
161
- title AutoBE Roadmap for Beta Release
162
-
163
- section Analyze Agent
164
- Debate Enhancement: done, 2025-06-01, 7d
165
- Prefix Rule: done, 2025-06-12, 7d
166
- Multimodal: planned, 2025-07-02, 31d
167
-
168
- section Prisma Agent
169
- Compiler Development: done, 2025-06-01, 14d
170
- Prohibition Rule: done, 2025-06-08, 7d
171
- SQLite Support: done, 2025-06-16, 7d
172
-
173
- section Interface Agent
174
- Keyworded SDK: done, 2025-06-01, 10d
175
- Authorization: done, 2025-06-19, 18d
176
- Snapshot Logic: planned, 2025-06-23, 14d
177
-
178
- section Test Agent
179
- Scenario Agent: done, 2025-06-01, 10d
180
- Coding Agent: done, 2025-06-12, 14d
181
- Compiler Feedback: done, 2025-06-12, 14d
182
- Function Calling: done, 2025-06-18, 14d
183
- Compiler Development: done, 2025-07-02, 60d
184
-
185
- section Realize Agent
186
- Planner Agent: done, 2025-07-02, 30d
187
- Coding Agent: done, 2025-07-02, 30d
188
- Compiler Feedback: done, 2025-07-17, 15d
189
- Function Calling: done, 2025-07-17, 31d
190
- Runtime Validation: active, 2025-08-01, 30d
191
-
192
- section Complementation
193
- Benchmark: done, 2025-06-12, 50d
194
- Demonstration: done, 2025-06-16, 14d
195
- Documentation: done, 2025-06-16, 45d
196
- Articles: active, 2025-07-02, 61d
197
- Review Agent: active, 2025-07-02, 45d
198
- Maintenance: active, 2025-08-01, 30d
199
-
200
- section Ecosystem
201
- Agentica Prerequisite: active, 2025-06-18, 13d
202
- WebSocket Streaming: planned, 2025-07-02, 14d
203
- History Manipulation: planned, 2025-07-16, 30d
204
- AI Chatbot Development: planned, 2025-07-16, 30d
205
- Data Seeder Agent: planned, 2025-08-01, 30d
206
- ```
207
-
208
- `@autobe`'s comprehensive three-month beta development roadmap spans from 2025-06-01 through 2025-08-31, marking a critical phase in our journey toward production readiness.
209
-
210
- Following the successful completion of our alpha release on 2025-05-31, we have established a robust foundation with fully developed Analysis, Prisma, and Interface Agents. These core components have successfully automated the most complex challenges in backend development: comprehensive requirements analysis, intelligent database architecture, and seamless API design. This achievement represents a significant milestone in our mission to completely automate backend application design.
211
-
212
- The upcoming beta phase strategically focuses on delivering and refining the Test Agent and Realization Agent while ensuring system-wide stability and performance optimization across the entire `@autobe` ecosystem. Our ambitious target for 2025-08-31 is to achieve a breakthrough: a 100% reliable No-Code Agent platform that can autonomously handle any backend application development challenge without human intervention.