An AI-assisted web development tool for creating, modifying, and deploying code through natural language conversations.
⚠️ Work in Progress ⚠️
This project is currently under active development. Features, APIs, and documentation may change frequently. While we welcome feedback and contributions (see Contributing), please note that this software is not yet ready for production use. This banner will be removed once we reach version 1.0.
Layered Code transforms web development into a seamless conversation-to-deployment workflow. You chat with your preferred AI assistant through MCP-compatible tools like Claude Desktop, describing what you want to build in natural language. The AI creates and modifies your code in real-time, while modern development frameworks like Vite and Next.js provide instant hot module replacement to show changes automatically. When you're satisfied with the results, just ask the AI to commit your changes to a git repository and deploy directly to production servers — all without memorizing complex commands or navigating intricate development tools.
Watch a quick overview of Layered Code in action
Primary interaction method:
Example conversation:
User: "I want to create a basic web page with a dark theme to describe my new AI project called 'SmartFlow'. It should have a clean hero section with the project name, a brief description, and some key features listed below."
The AI, equipped with Layered Code's MCP tools, can:
User: "This looks great! Can you add a contact section at the bottom and make the feature cards have a subtle hover effect?"
The AI seamlessly:
User: "Perfect! Now commit these changes and deploy to production."
The AI handles version control and deployment:
While a CLI interface is available for direct tool access, the conversational AI experience through MCP is where Layered Code truly shines - enabling you to focus on what you want to build rather than how to build it.
Layered Code provides an open approach to AI-assisted development: your prompts, your providers, your choice.
brew update
brew tap layered-flow/layered-code
brew install layered-code
For system-wide installation (recommended):
curl -fsSL https://raw.githubusercontent.com/layered-flow/layered-code/main/scripts/install.sh | sudo bash
This installs the binaries to /usr/local/bin
for easy access from anywhere.
If you prefer to install in the current directory instead, omit sudo:
curl -fsSL https://raw.githubusercontent.com/layered-flow/layered-code/main/scripts/install.sh | bash
Note: This script downloads a self-contained binary with ripgrep bundled.
Download the appropriate archive for your platform from the GitHub releases page. Each archive contains both the layered-code
binary and a bundled rg
(ripgrep) binary:
layered-code_Darwin_x86_64.tar.gz
layered-code_Darwin_arm64.tar.gz
layered-code_Linux_x86_64.tar.gz
layered-code_Linux_arm64.tar.gz
layered-code_Windows_x86_64.zip
layered-code_Windows_arm64.zip
(uses x64 ripgrep binary via emulation)Setup steps:
macOS/Linux:
tar -xzf layered-code_*.tar.gz
chmod +x layered-code rg
mkdir -p ~/bin && mv layered-code rg ~/bin/
sudo mv layered-code rg /usr/local/bin/
Windows:
layered-code.exe
and rg.exe
)C:\Users\YourUsername\bin\
)Important: Keep both
layered-code
andrg
(ripgrep) binaries in the same directory for proper functionality.
While there are plans to support open source models through Ollama, Claude Desktop currently provides the best support for the Model Context Protocol that Layered Code relies on.
Install Claude Desktop
Enable Developer Mode:
Install layered-code: Follow the Installation instructions above and note the path to your binary
Configure MCP Server:
claude_desktop_config.json
:Add the following to your claude_desktop_config.json
(under Settings → Developer → Edit Config), adjusting the command
path as appropriate for your installation and platform:
Platform/Install Method | "command" value example |
---|---|
macOS/Linux (Homebrew) | layered-code |
macOS/Linux (Manual/Binary) | /usr/local/bin/layered-code |
Windows | C:\\Users\\YourUsername\\bin\\layered-code.exe |
Note for Windows: Use the full path with double backslashes (
\\
) in the"command"
value.
Example configuration:
{
"globalShortcut": "",
"mcpServers": {
"layered-code": {
"command": "<see table above>",
"args": ["mcp_server"]
}
}
}
By default, Layered Code uses ~/LayeredApps
as the directory for your applications. To use a custom directory:
For MCP (Claude Desktop): Add an env
section to your configuration:
{
"globalShortcut": "",
"mcpServers": {
"layered-code": {
"command": "layered-code",
"args": ["mcp_server"],
"env": {
"LAYERED_APPS_DIRECTORY": "~/MyCustomAppsFolder"
}
}
}
}
For CLI usage: Set the LAYERED_APPS_DIRECTORY
environment variable in your shell:
export LAYERED_APPS_DIRECTORY="~/MyCustomAppsFolder"
layered-code tool lc_apps_list
Layered Code maintains security when configuring custom app directories:
Use layered-code directly from the command line:
# Start MCP server
layered-code mcp_server
# List apps
layered-code tool lc_apps_list
# Get version information
layered-code version
layered-code -v
layered-code --version
# Get help and usage information
layered-code help
layered-code -h
layered-code --help
Available Commands:
mcp_server
- Start the Model Context Protocol server for Claude Desktop integration
tool
- Run various tools and utilities (use with subcommands like below)
File Management Tools:
tool lc_apps_list
- List all available applications in the ~/LayeredApps directorytool lc_file_list
- List files and directories within an application with optional metadata (max depth: 10,000 levels)tool lc_text_search
- Search for text patterns in files within an application directory using ripgreptool lc_file_read
- Read the contents of a file within an application directorytool lc_file_write
- Write or create a file within an application directorytool lc_file_edit
- Edit a file by performing find-and-replace operationstool lc_file_move
- Move or rename a file within an application directorytool lc_file_delete
- Delete a file within an application directorytool lc_file_copy
- Copy a file within an application directorytool lc_folder_delete
- Delete a folder and all its contents within an application directory (destructive operation)tool lc_chrome_visit
- Visit a URL using Chrome browser and retrieve the page content after JavaScript loadsVite Tools:
tool vite_app_create
- Create a new Vite app with various templates (React, Vue, Svelte, etc.)Next.js Tools:
tool nextjs_app_create
- Create a new Next.js app with TypeScript (default), JavaScript, Tailwind, or App Router templates
--src-dir
(use src directory, default: true), --import-alias
(default: @/*), --turbopack
(default: true)tool nextjs_app_create myapp typescript --src-dir --import-alias="~/"
Package Manager Tools:
tool pnpm_install
- Install dependencies using pnpm (preferred) or npmtool pnpm_add
- Add one or more packages using pnpm (preferred) or npm
pnpm_add myapp express
pnpm_add myapp express cors @types/node
tool pnpm_pm2
- Manage Node.js processes with PM2
start <app>
, stop <app|all>
, restart <app|all>
, delete <app|all>
, list
, logs [app] [flags]
logs
command includes --nostream
by default (shows last 15 lines and exits)logs myapp --lines 100
to show more linesJavaScript/TypeScript Tools:
tool lc_js_lint
- Run ESLint analysis on JavaScript/TypeScript files with optional auto-fix
lc_js_lint <app_name> [--fix] [--config=<config_file>] <files...>
--fix
: Automatically fix problems that can be fixed--config=<file>
: Use specific ESLint config file--help
, -h
: Show help message..
allowed)--config
and --fix
options are allowed for securitylc_js_lint myapp src/index.js
lc_js_lint myapp --fix src/index.js src/app.js
lc_js_lint myapp "src/**/*.js" "tests/**/*.js"
lc_js_lint myapp --fix --config=.eslintrc.json src/index.js
Prompt Tools:
tool lc_prompt_list
- List all available prompts with numeric IDs, names, versions and descriptions
--help
for more informationtool lc_prompt_read
- Read the full content of a prompt by numeric ID, with optional version
lc_prompt_read 1
lc_prompt_read 1:2
--help
for detailed syntax and examplesGit Tools:
tool git_status
- Show the working tree status of a git repositorytool git_diff
- Show changes between commits, commit and working tree, etctool git_commit
- Create a new commit with staged changestool git_log
- Show commit logstool git_branch
- List, create, or delete branchestool git_add
- Add file contents to the staging areatool git_restore
- Restore working tree filestool git_stash
- Stash changes in a dirty working directorytool git_push
- Update remote refs along with associated objectstool git_pull
- Fetch from and integrate with another repository or local branchtool git_init
- Initialize a new git repositoryversion
, -v
, --version
- Display the current version of layered-code
help
, -h
, --help
- Show usage information and available commands
To build Layered Code from source:
# Clone the repository
git clone https://github.com/layered-flow/layered-code.git
cd layered-code
# Build with make (downloads ripgrep binaries automatically)
make build
# Or build for all platforms
make build-all
# Run tests
make test
# Verify installation
layered-code
Run the test suite to ensure everything is working correctly:
# Run all tests
go test ./...
# Run tests with verbose output
go test -v ./...
We're excited about the potential for community contributions! While Layered Code is currently maturing toward version 1.0, we're focusing on stabilizing core functionality and APIs. During this phase, we welcome your ideas and feedback through GitHub Issues, but won't be accepting pull requests to ensure we can move quickly and make necessary breaking changes.
Once we reach version 1.0 and the foundation is solid, we'll be thrilled to open up to community pull requests as well. We believe this focused approach will create a better experience for everyone in the long run.
Feel free to:
Thank you for your understanding and interest in the project! 🙏
This project is licensed under the MIT License - see the LICENSE.md file for details.
This software includes third-party components. See THIRD-PARTY-LICENSES.md for their license terms.
Copyright (c) 2025 Layered Flow https://www.layeredflow.ai/
Provides linear programming (LP) and mixed-integer programming (MIP) optimization capabilities using the HiGHS solver.
A WordPress plugin that transforms a WordPress site into an MCP server, allowing direct access to its content.
An MCP server that provides control over Android devices through ADB. Offers device screenshot capture, UI layout analysis, package management, and ADB command execution capabilities.
Integrates with the Neo N3 blockchain for wallet management, asset transfers, contract interactions, and blockchain queries.
An MCP server that integrates with Ollama to provide tools for file operations, calculations, and text processing. Requires a running Ollama instance.
An MCP server for interacting with the native Windows API, enabling control over system functions and resources.
Navigate and explore the Model Context Protocol specification with dynamic markdown tree generation and intelligent section navigation.
Analyze and transform JavaScript/TypeScript code using the tree-hugger-js library.
Interact with the Qase API for test management. Requires a QASE_API_TOKEN for authentication.
Provides developers with continuous, project-centric context awareness. Requires a TursoDB database.