AI-Assisted FTP Deployment
Use modern AI coding tools to build and edit websites on your local machine, then deploy to Ultra Web Hosting via FTP or SFTP. This guide covers the full workflow from choosing an AI tool to pushing code live.
What is AI-Assisted Development?
AI coding tools are a new generation of software that can write, edit, refactor, and debug code based on natural-language instructions. Instead of writing every line by hand, you describe what you want — "build a responsive contact form with validation" or "add a dark mode toggle to my site" — and the AI generates working code for you.
These tools run on your local machine or connect to cloud AI services from your computer. They do not run on your hosting server and do not consume any of your Ultra Web Hosting resources (CPU, RAM, or storage). The AI helps you write code locally, and you then deploy the finished files to your hosting account using FTP or SFTP — exactly the same way you would deploy hand-written code.
Supported AI Coding Tools
All of the following tools work with Ultra Web Hosting because the AI processing happens locally or in the cloud — not on the hosting server. You just need an FTP/SFTP connection to deploy your files.
Claude Code (Anthropic)
A command-line AI coding tool that can generate entire projects, edit existing files, and run terminal commands. Claude Code works directly in your terminal and can scaffold complete websites, fix bugs, and refactor code. Pair it with an SFTP extension or command-line FTP client to deploy.
Cursor
A VS Code fork with deeply integrated AI capabilities. Cursor can generate code, explain existing code, and make edits across multiple files at once. Since it is based on VS Code, it supports all VS Code extensions — including SFTP extensions for direct deployment to your hosting account.
GitHub Copilot
An AI pair programmer that integrates into VS Code, JetBrains IDEs, and other editors. Copilot provides inline code suggestions as you type and can generate entire functions or files from comments. Use it alongside an FTP/SFTP extension in your editor for a seamless develop-and-deploy workflow.
Windsurf (Codeium)
An AI-powered IDE built on top of VS Code with advanced code generation, multi-file editing, and an agentic workflow that can plan and execute complex tasks. Like Cursor, it supports VS Code extensions for SFTP deployment.
Aider
An open-source AI coding tool that runs in your terminal and works with any editor. Aider connects to various AI models and can edit files in your local Git repository based on your instructions. Deploy the results via any FTP client or SFTP extension.
Setting Up FTP/SFTP for Deployment
Before you can deploy AI-generated code, you need an FTP account configured in cPanel.
- Log into cPanel and navigate to the Files section.
- Click FTP Accounts to create a new account, or use your main cPanel credentials. See the full guide at FTP Accounts.
- Note your connection details:
- Host:
ftp.yourdomain.com(replace with your actual domain) - Port:
21for FTP, or990for implicit FTPS - Username: Your full FTP username (e.g.,
deploy@yourdomain.com) - Remote path:
/public_htmlfor your main site, or/public_html/subfolderfor a subdirectory
- Host:
- Test the connection using FileZilla or your editor's SFTP extension before beginning your AI workflow.
Deploying with VS Code + SFTP Extension
This method works with any VS Code-based AI tool, including Cursor, GitHub Copilot, and Windsurf. The SFTP extension handles deployment while the AI tool handles code generation.
- Open VS Code (or Cursor/Windsurf) and install the SFTP extension by Natizyskunk from the Extensions marketplace. Search for
natizyskunk.sftp. - Open your local project folder, then press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) and run SFTP: Config. This creates a.vscode/sftp.jsonfile. - Edit
sftp.jsonwith your Ultra Web Hosting connection details:{ "name": "Ultra Web Hosting", "host": "ftp.yourdomain.com", "protocol": "ftp", "port": 21, "secure": true, "username": "deploy@yourdomain.com", "password": "your-ftp-password", "remotePath": "/public_html", "uploadOnSave": false, "ignore": [ ".vscode", ".git", "node_modules", ".env", ".DS_Store" ] } - To upload a single file, right-click it in the Explorer panel and select SFTP: Upload. To upload your entire project, right-click the root folder and choose SFTP: Upload Folder.
- Optionally, set
"uploadOnSave": truein your config to automatically upload files every time you save them. This creates a near-instant deploy workflow when working with AI tools.
"protocol": "ftp" with "secure": true. This uses explicit FTPS. For SFTP over SSH (if your plan supports SSH access), set "protocol": "sftp" and "port": 22.
sftp.json to a public Git repository — it contains your FTP password. Add .vscode/sftp.json to your .gitignore file immediately after creating it.
Deploying with Claude Code
Claude Code runs in your terminal and can generate entire projects or modify existing ones. Since it operates on local files, you deploy the results using any FTP/SFTP method.
Typical Workflow
- Open your terminal in your project directory and start Claude Code.
- Describe what you want to build:
"Create a responsive landing page for a photography portfolio with a hero section, gallery grid, about section, and contact form. Use modern CSS with a dark theme." - Claude Code generates the HTML, CSS, and JavaScript files in your local project directory.
- Review the generated files in your editor or browser to make sure everything looks correct.
- Deploy using one of these methods:
- VS Code SFTP extension — Open the project in VS Code and use the SFTP upload command as described above.
- FileZilla — Drag and drop the files from your local folder to the remote
/public_htmldirectory. - Command-line FTP — Use
lftporncftpfor scriptable uploads from the terminal.
Command-Line FTPS Upload
If you prefer staying in the terminal, you can use lftp to upload files after Claude Code generates them:
lftp -u deploy@yourdomain.com,your-password -e "
set ftp:ssl-force true;
set ssl:verify-certificate no;
mirror --reverse --delete --verbose ./build /public_html;
quit
" ftp.yourdomain.com
This mirrors your local ./build directory to /public_html on the server, uploading new and changed files and optionally deleting files that no longer exist locally.
rsync for faster, incremental deployments: rsync -avz ./build/ user@yourdomain.com:/public_html/
Deploying with FileZilla (Manual)
FileZilla works with any AI coding tool. Develop locally with your preferred AI assistant, then manually upload the finished files. This approach gives you full control over what gets deployed.
- Set up FileZilla with your Ultra Web Hosting FTP credentials. See Using FileZilla for detailed setup instructions.
- Develop your website locally using any AI coding tool. Save all files to a local project folder.
- Open FileZilla, connect to your hosting account, and navigate to
/public_html(or your target directory) on the remote side. - On the local side, navigate to your project folder. Select the files and folders you want to deploy.
- Drag them from the local panel to the remote panel. FileZilla will upload them and show progress in the transfer queue.
- Once the upload completes, visit your website in a browser to verify everything works correctly.
Best Practices
Always Review AI-Generated Code
AI tools are powerful but not perfect. Always review generated code before deploying it to a live website. Check for:
- Correct functionality — test in a local browser first
- Security issues — watch for inline credentials, exposed API keys, or insecure form handlers
- Performance — large unoptimized images, unnecessary JavaScript libraries, or bloated CSS
- Accessibility — proper heading structure, alt text on images, and keyboard navigation
Use a Staging Subdomain
Before deploying to your live site, test AI-generated code on a staging subdomain:
- Create a subdomain like
staging.yourdomain.comin cPanel (see Subdomains). - Point your SFTP config's
remotePathto the staging subdomain's document root (e.g.,/public_html/staging). - Deploy and test thoroughly on the staging URL.
- When satisfied, update
remotePathto/public_htmland deploy to production.
Keep Backups
Before overwriting existing files with AI-generated code, create a backup. You can use cPanel's built-in backup tools or download your current files via FTP first. See Backups & Restore for details.
Protect Your Credentials
- Add
.vscode/sftp.jsonto your.gitignoreso FTP passwords are never committed to version control. - Never paste FTP credentials into AI tool prompts — the AI does not need them to generate code.
- Use dedicated FTP accounts with restricted directory access instead of your main cPanel credentials.
Exclude Unnecessary Files
Configure your SFTP extension or FTP client to skip files that should not be uploaded:
node_modules/— dependencies are for local build tools, not the server.git/— version control history does not belong on the web server.env— environment variables with secrets should never be uploadedpackage.json,package-lock.json— not needed on a shared hosting server*.map— source maps are optional and can expose your source code
.env files or other files containing API keys, database passwords, or secrets to a web-accessible directory is a serious security risk. Always double-check your upload exclusions.
Example Workflow: Start to Finish
Here is a complete example of building and deploying a website using an AI coding tool and Ultra Web Hosting.
- Set up your local project. Create a new folder on your computer for the project. Open it in your editor (VS Code, Cursor, or Windsurf).
- Configure SFTP. Install the SFTP extension and create your
sftp.jsonconfig file with your Ultra Web Hosting FTP credentials. Add.vscode/sftp.jsonto.gitignore. - Generate code with AI. Use your AI tool to create the website. For example, ask it to build a business landing page, an online portfolio, or a blog template. Let the AI generate HTML, CSS, and JavaScript files.
- Review the output. Open the generated files in your browser locally. Check that the layout, functionality, and content are correct. Ask the AI to fix any issues you find.
- Deploy to staging. Set your SFTP
remotePathto your staging subdomain's directory. Upload all files using SFTP: Upload Folder. Visitstaging.yourdomain.comto test. - Deploy to production. Once everything looks good on staging, update
remotePathto/public_htmland upload again. Visit your live domain to confirm the deployment. - Iterate. As you need changes, ask the AI tool to make edits. Review the changes locally, then re-upload the modified files. With
uploadOnSaveenabled, this can happen automatically.