A simple, modern wiki engine built with Ruby on Rails 8. WikiGo automatically creates links between pages when you mention a page title anywhere in your content.
- Auto-linking: Page titles automatically become links throughout the wiki
- Multi-user: User authentication and role-based access
- Rich text editing: ActionText editor with Trix for content creation
- Tagging system: Organize content with tags
- Version history: Track changes with PaperTrail
- Search functionality: Find content across all pages
- REST API: Full API access for integrations and automation
- Modern UI: Bootstrap 5 responsive design
- Rails 8 native: Uses Solid Cache, Solid Queue, and Solid Cable
- Ruby on Rails 8.0 - Modern web framework
- Solid Trifecta - Database-backed cache, queue, and cable (no Redis required)
- ActionText - Rich text editing with Trix editor
- Bootstrap 5 - Responsive UI framework
- SQLite/PostgreSQL - Database options for development/production
- Propshaft - Rails 8 asset pipeline
- Importmaps - ES6 modules without bundling
-
Clone the repository
git clone https://github.com/toyoshi/wikigo.git cd wikigo -
Using Docker (Recommended)
docker-compose up
Visit http://localhost:3000
-
Local development
bundle install rails db:create db:migrate db:seed rails server
WikiGo is designed to be simple to deploy with minimal infrastructure requirements.
Docker Deployment
docker build -t wikigo .
docker run -p 3000:3000 wikigoRAILS_ENV- Set toproductionfor production deploymentSECRET_KEY_BASE- Rails secret key (auto-generated)DATABASE_URL- PostgreSQL connection string for production
- Image uploads: Configure Active Storage for file attachments
- Email notifications: Set up Action Mailer for user notifications
- Custom themes: Modify Bootstrap variables in
app/assets/stylesheets/
WikiGo's key feature is automatic keyword linking. When you create a page with a title like "Ruby on Rails", that exact phrase will automatically become a clickable link on any other page where it appears. This creates a natural, interconnected knowledge base without manual link management.
WikiGo provides a comprehensive REST API for programmatic access to all wiki functionality. Perfect for integrations, automation, and building custom applications.
- Full CRUD operations for wiki pages (Words)
- Search and filtering capabilities
- Tag management and filtering by tags
- Bearer token authentication for secure access
- Pagination and sorting for large datasets
- Comprehensive error handling with detailed responses
# Get all pages
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://your-wikigo-instance.com/api/v1/words
# Search pages
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://your-wikigo-instance.com/api/v1/words/search?q=documentation"
# Create a new page
curl -X POST \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"word":{"title":"API Guide","body":"Content here","tag_list":"api,guide"}}' \
https://your-wikigo-instance.com/api/v1/words📖 Complete REST API Documentation
- Authentication setup
- All available endpoints
- Request/response examples
- Error handling
- SDK examples in multiple languages
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is available under the MIT License.
- Create an issue for bug reports or feature requests
- Check the wiki for documentation and examples
- Review the codebase - it's designed to be readable and educational


