A powerful form filling automation tool that combines Playwright for browser automation with AI assistance. Fill out web forms automatically with ease, either through a simple CLI or a user-friendly web interface.
npm install -g follm
npx follm <command>
follm fill https://example.com/form
follm fill https://example.com/form --data '{"name":"John","email":"john@example.com"}'
follm fill https://example.com/upload --file ./resume.pdf
follm fill https://example.com/form --data '{"name":"John"}' --submit
follm fill https://example.com/form --show-browser
follm fill https://example.com/form --keep-open
Start the web server:
follm serve
Then open http://localhost:3000 in your browser.
docker build -t follm .
docker run -p 3000:3000 -v $(pwd):/app follm serve
Fill out a contact form:
follm fill https://example.com/contact \
--data '{"name":"John Doe","email":"john@example.com","message":"Hello!"}' \
--submit
Contributions are welcome! Please feel free to submit a Pull Request.
MIT make local-logs
open http://localhost:3001
make local-shell
make test
make local-down
### Development Workflow
1. Start your local Ollama instance
2. Run `make local-up` to start the development server
3. The application will be available at `http://localhost:3001`
4. Use `make local-logs` to monitor logs
5. Make code changes - they'll be automatically reloaded
6. Run `make test` to test form filling
### Environment Variables
Create a `.env` file with your configuration:
```env
PORT=3001
NODE_ENV=development
OLLAMA_HOST=host.docker.internal:11434
DEBUG=app:*,playwright:*,form-filler:*
# Containerized Deployment
make build # Build Docker images
make up # Start all services
make down # Stop all services
make logs # View container logs
# Local Development
make local-up # Start local dev environment
make local-down # Stop local dev environment
make local-logs # View local dev logs
make local-shell # Open shell in dev container
# Testing & Maintenance
make test # Run form filling test
make clean # Clean up all resources
make help # Show all available commands
Copy .env.example to .env and adjust as needed:
cp .env.example .env
GET /health - Health check endpointGET /test - Test form pagePOST /fill-form - Main form filling endpoint# Install dependencies
npm install
# Start development server
npm run dev
To stop all services and clean up:
make clean
Edit docker-compose.yml or docker-compose.local.yml to adjust resource limits, ports, or other settings.