Skip to content

Commit 3411b02

Browse files
authored
Reorganize project structure and improve documentation (#129)
* refactor: reorganize project structure - Move actions/ to lib/actions/ for better code organization - Move .claude/commands/ to docs/commands/ for documentation consolidation - Remove obsolete design_specification.md and style.md - Update import paths in components * docs: humanize README and fix outdated information - Remove emoji decorations from section headings - Simplify Key Features section with concise descriptions - Update Next.js version from 15.5.4 to 16.0.10 - Fix repository URLs (FullstackAgent -> FullAgent) - Remove duplicate ENABLE_PASSWORD_AUTH env var - Fix installation step numbering (was 3,6,7 -> now 3,4,5) - Update project directory name to fulling - Remove API Documentation section - Fix grammar in Star section heading * refactor: lint
1 parent 7334937 commit 3411b02

10 files changed

Lines changed: 31 additions & 449 deletions

File tree

README.md

Lines changed: 29 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Fulling - AI-Powered Full-Stack Development Platform
22

33
<div align="center">
4-
<img src="https://img.shields.io/badge/Next.js-15.5.4-black?style=for-the-badge&logo=next.js" alt="Next.js"/>
5-
<img src="https://img.shields.io/badge/TypeScript-5.0-blue?style=for-the-badge&logo=typescript" alt="TypeScript"/>
4+
<img src="https://img.shields.io/badge/Next.js-16.0.10-black?style=for-the-badge&logo=next.js" alt="Next.js"/>
5+
<img src="https://img.shields.io/badge/TypeScript-5-blue?style=for-the-badge&logo=typescript" alt="TypeScript"/>
66
<img src="https://img.shields.io/badge/PostgreSQL-14-blue?style=for-the-badge&logo=postgresql" alt="PostgreSQL"/>
77
<img src="https://img.shields.io/badge/Kubernetes-1.28-326ce5?style=for-the-badge&logo=kubernetes" alt="Kubernetes"/>
88
<img src="https://img.shields.io/badge/Claude_Code-AI-purple?style=for-the-badge" alt="Claude Code"/>
99
</div>
1010

11-
## 🚀 Overview
11+
## Overview
1212

1313
Fulling provides a sandboxed environment with Claude Code and PostgreSQL — everything you need to vibe code full-stack apps.
1414

@@ -23,46 +23,30 @@ Fulling automatically sets up the following for your project, ready in a minute:
2323
<img width="3022" height="1532" alt="project_details" src="https://github.com/user-attachments/assets/b100a833-fa3d-459e-83d9-3b590beb79a3" />
2424

2525

26-
### ✨ Key Features
26+
### Features
2727

28-
Fulling is designed to streamline the entire full-stack development lifecycle using an AI-centric approach. Its core capabilities are delivered through a highly orchestrated, self-contained development sandbox:
28+
- **Dev environment** - Next.js + shadcn/ui + Claude Code CLI, all pre-configured. Environment variables are set up, so you can start coding immediately.
2929

30-
* **Pre-Configured AI Development Environment:**
31-
* A complete, immediately usable development environment is provisioned, featuring **Next.js**, **shadcn/ui**, and the **Claude Code CLI**.
32-
* Essential AI-related environment variables (e.g., `BASE_URL`, `KEY`, etc.) are automatically configured and injected, allowing the AI agent to begin coding instantly without manual setup.
30+
- **Database** - Each project gets its own PostgreSQL instance via KubeBlocks. Connection string is injected as `DATABASE_URL`.
3331

34-
* **Isolated PostgreSQL Database Provisioning:**
35-
* A dedicated and isolated **PostgreSQL** database instance is automatically created for each project using **KubeBlocks**.
36-
* The database connection string is securely injected into the development environment as an environment variable (`DATABASE_URL`), ensuring the AI can access and configure the persistence layer.
32+
- **Live domains** - HTTPS subdomains with SSL, mapped to ports 3000/5000/8080. Your app is accessible the moment you run it.
3733

38-
* **Automated Public Endpoint and Domain Mapping:**
39-
* Multiple accessible subdomains are automatically allocated and managed (**HTTPS ingress with SSL termination**).
40-
* These subdomains are configured to map to the specific application ports you wish to expose (e.g., ports 3000, 5000, 8080), providing immediate external access for testing and live development.
34+
- **Web terminal** - Built-in ttyd terminal. Chat with Claude Code, run commands, see output—all in your browser.
4135

42-
* **Natural Language Interaction via Web Terminal:**
43-
* All core development and configuration tasks are performed through a built-in **Web Terminal (ttyd)** using natural language instructions.
44-
* This provides a direct, low-friction interface for interacting with the AI engineer, receiving code, running commands, and monitoring the development process.
36+
- **Config awareness** - Set up OAuth or payment configs in the UI. Claude Code can read these and implement the features for you.
4537

46-
* **AI-Aware Business Configuration:**
47-
* Specific business configurations, such as **OAuth settings** (e.g., GitHub authentication) and **Payment configurations**, can be fed into the platform.
48-
* This configuration metadata is made accessible as contextual prompts, allowing the Claude Code agent to intelligently perceive and implement corresponding features (e.g., configuring NextAuth) directly into the generated code.
38+
- **GitHub sync** - Connect your repo. Push, pull, version control—works like you'd expect.
4939

50-
* **Seamless GitHub Repository Integration:**
51-
* The platform is designed for easy association with an external **GitHub repository**.
52-
* This facilitates standard code repository management, version control, and collaboration by connecting the AI's generated code to your preferred source control workflow.
40+
- **One-click deploy** - Deploy from sandbox to production Kubernetes. No YAML wrangling required.
5341

54-
* **Automated High-Availability Deployment:**
55-
* Projects can be automatically deployed from the development sandbox to a high-availability production environment, leveraging the underlying **Kubernetes** infrastructure.
56-
* This aims to abstract away the complexities of deployment, allowing the AI to manage the transition from development to live application.
57-
58-
## Star Fulling on GitHub can get the latest released information.
42+
## Star us for latest updates
5943

6044
![star-demo](https://github.com/user-attachments/assets/bc497e0b-bd23-4ded-a231-1e382d56f92e)
6145

62-
## 🛠️ Technology Stack
46+
## Tech Stack
6347

6448
### Frontend
65-
- **Framework**: Next.js 15.5.4 (App Router)
49+
- **Framework**: Next.js 16.0.10 (App Router)
6650
- **Language**: TypeScript
6751
- **Styling**: Tailwind CSS v4
6852
- **UI Components**: Shadcn/UI
@@ -80,7 +64,7 @@ Fulling is designed to streamline the entire full-stack development lifecycle us
8064
- **Web Terminal**: ttyd
8165
- **Container Image**: fullstack-web-runtime (Custom Docker image with development tools)
8266

83-
## 📦 Installation
67+
## Installation
8468

8569
### Prerequisites
8670

@@ -93,7 +77,7 @@ Fulling is designed to streamline the entire full-stack development lifecycle us
9377

9478
1. Clone the repository:
9579
```bash
96-
git clone https://github.com/FullstackAgent/fulling.git
80+
git clone https://github.com/FullAgent/fulling.git
9781
cd fulling
9882
```
9983

@@ -139,18 +123,16 @@ ANTHROPIC_BASE_URL=""
139123
LOG_LEVEL="info"
140124
141125
# login
142-
ENABLE_PASSWORD_AUTH=""
143-
ENABLE_PASSWORD_AUTH=""
144126
ENABLE_SEALOS_AUTH=""
145127
```
146128

147-
6. Initialize database:
129+
4. Initialize database:
148130
```bash
149131
npx prisma generate
150132
npx prisma db push
151133
```
152134

153-
7. Run the development server:
135+
5. Run the development server:
154136
```bash
155137
pnpm run dev
156138
```
@@ -161,7 +143,7 @@ Open [http://localhost:3000](http://localhost:3000) to access the application.
161143

162144
prisma/schema.prisma
163145

164-
## 🚢 Deployment
146+
## Deployment
165147

166148
### Kubernetes Resources
167149

@@ -190,12 +172,12 @@ Default resource allocation per sandbox:
190172
- Memory: 256Mi limit, 25Mi request
191173
- Storage: 3Gi for database
192174

193-
## 🔧 Development
175+
## Development
194176

195177
### Project Structure
196178

197179
```
198-
fullstack-agent/
180+
fulling/
199181
├── app/ # Next.js App Router pages
200182
│ ├── api/ # API routes
201183
│ ├── projects/ # Project management pages
@@ -229,56 +211,17 @@ fullstack-agent/
229211
- Prisma ORM configuration
230212
- Connection pooling
231213

232-
## 📚 API Documentation
233-
234-
### Sandbox Management
235-
236-
#### Create Sandbox
237-
```http
238-
POST /api/sandbox/[projectId]
239-
Content-Type: application/json
240-
241-
{
242-
"envVars": {
243-
"KEY": "value"
244-
}
245-
}
246-
```
247-
248-
#### Get Sandbox Status
249-
```http
250-
GET /api/sandbox/[projectId]
251-
```
252-
253-
#### Delete Sandbox
254-
```http
255-
DELETE /api/sandbox/[projectId]
256-
```
257-
258-
### Project Management
259-
260-
#### Create Project
261-
```http
262-
POST /api/projects
263-
Content-Type: application/json
264-
265-
{
266-
"name": "project-name",
267-
"description": "Project description"
268-
}
269-
```
270-
271-
## 🔒 Security
214+
## Security
272215

273216
- **Authentication**: GitHub OAuth ensures only authorized users can access the platform
274217
- **Isolation**: Each sandbox runs in its own Kubernetes namespace
275218
- **Secrets Management**: Sensitive data stored in Kubernetes secrets
276219
- **Network Policies**: Sandboxes isolated from each other
277220
- **Resource Limits**: Prevents resource exhaustion attacks
278221

279-
## 🤝 Contributing
222+
## Contributing
280223

281-
We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details.
224+
See [Contributing Guidelines](CONTRIBUTING.md) for details.
282225

283226
### Development Setup
284227

@@ -288,20 +231,20 @@ We welcome contributions! Please see our [Contributing Guidelines](CONTRIBUTING.
288231
4. Run tests: `npm test`
289232
5. Submit a pull request
290233

291-
## 📄 License
234+
## License
292235

293-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
236+
MIT License - see [LICENSE](LICENSE).
294237

295-
## 🙏 Acknowledgments
238+
## Acknowledgments
296239

297240
- [Anthropic](https://www.anthropic.com/) for Claude Code
298241
- [Sealos](https://sealos.io/) for Kubernetes platform
299242
- [ttyd](https://github.com/tsl0922/ttyd) for web terminal
300243

301-
## 📞 Contact
244+
## Contact
302245

303246
- GitHub: [@fanux](https://github.com/fanux)
304-
- Issues: [GitHub Issues](https://github.com/FullstackAgent/FullstackAgent/issues)
247+
- Issues: [GitHub Issues](https://github.com/FullAgent/fulling/issues)
305248

306249
---
307250

components/home-page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import Link from 'next/link';
66
import { useRouter } from 'next/navigation';
77
import { useSession } from 'next-auth/react';
88

9-
import { authenticateWithSealos } from '@/actions/sealos-auth';
109
import { MatrixRain } from '@/components/MatrixRain';
1110
import { Button } from '@/components/ui/button';
11+
import { authenticateWithSealos } from '@/lib/actions/sealos-auth';
1212
import { useSealos } from '@/provider/sealos';
1313

1414
/**

components/terminal/toolbar/directory-selector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import { useEffect,useState } from 'react';
44
import { ChevronDown, Folder, Loader2 } from 'lucide-react';
55

6-
import { runCommand } from '@/actions/sandbox';
76
import {
87
DropdownMenu,
98
DropdownMenuContent,
109
DropdownMenuItem,
1110
DropdownMenuTrigger,
1211
} from '@/components/ui/dropdown-menu';
12+
import { runCommand } from '@/lib/actions/sandbox';
1313

1414
interface DirectorySelectorProps {
1515
sandboxId?: string;
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)