Gwirian

by theacmada

Not rated
GitHub

About

Modern Open source Test Management with MCP Server integration

Details

Author
theacmada
Categories
Developer Tools, Automation

Setup

Install Gwirian in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/theacmada/gwirian

Follow the installation instructions in the repository README, then restart your MCP client.

A modern BDD (Behavior-Driven Development) feature management platform that helps teams collaborate, organize, and track their software features from conception to execution.

Gwirian empowers development teams to manage their BDD features with ease. Create and organize features, define scenarios, track executions, and collaborate with your team—all in one beautiful, fast, and intuitive platform. Built with modern web technologies for a seamless experience.

- What Gwirian Does
-
Key Features
-
Architecture Overview
-
Technical Stack
-
Requirements
-
Quick Start
-
Development
-
Testing
-
External Services
-
MCP Server
-
Deployment
-
Configuration
-
Resources

Manage all your Behavior-Driven Development features in one place. Create features, define scenarios with Given/When/Then steps, and track their execution status across multiple projects. Keep your team aligned with a centralized view of your BDD specifications.

Organize your work into workspaces, each containing multiple projects. Perfect for teams managing multiple products or clients. Workspace members can have different roles (owner, admin, viewer) with fine-grained access control.

Find features instantly with full-text search powered by Elasticsearch. Tag your features and scenarios for better organization and quick filtering. Never lose track of important specifications again.

Invite team members to workspaces and projects with role-based access control. Manage project memberships, track who's working on what, and maintain clear ownership of features and scenarios.

Monitor scenario executions to understand which features have been tested and their current status (pending, passed, failed). Keep your team informed about the progress of your BDD specifications with detailed execution history.

Passwordless magic link authentication via email. Login history tracking ensures your team's work is secure and auditable. Know who accessed what and when.

Experience a lightning-fast interface built with the latest web technologies. Navigation useshtmxso links and shortcuts update only the main content—no full page reloads. Enjoy smooth, reactive UI withAlpine.js, beautiful styling withTailwind CSS v4, and aglobal command palette(Ctrl+K / ⌘K) for search and quick navigation. The app is keyboard-first: useGthen a letter for project navigation (Linear-style) and?to view all shortcuts.

- Workspaces: Organize teams and projects into separate workspaces
- Projects: Group related features within a workspace
- Features: Define BDD features with descriptions and backgrounds
- Scenarios: Create scenarios with Given/When/Then structure
- Steps: Define detailed steps for each scenario
- Executions: Track scenario execution status and history
- Tags: Organize features and scenarios with flexible tagging
- Search: Full-text search powered by Elasticsearch; instant search from the global command palette (Ctrl+K)
- Global command palette: One shortcut (Ctrl+K) for search, navigation, and actions—no full page reloads
- Keyboard-first navigation: G-nav (G + letter) and shortcuts overlay (?); prev/next feature (G P / G N)
- API Access: Workspace-scoped API tokens for programmatic access
- MCP Integration: Model Context Protocol server for AI assistant integration

Gwirian follows a hierarchical structure:

Workspace ├── Workspace Members (users with roles) └── Projects ├── Project Members (email-based access) └── Features ├── Tags └── Scenarios ├── Steps (Given/When/Then) └── Scenario Executions

- Magic Links: Passwordless authentication via email links (6-character code)
- Sessions: Database-backed session management with expiration
- API Tokens: Workspace-scoped tokens for programmatic access

- CanCanCan: Role-based authorization throughout the application
- Workspace Roles: Owner, Admin, Viewer
- Project Access: Email-based project membership with roles

- Solid Queue: Database-backed job queue (no Redis required)
- Solid Cache: Database-backed caching
- Solid Cable: Database-backed Action Cable

- Ruby 4.0.0: Modern Ruby runtime
- Rails 8.0: Latest Rails framework
- SQLite3: Default database (easily switchable to PostgreSQL/MySQL)
- Tailwind CSS v4: Utility-first CSS framework
- Alpine.js: Lightweight JavaScript framework for interactivity
- htmx: Dynamic HTML interactions without page reloads
- ViewComponent: Reusable UI components

- Elasticsearch: Full-text search and indexing
- CanCanCan: Authorization framework
- acts-as-taggable-on: Flexible tagging system
- acts_as_list: Sortable list support
- Pagy: Fast, efficient pagination
- Solid Queue/Cache/Cable: Database-backed background jobs, caching, and WebSockets
- Kamal: Zero-downtime deployment
- Thruster: HTTP asset caching/compression for Puma

- RSpec: Testing framework
- FactoryBot: Test data generation
- Rubocop: Code style enforcement
- Brakeman: Security vulnerability scanner
- Capybara: System testing

- Ruby 4.0.0(see.ruby-version)
- DockerandDocker Compose(for Elasticsearch and Mailhog)
- Bundler(Ruby gem manager)
- Node.js(for Tailwind CSS compilation)

# 1. Clone the repository git clone https://github.com/TheAcmada/gwirian.git cd gwirian # 2. Install dependencies bundle install # 3. Start external services (Elasticsearch, Mailhog) docker-compose up -d # 4. Setup database bin/rails db:create db:migrate db:seed # 5. Reindex Elasticsearch bin/rails elasticsearch:reindex # 6. Start the development server bin/dev

Note: The development server runs both the Rails server and Tailwind CSS watcher viaProcfile.dev. Make sure Elasticsearch is running before reindexing.

Thebin/devcommand starts both the Rails server and Tailwind CSS watcher:

- web: Rails server (port 3000)
- css: Tailwind CSS watcher for auto-compilation

- Tailwind CSS: Auto-compiled viabin/rails tailwindcss:watch(included inbin/dev)
- htmx and Alpine.js: Included via/public/js/htmx.min.jsand/public/js/alpinejs.min.js
- Main layout:app/views/layouts/application.html.erb
- ViewComponent components: Located inapp/components/
- Models: Located inapp/models/
- Controllers: Located inapp/controllers/

# Create database bin/rails db:create # Run migrations bin/rails db:migrate # Reset database (drop, create, migrate, seed) bin/rails db:reset # Load seed data bin/rails db:seed
# Reindex all features and scenario executions bin/rails elasticsearch:reindex

- Delete existing Elasticsearch indices (if they exist)
- Create new indices with proper settings and mappings
- Import all features and scenario executions into the indices

Note: Make sure Elasticsearch is running before executing this command (docker-compose up -d).

Gwirian uses both RSpec and Rails' built-in test framework:

# Run all tests bundle exec rspec && bin/rails test # Run only RSpec tests bundle exec rspec # Run only Rails tests bin/rails test # Run a specific test file bundle exec rspec spec/path/to/file_spec.rb bin/rails test test/path/to/file_test.rb # Run tests in parallel (if configured) bundle exec rspec --parallel

- FactoryBot: Used for generating test data in RSpec
- Fixtures: Used for Rails tests

This app depends on external services for full functionality, which can be launched using Docker Compose:

-

Elasticsearch(port 9200): Full-text search and indexing

- Available athttp://localhost:9200
- Health check:curl http://localhost:9200

Mailhog(ports 8025, 1025): Local email testing

- Web UI:http://localhost:8025
- SMTP:localhost:1025

# Start all services in detached mode docker-compose up -d # View logs docker-compose logs -f # Stop services docker-compose down # Stop and remove volumes docker-compose down -v

Gwirian includes aModel Context Protocol (MCP) serverthat allows AI assistants and other tools to interact with your BDD features, scenarios, and executions programmatically.

For complete configuration, usage instructions, and available tools, see theMCP Client Configuration Guide.

Gwirian usesKamalfor zero-downtime deployments. Kamal provides a simple, Docker-based deployment workflow that works with any hosting provider.

- Docker installed on your server
- SSH access to your server
- Domain name configured

For a complete walkthrough, see theKamal deployment guideor theDocker deployment guide.

# Deploy to production bin/kamal deploy # Deploy with specific environment bin/kamal deploy -d production # View deployment configuration cat config/deploy.yml

- Zero-downtime deployments
- Automatic health checks
- Rollback support
- Environment-specific configurations
- Elasticsearch service included in deployment

Create a.envfile in the project root (see.env.examplefor reference):

# Database DATABASE_URL=sqlite3:db/development.sqlite3 # Elasticsearch ELASTICSEARCH_URL=http://localhost:9200 # Application SECRET_KEY_BASE=your_secret_key_here RAILS_ENV=development

- Database:config/database.yml
- Elasticsearch:config/initializers/elasticsearch.rb
- Routes:config/routes.rb
- Application:config/application.rb
- Environments:config/environments/

- Ruby on Rails Guides
-
Tailwind CSS v4 Docs
-
Alpine.js Docs
-
htmx Docs
-
ViewComponent Docs
-
Kamal Deploy
-
Elasticsearch Ruby Client

- MCP Client Configuration Guide
-
Kamal Deployment Guide

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Agents make claims. Reelier writes receipts — record an agent's tool-call workflow once, replay it deterministically at 0 tokens, and diff runs to catch drift.

fable-discipline is a Claude Code plugin that makes agentic software work follow repeatable working patterns: design before code, verify after edits, separate author from reviewer, preserve verified state between sessions, and report uncertainty honestly.

Preflight checks for paid x402 and MCP tools before marketplace listing.

An intelligent MCP server that automates the reproduction of GitHub issues for AWS CDK projects.

Read-first Jenkins MCP server in Go for agent-driven build debugging. 20 tools including compare_builds, flaky-test detection, JUnit/Ginkgo failure parsing, and disk-cached console logs with on-disk path handoff. Write tools (trigger/stop/cancel) gated by JENKINS_MCP_READONLY env var.

Standardized testing harness for MCP servers and agent workflows

An MCP server for Nextflow development and testing, which requires a local clone of the Nextflow Git repository.

Provides a sleep/wait tool to add delays between operations, such as waiting between API calls or testing eventually consistent systems.

Pauses the execution of an agent for a specified duration.

Source-grounded launch review for x402, MCP, paid API, and agent-tool listings.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.