{"id":49532479,"url":"https://github.com/ctresb/dialogbench","last_synced_at":"2026-05-02T08:34:00.314Z","repository":{"id":324763708,"uuid":"1098451295","full_name":"ctresb/dialogbench","owner":"ctresb","description":"Free visual dialogue editor for game developers and storytellers. Create branching dialogue trees with an intuitive drag-and-drop interface. Export as JSON for any game engine.","archived":false,"fork":false,"pushed_at":"2025-11-17T18:22:43.000Z","size":2398,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-17T19:23:52.753Z","etag":null,"topics":["branching-dialogue","conversation-editor","dialog-tree","dialogue-editor","dialogue-system","game-development","game-writing","gamedev","godot","interactive-fiction","json-export","narrative-design","rpg","storytelling","unity","unity3d","visual-editor","visual-novel"],"latest_commit_sha":null,"homepage":"https://dialogbench.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ctresb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-17T17:51:09.000Z","updated_at":"2025-11-17T18:22:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ctresb/dialogbench","commit_stats":null,"previous_names":["ctresb/dialogbench"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ctresb/dialogbench","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctresb%2Fdialogbench","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctresb%2Fdialogbench/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctresb%2Fdialogbench/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctresb%2Fdialogbench/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ctresb","download_url":"https://codeload.github.com/ctresb/dialogbench/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ctresb%2Fdialogbench/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528257,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["branching-dialogue","conversation-editor","dialog-tree","dialogue-editor","dialogue-system","game-development","game-writing","gamedev","godot","interactive-fiction","json-export","narrative-design","rpg","storytelling","unity","unity3d","visual-editor","visual-novel"],"created_at":"2026-05-02T08:33:59.375Z","updated_at":"2026-05-02T08:34:00.283Z","avatar_url":"https://github.com/ctresb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://dialogbench.com/logo.png\" alt=\"Dialog Bench Logo\" width=\"200\"/\u003e\n  \n  \n  [![Live Demo](https://img.shields.io/badge/demo-dialogbench.com-blue?style=for-the-badge)](https://dialogbench.com)\n  [![License](https://img.shields.io/badge/license-MIT-green?style=for-the-badge)](LICENSE)\n  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](CONTRIBUTING.md)\n  \n  **A beautiful, intuitive visual editor for creating and managing dialogue trees and conversation flows.**\n  \n  [Try it Now](https://dialogbench.com) | [Report Bug](https://github.com/ctresb/dialogbench/issues) | [Request Feature](https://github.com/ctresb/dialogbench/issues)\n\u003c/div\u003e\n\n---\n\n## Features\n\n- **Visual Node-Based Editor** - Create dialogue flows with an intuitive drag-and-drop interface\n- **Multi-language Support** - Available in Portuguese, Spanish, English, Japanese, and Chinese\n- **Import/Export** - Save and load your dialogue trees as JSON files\n- **Smart Connections** - Visually connect dialogue blocks with response options\n- **Grid Snapping** - Precise block positioning with optional grid snapping\n- **Custom Variables** - Add custom key-value pairs to dialogue blocks\n- **Color Coding** - Organize responses and variables with custom colors\n- **Keyboard Shortcuts** - Fast workflow with keyboard navigation\n- **Auto-save** - Never lose your work with automatic local storage\n- **Zoom \u0026 Pan** - Navigate large dialogue trees with ease\n\n## Getting Started\n\n### Try it Online\n\nVisit [dialogbench.com](https://dialogbench.com) to start creating dialogue trees immediately - no installation required!\n\n### Run Locally\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/ctresb/dialogbench.git\ncd dialogue_editor\n```\n\n2. Open `index.html` in your browser:\n```bash\nopen index.html\n```\n\nThat's it! No build process or dependencies needed.\n\n## How to Use\n\n1. **Create Blocks** - Click \"Novo Bloco\" (New Block) to add dialogue nodes\n2. **Edit Content** - Click on text areas to edit dialogue lines\n3. **Add Responses** - Click the `+` button in the responses section to add player choices\n4. **Connect Blocks** - Link responses to other dialogue blocks\n5. **Add Variables** - Add custom key-value pairs for game state or metadata\n6. **Save Your Work** - Export as JSON or let auto-save handle it locally\n\n### Keyboard Shortcuts\n\n- `Shift + N` - Create new dialogue block\n- `Shift + Enter` - Add new line in dialogue (while editing)\n- `Backspace` (on empty line) - Delete current line\n\n## Translations\n\nDialog Bench supports multiple languages:\n\n- **Português** (Portuguese)\n- **Español** (Spanish)\n- **English**\n- **日本語** (Japanese)\n- **中文** (Chinese)\n\nWant to add your language? See [Contributing](#-contributing) below!\n\n## Tech Stack\n\n- **Vanilla JavaScript** - No frameworks, pure JS for maximum performance\n- **CSS3** - Modern styling with gradients and animations\n- **SVG** - Smooth connection lines between blocks\n- **LocalStorage** - Auto-save functionality\n- **JSON** - Simple import/export format\n\n## Roadmap\n\n### Upcoming Features\n\n- [ ] **Boards System** - Work on multiple dialogue files simultaneously with a board/project management system\n- [ ] **Different Block Types** - Support for various block types:\n  - Image blocks for visual references\n  - Condition blocks for branching logic\n  - Event blocks for triggering game actions\n  - Note blocks for documentation\n- [ ] **Advanced Search** - Find and filter dialogue blocks\n- [ ] **Undo/Redo** - Full history management\n- [ ] **Collaboration Mode** - Real-time collaborative editing\n- [ ] **Templates** - Pre-built dialogue templates\n- [ ] **Export Formats** - Support for various game engines (Unity, Godot, Unreal)\n- [ ] **Dark/Light Themes** - Customizable appearance\n- [ ] **Dialogue Testing** - Preview and test conversation flows\n- [ ] **Character Management** - Assign speakers to dialogue blocks\n- [ ] **Branching Analytics** - Visualize dialogue complexity and paths\n\n## Contributing\n\nWe love contributions! Dialog Bench is open-source and community-driven.\n\n### Ways to Contribute\n\n1. **Add Translations**\n   - Edit `locales.json` to add your language\n   - Follow the existing structure for consistency\n   - Test thoroughly before submitting\n\n2. **Report Bugs**\n   - Open an issue with detailed reproduction steps\n   - Include browser version and OS information\n\n3. **Suggest Features**\n   - Open an issue with your feature idea\n   - Explain the use case and benefits\n\n4. **Code Contributions**\n   - Fork the repository\n   - Create a feature branch (`git checkout -b feature/amazing-feature`)\n   - Commit your changes (`git commit -m 'Add amazing feature'`)\n   - Push to the branch (`git push origin feature/amazing-feature`)\n   - Open a Pull Request\n\n### Translation Guidelines\n\nTo add a new language:\n\n1. Add flag icon to `/icons/` folder (24x16px PNG)\n2. Add locale entry in `locales.json`\n3. Add language option in `index.html` language dropdown\n4. Test all UI elements in the new language\n\n## Project Structure\n\n```\ndialogue_editor/\n├── index.html          # Main HTML file\n├── style.css           # Styles and animations\n├── script.js           # Entry point\n├── locales.json        # Translation strings\n├── icons/              # Flag icons for languages\n└── scripts/\n    ├── main.js         # App initialization\n    ├── blocks.js       # Block management\n    ├── canvas.js       # Canvas and zoom controls\n    ├── connections.js  # Visual connections between blocks\n    ├── modals.js       # Modal dialogs\n    ├── storage.js      # Save/load functionality\n    ├── i18n.js         # Internationalization\n    ├── state.js        # Application state\n    ├── dom.js          # DOM element references\n    ├── autocomplete.js # Search/autocomplete\n    ├── toast.js        # Notifications\n    ├── modal.js        # Confirmation modals\n    └── utils.js        # Utility functions\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Built for game developers, writers, and storytellers\n- Inspired by the need for a simple, accessible dialogue editor\n- Thanks to all contributors who help make this project better\n\n## Contact \u0026 Support\n\n- Website: [dialogbench.com](https://dialogbench.com)\n- Issues: [GitHub Issues](https://github.com/ctresb/dialogbench/issues)\n- Discussions: [GitHub Discussions](https://github.com/ctresb/dialogbench/discussions)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  Made with ❤️ in Brasil.\n  \n  Star us on GitHub if you find this project useful!\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctresb%2Fdialogbench","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fctresb%2Fdialogbench","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fctresb%2Fdialogbench/lists"}