project-overview
JudoSphere project overview — tech stack, architecture, development workflow, and deployment strategy
Install / Use
npx skills add AK2083/JudoSphereInstalls into whichever agent you are using.
.clinerules
Cline rules
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of project-overview
project-overview scores 64/100 on our quality scale, 2720th of 2,912 Automation skills we index.
Its .clinerules is 10 KB long, well organised into 30 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
project-overview compared with similar skills
All 4 of these similar skills score higher than project-overview; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| project-overview (this skill)by AK2083 | 64 | 0 | — | .clinerules |
| Agent-Reachby Panniantong | 100 | 97.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 87.9k | today | MCP Server |
| rufloby ruvnet | 100 | 74.9k | today | MCP Server |
| constraint-driven-developmentby addyosmani | 100 | 102.0k | 12d ago | SKILL.md |
Frequently asked questions
- How do I install project-overview?
- Run
npx skills add AK2083/JudoSphere. The install tabs above show the steps for each supported agent. - Which AI agents does project-overview work with?
- It is written for Cline, as a .clinerules file. Other agents that read the same format can often use it too.
- Is project-overview safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is project-overview still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubdescription: JudoSphere project overview — tech stack, architecture, development workflow, and deployment strategy globs: '**/*.{ts,vue,rs,md}' alwaysApply: false
Project Overview
JudoSphere is a desktop application for managing judo tournaments, athletes, and belt progressions. Built with Tauri 2 (Rust backend) + Vue 3 (frontend), it runs on Windows, macOS, and Linux.
Tech Stack
Frontend
- Framework: Vue 3 (
@vitejs/plugin-vue) - Language: TypeScript (strict mode)
- Styling: Tailwind CSS (utility-first)
- State: Pinia (store) + Composables
- i18n: vue-i18n (German + English)
- Testing: Playwright (E2E) + Vitest (unit, if added later)
- Component Showcase: Storybook (Vue 3)
- Routing: Vue Router
- IPC Bridge: Tauri
@tauri-apps/api(viasrc/shared/api/)
Backend
- Runtime: Tauri 2 (v2.0+)
- Language: Rust (2021 edition)
- Database: SQLite (with WAL mode for sync-friendly operations)
- Architecture: Vertical Slices (no cross-slice imports)
- Error Handling: Unified
AppErrortype (extractable asjudosphere-corecrate) - Logging:
tracingcrate (structured logging)
DevOps & Infrastructure
- VCS: Git (GitHub)
- Package Manager: npm (frontend) + Cargo (backend)
- CI/CD: GitHub Actions (planned: linting, testing, artifact builds)
- Local Development:
npm run dev(Vite dev server + Tauri dev mode) - Desktop Deployment: Tauri bundler (generates
.msi,.dmg,.AppImage,.deb) - Networking: mDNS (for LAN discovery between clients and sync server, if multi-client is implemented)
Architecture Layers
Frontend (FSD — Feature-Sliced Design)
src/
├── app/ # Composition root (providers, router, main.ts)
├── pages/ # Route components (one per route)
├── widgets/ # Standalone UI blocks (navigation, sidebar)
├── features/ # Business slices (athlete, competition, belt, …)
└── shared/ # Swappable abstractions (api, lib, ui, types, errors)
Import rule: Only downward. app → pages → features → shared. Never upward.
Backend (Vertical Slices)
src-tauri/src/
├── lib.rs # Composition root (registers all slices)
├── main.rs # Tauri entry point
├── shared/ # Extractable → judosphere-core
│ ├── errors.rs # AppError, Result<T, AppError>
│ └── types.rs # Value objects (e.g. BeltRank)
├── infrastructure/ # Extractable → judosphere-sqlite
│ ├── db.rs # Connection pool, migrations
│ └── logging.rs # Tracing setup
├── athlete/ # Slice: athlete management
├── competition/ # Slice: tournament management
├── belt/ # Slice: belt & grading
└── …
Import rule: No cross-slice imports. Slices depend on shared/ and infrastructure/ only.
Key Features & Workflows
1. Athlete Management
- Create: Register new athlete (name, DOB, belt rank, contact).
- Edit: Update athlete profile.
- Delete: Remove athlete and cascade-delete associated records (matches, grading history).
- List: View all athletes with filtering/sorting (by name, belt, DOB).
2. Tournament Management
- Create: Set up tournament (name, date, location, rules).
- Schedule: Define rounds, bracket pairings.
- Record Results: Log match outcomes (winner, score, time).
- Publish: Generate reports (results, standings, belt promotions).
3. Belt Progression
- Track: Record belt grading events (test date, result, feedback).
- Validate: Prevent retroactive promotions (e.g. can't promote to black-belt after already being black-belt).
- History: View grading timeline per athlete.
4. Data Persistence
- SQLite Database: Stored in app data directory (
~/.judosphere/or equivalent). - WAL Mode: Enables faster writes and concurrent reads (useful for multi-client sync).
- Migrations: Version-controlled schema changes (see
src-tauri/migrations/).
5. Desktop Sync (Future)
- Local Network: Use mDNS to discover other JudoSphere instances on the same network.
- Sync Protocol: (TBD) Supabase Realtime or custom WebSocket protocol.
- Conflict Resolution: Last-write-wins or per-record versioning.
Development Workflow
Local Setup
-
Clone repo:
git clone https://github.com/AK2083/JudoSphere.git cd JudoSphere -
Install dependencies:
npm install cargo build # (Rust backend) -
Start dev environment:
npm run dev # or separate terminals: npm run dev:frontend # Vite on http://localhost:5173 npm run dev:backend # Tauri in debug mode -
Run tests:
npm run test:storybook # Storybook UI components npm run test:e2e # Playwright end-to-end npm run test:coverage # (if unit tests added) -
Build for release:
npm run build npm run tauri build # Generates installers
Commit Workflow
- Branch naming:
feature/athlete-list,fix/login-bug,docs/architecture. - Commit message: Follow Conventional Commits (feat, fix, chore, docs, etc.).
- Pre-commit checks:
- Linting:
npm run lint:fix - Type checking:
npm run type:check - Formatting:
npm run format:fix
- Linting:
- Pull Request: Merge to
mainonly after:- CI passes (linting, tests).
- Code review approved.
- No merge conflicts.
Testing Requirements
- Every UI component (
src/features/*/ui/*.vue,src/widgets/*/ui/*.vue,src/pages/*/ui/*.vue) must have:.stories.ts(Storybook).e2e.spec.ts(Playwright)
- Backend commands must be tested via E2E (Playwright communicates with Tauri).
- Test tags:
@smoke(fast),@critical(blocking flows),@regression(full coverage).
Network & Deployment
Desktop (Single Client)
- No external network required — all data stored locally in SQLite.
- Tauri app bundles Rust backend + Vue frontend; runs standalone on user's machine.
- Updates: Via GitHub Releases or auto-updater (Tauri built-in).
LAN Sync (Multi-Client, Future)
If tournament organizers need to sync data across multiple devices on the same network:
- Service Discovery: mDNS (
judosphere._http._tcp.local) broadcasts each client's IP. - Sync Server: One client designated as "sync host" (or separate lightweight server).
- Client Connection: Other clients connect via
http://<sync-host-ip>:8080/api/...(IP + port). - Fallback: If IP connection fails, try mDNS name (
judosphere-host.local:8080). - Authentication: (TBD) API keys or token-based (no passwords over unencrypted LAN).
Note: Currently not implemented. Planned for v2.0+.
File Structure Quick Reference
JudoSphere/
├── .cline/rules/ # AI coding guidelines
│ ├── architecture.md # High-level overview
│ ├── architecture-frontend.md # Vue + FSD rules
│ ├── architecture-backend.md # Rust + vertical slices
│ ├── vue-frontend.md # Vue 3, Tailwind, Storybook, Playwright
│ ├── security-privacy.md # Security best practices
│ ├── legal.md # GDPR, compliance
│ └── project-overview.md # This file
│
├── src/ # Frontend (Vue 3)
│ ├── app/ # Composition root
│ ├── pages/ # Route components
│ ├── widgets/ # Shared UI blocks
│ ├── features/ # Business slices
│ └── shared/ # Abstractions
│
├── src-tauri/ # Tauri app (Rust backend)
│ ├── src/ # Rust source
│ │ ├── lib.rs # Composition root
│ │ ├── main.rs # Entry point
│ │ ├── shared/ # Extractable crate
│ │ ├── infrastructure/ # DB, logging
│ │ ├── athlete/ # Slice
│ │ ├── competition/ # Slice
│ │ ├── belt/ # Slice
│ │ └── …
│ ├── migrations/ # SQLite schema (SQL files)
│ └── Cargo.toml # Rust dependencies
│
├── package.json # npm deps (Vue, Tailwind, etc.)
├── vite.config.ts # Vite configuration
├── tailwind.config.ts # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration
├── .github/workflows/ # CI/CD (GitHub Actions)
├── CHANGELOG.md # Release notes
├── LICENSE # MIT license
├── README.md # Quick start guide
└── SECURITY.md # Responsible disclosure policy
Roadmap (Planned Phases)
Phase 1: MVP (v0.1–v0.5)
- ✅ Athlete CRUD
- ✅ Belt progression tracking
- ✅ Basic competition management
- ✅ UI with Tailwind + Storybook
- ✅ Comprehensive E2E tests (Playwright)
- ✅ Security & legal compliance
Phase 2: Multi-User (v1.0)
- Supabase integration (multi-client, auth)
- LAN sync protocol
- Real-time updates (Supabase Realtime or WebSocket)
- User roles (admin, coach, referee)
Phase 3: Advanced (v1.5+)
- Tournament bracket generation (Swiss, round-robin)
- PDF export (results, certificates)
- Video match replay integration
- Mobile companion app (React Native)
Contributing
- Follow guidelines in
.cline/rules/*.md. - Use Conventional Commits.
- Add tests for every new feature.
- Run linters and type checks before committing.
- Update
CHANGELOG.mdwith user-facing changes.
Support & Troubleshooting
Common Issues
"Cannot connect to backend"
- Ensure
npm run devis running (launches Tauri backend in debug mode). - Check Tauri dev window for error messages.
"Database locked"
- Ensure only one Tauri instance is running per computer.
- SQLite WAL mode should allow concurrent reads; if issue persists, check for stuck transactions.
"Tests fail locally but pass in CI"
- Timezone differences: ensure tests mock dates/times consistently.
- File permissions: run
npm run test:e2ewith elevated permissions if needed.
Links & Resources
- Vue 3 Guide: https://vuejs.org/
- Tailwind CSS: https://tailwindcss.com/
- Tauri Docs: https://tauri.app/
- SQLite: https://www.sqlite.org/
- Playwright: https://playwright.dev/
- Storybook Vue3: https://storybook.js.org/docs/vue/get-started/install
Related Skills
Agent-Reach
97.7kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
87.9k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
ruflo
74.9k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
constraint-driven-development
102.0kEstablishes a project's quality bar as a written contract and stops agents quietly lowering it. Interviews the user on which dimensions matter, supplies sane default thresholds when they have no number in mind, records everything in CONSTRAINTS.md, and watches the diff for a weakened bar — new @ts-i…
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
