MCPcopy Index your code
hub / github.com/FullAgent/fulling

github.com/FullAgent/fulling @v2.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.0 ↗ · + Follow
695 symbols 1,708 edges 219 files 122 documented · 18%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Fulling - AI-Powered Full-Stack Development Platform

Version 2.0.0 Next.js TypeScript PostgreSQL Kubernetes Claude Code

What is Fulling?

Fulling lets you focus on coding. AI handles everything else.

Import your project from GitHub or start fresh. Claude Code is your AI pair programmer in a browser-based development environment with a terminal, file manager, live URLs, and optional PostgreSQL.

Configuration-aware development. Add project environment variables, secrets, auth keys, or payment keys in the UI. Claude Code can read that project context and use it while implementing features.

Overview

Fulling v2 provides a sandboxed development environment with Claude Code, GitHub import, optional PostgreSQL, and asynchronous background reconciliation for project resources.

Fulling automatically sets up the core workspace, ready in a minute: - AI pair programmer (Claude Code) - Full-stack development environment - Optional dedicated database (PostgreSQL) - Web terminal & file manager - Live HTTPS domains

fulling-frame

fulling-desktop

Features

  • AI Pair Programmer - Claude Code is pre-installed and ready. Describe what you want, it writes the code.

  • Zero Setup Workspace - Full-stack environment with terminal, file manager, and live URLs. All pre-configured, ready in seconds.

  • Web Terminal - Full Linux terminal in your browser. Run commands, install packages, debug—everything you'd do locally.

  • File Manager - Drag & drop files, edit code in browser. Large file support built-in.

  • Live Domains - Your app gets HTTPS URLs instantly. No port forwarding, no ngrok. Just run and share.

  • Configuration-Aware - Add environment variables, secrets, auth keys, and payment keys in settings. Claude Code can read your config and implement against it.

  • GitHub Integration - Import repos, push changes, version control. Works like you'd expect.

  • Project Task Automation - GitHub import and skill installation run through persisted background tasks after the sandbox is ready.

Built With

  • Frontend: Next.js, React, TypeScript
  • Backend: Node.js, PostgreSQL
  • Infrastructure: Kubernetes

For technical details, see Architecture Documentation.

Installation

Prerequisites

  • Node.js 22.12.0 or higher
  • PostgreSQL database
  • Kubernetes cluster with KubeBlocks installed
  • GitHub App and OAuth application credentials

Environment Setup

  1. Clone the repository:
git clone https://github.com/FullAgent/fulling.git
cd fulling
  1. Install dependencies:
pnpm install
  1. Set up environment variables:

Copy .env.template to .env.local and fill in your values:

cp .env.template .env.local
  1. Initialize database:
npx prisma generate
npx prisma db push
  1. Run the development server:
pnpm run dev

Open http://localhost:3000 to access the application.

Database Schema

See Database Documentation for schema details.

Deployment

Kubernetes Resources

The platform creates the following Kubernetes resources for each project:

  1. Database Cluster (KubeBlocks):
  2. PostgreSQL 14.8.0
  3. 3Gi storage
  4. Auto-generated credentials

  5. Sandbox StatefulSet:

  6. Custom fullstack-web-runtime image
  7. Claude Code CLI pre-installed
  8. ttyd web terminal (port 7681)
  9. FileBrowser (port 8080)
  10. Application port (3000)

  11. Services & Ingresses:

  12. Internal service for pod networking
  13. HTTPS ingresses with SSL termination
  14. WebSocket support for terminal

Resource Limits

Default resource allocation per sandbox: - CPU: 20m request, 2000m limit - Memory: 25Mi request, 4096Mi limit - Storage: 10Gi for sandbox, 3Gi for database

Development

Project Structure

fulling/
├── app/                    # Next.js App Router pages
│   ├── api/               # API routes
│   ├── projects/          # Project management pages
│   └── layout.tsx         # Root layout
├── components/            # React components
│   ├── ui/               # Shadcn/UI components
│   └── terminal/         # Terminal components
├── lib/                   # Core libraries
│   ├── k8s/              # Kubernetes managers
│   ├── events/           # Event system
│   ├── jobs/             # Background jobs
│   ├── repo/             # Repository layer
│   └── services/         # Business services
├── prisma/               # Database schema
├── runtime/              # Docker image for sandboxes
└── docs/                 # Documentation

Key Services

  • SandboxManager (lib/k8s/sandbox-manager.ts) - StatefulSet operations
  • DatabaseManager (lib/k8s/database-manager.ts) - KubeBlocks operations
  • Authentication (lib/auth.ts) - Multi-provider OAuth
  • Event Listeners (lib/events/) - Lifecycle handlers

Documentation

Security

  • Authentication: Multi-provider OAuth (GitHub, Password, Sealos)
  • Isolation: Each sandbox runs in user-specific Kubernetes namespace
  • Terminal Auth: HTTP Basic Auth with URL token injection
  • Secrets Management: Sensitive data stored in Kubernetes secrets
  • Resource Limits: Prevents resource exhaustion

Contributing

See Contributing Guidelines for details.

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests: pnpm test
  5. Submit a pull request

License

MIT License - see LICENSE.

See v2.0.0 Release Notes for the current release scope.

Acknowledgments

Contact

Star us for latest updates

star-demo


100% AI-generated code. Prompted by @fanux.

Powered by Claude Code, with models from Anthropic (Sonnet, Opus), Google (Gemini), Zhipu AI (GLM), and Moonshot (Kimi).

Extension points exported contracts — how you extend this code

ServiceCacheEntry (Interface)
* Cache entry for Kubernetes service instances
lib/k8s/kubernetes-service-factory.ts
UnifiedWebSocket (Interface)
* Unified WebSocket interface for both environments
lib/util/ttyd-exec.ts
UpdateConfigRequest (Interface)
* POST /api/user/config * Update or create user config values
app/api/user/config/route.ts
ProjectContentWrapperProps (Interface)
(no doc)
components/layout/project-content-wrapper.tsx
TtydExecTestProps (Interface)
(no doc)
components/terminal/ttyd-exec-test.tsx
ProjectSidebarProps (Interface)
(no doc)
components/sidebars/project-sidebar.tsx
EnvironmentVariable (Interface)
(no doc)
components/config/env-var-section.tsx
SettingsDialogProps (Interface)
(no doc)
components/dialog/settings-dialog.tsx

Core symbols most depended-on inside this repo

cn
called by 91
lib/utils.ts
projectStatusReconcile
called by 21
lib/repo/project.ts
withAuth
called by 20
lib/api-auth.ts
getK8sServiceForUser
called by 16
lib/k8s/k8s-service-helper.ts
isK8sNotFound
called by 14
lib/k8s/k8s-error-utils.ts
updateSandboxStatus
called by 13
lib/repo/sandbox.ts
createProjectFromGitHubCommand
called by 9
lib/platform/control/commands/project/create-project-from-github.ts
send
called by 9
lib/util/ttyd-exec.ts

Shape

Function 491
Method 99
Interface 85
Class 14
Enum 6

Languages

TypeScript100%

Modules by API surface

lib/k8s/sandbox-manager.ts34 symbols
lib/util/ttyd-exec.ts29 symbols
lib/k8s/database-manager.ts25 symbols
lib/k8s/kubernetes.ts23 symbols
lib/k8s/kubernetes-service-factory.ts21 symbols
components/dialog/settings-dialog.tsx16 symbols
lib/util/action.ts15 symbols
lib/fetch-client.ts15 symbols
components/ui/dropdown-menu.tsx15 symbols
lib/services/github-app.ts13 symbols
lib/auth.ts12 symbols
components/ui/alert-dialog.tsx12 symbols

Datastores touched

fullstackagentDatabase · 1 repos

For agents

$ claude mcp add fulling \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact