An interactive visualization of Zen master lineages with integrated wiki functionality powered by GitHub.
- Interactive Lineage Tree: D3.js-powered visualization of Zen master relationships
- GitHub-Integrated Wiki: Edit wiki content directly through GitHub with full version control
- Authentication: GitHub OAuth for secure editing
- Responsive Design: Modern UI that works on all devices
- Search Functionality: Find masters quickly with typeahead search
- Admin Interface: Manage masters and relationships
- Ruby 2.7+
- Git
- GitHub account
git clone https://github.com/paulbloch/kechimyaku.git
cd kechimyaku
bundle install- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in the details:
- Application name: Kechimyaku
- Homepage URL:
http://localhost:9393 - Authorization callback URL:
http://localhost:9393/auth/github/callback
- Copy the Client ID and Client Secret
- Go to GitHub Personal Access Tokens
- Click "Generate new token (classic)"
- Select scopes:
repo(for wiki access) - Copy the token
Create a .env file in the project root:
# GitHub OAuth App credentials
GITHUB_CLIENT_ID=your_github_client_id_here
GITHUB_CLIENT_SECRET=your_github_client_secret_here
# GitHub Personal Access Token
GITHUB_TOKEN=your_github_personal_access_token_here
# GitHub Repository (format: owner/repo)
GITHUB_REPO=paulbloch/kechimyaku
# Session secret for cookies
SESSION_SECRET=your_random_session_secret_herebundle exec rake db:create
bundle exec rake db:migratebundle exec shotgun -p 9393Visit http://localhost:9393 to see the application.
The wiki system integrates with GitHub's API to provide:
- Version Control: All changes are tracked in Git with full history
- Collaboration: Multiple users can edit with proper attribution
- Backup: Content is stored in GitHub's wiki repository
- Fallback: Local file system backup if GitHub is unavailable
- Authentication: Click "Login with GitHub" to authenticate
- Edit: Click on any master's name in the tree to open the wiki drawer
- Save: Changes are committed to GitHub with your commit message
- History: View full edit history with links to GitHub
Wiki files are stored in your GitHub repository's wiki as Markdown files:
Bodhidharma.mdHuineng.mdetc...
GET /api/wiki/:master_name- Get wiki content and metadataGET /api/wiki/:master_name/history- Get edit historyGET /wiki/edit/:master_name- Edit wiki page (requires auth)POST /wiki/edit/:master_name- Save wiki changes (requires auth)GET /wiki/view/:master_name- View wiki page
GET /auth/github- Start GitHub OAuth flowGET /auth/github/callback- OAuth callbackGET /logout- Logout
kechimyaku/
├── config/ # Configuration files
├── db/ # Database migrations
├── public/ # Static assets (JS, CSS, images)
├── views/ # Slim templates
├── wiki/ # Local wiki files (fallback)
├── kechimyaku.rb # Main application
└── Gemfile # Dependencies
- Database Changes: Create migrations in
db/migrate/ - Routes: Add to
kechimyaku.rb - Views: Create Slim templates in
views/ - Styling: Update
public/stylesheets/app.css - JavaScript: Update
public/javascripts/
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is open source. See LICENSE file for details.
For issues and questions:
- Create an issue on GitHub
- Contact the maintainers
Kechimyaku (血脈) means "bloodline" or "lineage" in Japanese, referring to the transmission of Zen teachings from master to student through generations.
Created by Paul Bloch and Ken Miller as a tool for exploring and preserving the rich history of Zen Buddhism.