{"id":50735919,"url":"https://github.com/p10ns11y/collab-finder","last_synced_at":"2026-06-10T13:30:43.504Z","repository":{"id":362865943,"uuid":"1258568505","full_name":"p10ns11y/collab-finder","owner":"p10ns11y","description":"Personal intelli dashboard (Tauri + Rust + React) for discovering jobs, collabs, side hustles \u0026 community builds on X using live X API + xAI. Flexible query tuning, full prep (CV sidecars + cover letters + research), promote insights back to portfolio CV. Separate from public devprofile portfolio.","archived":false,"fork":false,"pushed_at":"2026-06-06T08:34:00.000Z","size":691,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-06T10:14:16.559Z","etag":null,"topics":["ai-agents","automation","autonomous-agents","desktop-app","guarded-reactor","high-performance","high-quality","job-search","mcp","mvu","opportunity-finder","prompt-engineering","react","rust","tauri","tui","typescript","x-api","xcurl"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/p10ns11y.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-03T17:49:45.000Z","updated_at":"2026-06-06T08:34:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/p10ns11y/collab-finder","commit_stats":null,"previous_names":["p10ns11y/collab-finder"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/p10ns11y/collab-finder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p10ns11y%2Fcollab-finder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p10ns11y%2Fcollab-finder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p10ns11y%2Fcollab-finder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p10ns11y%2Fcollab-finder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/p10ns11y","download_url":"https://codeload.github.com/p10ns11y/collab-finder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/p10ns11y%2Fcollab-finder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34155422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["ai-agents","automation","autonomous-agents","desktop-app","guarded-reactor","high-performance","high-quality","job-search","mcp","mvu","opportunity-finder","prompt-engineering","react","rust","tauri","tui","typescript","x-api","xcurl"],"created_at":"2026-06-10T13:30:42.699Z","updated_at":"2026-06-10T13:30:43.499Z","avatar_url":"https://github.com/p10ns11y.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# collab-finder\n\n**Agentic X opportunity finder** (Tauri desktop): self-guarded reactor, MVU React shell, secure X + xAI credentials, and a path to MCP autonomy. You intervene when guards fire — not on every step.\n\n## Prerequisites\n\n| Tool | Notes |\n|------|--------|\n| **Node.js** | LTS recommended |\n| **pnpm** | `corepack enable` or install globally |\n| **Rust** | Stable toolchain + `cargo` |\n| **Tauri v2 system deps** | Linux: GTK/WebKit, `libsecret`/keyring. See [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/). |\n\nArch/Linux detail, credential storage, and troubleshooting: **[docs/SETUP.md](docs/SETUP.md)**.\n\n## Quick start\n\n```bash\npnpm install\npnpm tauri dev\n```\n\nFirst launch opens **Discover** (opportunity rail + Quick Target). Sidebar nav: **Discover · Xplore · Settings**.\n\n## First-run tour\n\n### Settings — credentials\n\n1. Open **Settings** in the sidebar.\n2. **X connection** — paste your app Bearer token, **Save credentials**. Token is stored in Rust (not kept in UI state). Panel shows keyring vs file fallback via `get_x_bearer_storage`.\n3. **xAI key** — paste your xAI API key for Quick Target analyze/prep on Discover. Same keyring/file pattern via `get_xai_key_storage`.\n\n### Discover — opportunities + Quick Target\n\n1. **Your Opportunities** rail (left) — persisted job rows from SQLite; click to hydrate fit + prep from stored blobs (no new xAI call).\n2. **CV summary** — grounds analyze/prep; persisted in localStorage.\n3. **Quick Target** — paste a job URL or JD, **Evaluate fit** (live xAI), then **Generate prep**. Optimistic row appears in the rail; server reconciles on refresh.\n\n### Xplore — live X search + reactor cycle\n\n1. **Search workspace** — live recent search (`search_x_recent`).\n2. **Run autonomous cycle** — live X search via `guarded_search`, heuristic analyze in the reactor (xAI structured decisions for the cycle path are still planned); tweets + SQLite history.\n3. Stats, raw history tables, and archive lookup are **not** in the sidebar today — use the command palette (⌘K / Ctrl+K) for search, cycle, presets, and history refresh where wired.\n\n## Verify\n\n```bash\npnpm build\ncd src-tauri \u0026\u0026 cargo check\ncd src-tauri \u0026\u0026 cargo test\n```\n\n`cargo test` covers secrets, db, reactor, and query validation (no live X token required). `package.json` does not yet define `type-check`, `lint`, or `precommit` scripts (see **AGENTS.md** for planned checks).\n\n## Architecture (short)\n\n| Layer | Location |\n|-------|----------|\n| MVU UI + guards | `src/core/finder/`, `src/view/`, `src/components/finder/` |\n| Discover / Xplore / Settings screens | `src/view/screens/`, `src/components/layout/sidebar-nav.tsx` |\n| Tauri bridge | `src/adapters/tauri/`, `src/ports/` |\n| Live X search + secrets | `src-tauri/src/lib.rs`, `commands.rs`, `secrets.rs` |\n| Quick Target + xAI | `src-tauri/src/opportunity_target.rs` |\n| Durable history (SQLite) | `src-tauri/src/db.rs`, history MVU slices |\n| Reactor + guards (Rust) | `src-tauri/src/finder_reactor.rs` |\n\n## Tauri commands (25 handlers)\n\nGrouped inventory (MCP server planned; today: `invoke` only). Full table: **[docs/tauri-commands.md](docs/tauri-commands.md)**.\n\n| Group | Commands |\n|-------|----------|\n| **X bearer** | `has_x_bearer`, `get_x_bearer_storage`, `set_x_bearer`, `clear_x_bearer` |\n| **xAI key** | `has_xai_key`, `get_xai_key_storage`, `set_xai_key`, `clear_xai_key` |\n| **Quick Target** | `fetch_opportunity_target_page`, `analyze_opportunity_target`, `prep_opportunity_target`, `get_opportunities` |\n| **Finder / reactor** | `search_x_recent`, `run_finder_cycle_cmd`, `get_reactor_state`, `promote_lead` |\n| **History / audit** | `get_search_history`, `get_search_run`, `get_leads`, `get_dashboard_stats`, `get_recent_pauses`, `get_events`, `search_past_tweets`, `hydrate_tweet`, `log_event` |\n\n## Documentation\n\n| Doc | Purpose |\n|-----|---------|\n| [docs/SETUP.md](docs/SETUP.md) | Install, credentials, verify, Arch notes |\n| [docs/agentic-architecture.md](docs/agentic-architecture.md) | System map, mermaid, milestone matrix |\n| [docs/tauri-commands.md](docs/tauri-commands.md) | All `invoke` handlers |\n| [docs/tauri-ipc-and-intent-engine.md](docs/tauri-ipc-and-intent-engine.md) | IPC Intent Engine, Arch/Linux |\n| [docs/tauri-ipc-debugging.md](docs/tauri-ipc-debugging.md) | Dev: intercept and debug `invoke` |\n| [docs/tauri-webview-and-devtools.md](docs/tauri-webview-and-devtools.md) | Linux WebKit WebView, Safari-like inspector, console `invoke` QA |\n| [.agents/skills/tauri-ipc-debug/](.agents/skills/tauri-ipc-debug/SKILL.md) | Agent skill: layer-by-layer IPC triage |\n| [docs/x-tools.md](docs/x-tools.md) | Official X agent resources |\n| [data/distillation/README.md](data/distillation/README.md) | Search presets, curation, analyze prompts (UI source) |\n| [.agents/x-resources/README.md](.agents/x-resources/README.md) | Official X skill.md / llms snapshots + refresh |\n| [reports/intuitive-shell-plan.md](reports/intuitive-shell-plan.md) | Executable UX plan (Discover / Xplore / Settings) |\n\nDiagrams in-repo; interactive architecture canvas is Cursor-only — see [agentic-architecture.md](docs/agentic-architecture.md).\n\n## Agent / dev resources\n\n- **AGENTS.md** — skills index, triage, conventions (`type-check` / `lint` / `precommit` not in `package.json` yet)\n- **docs/x-tools.md** — official X llms.txt, skill.md, XMCP, xurl\n- **.agents/skills/** — finder-reactor, tauri-agentic, cv-promote-guard, x-agent-resources, fusion-sage\n\n## Data handling (X content)\n\n- Post data is fetched via the **official X API** for personal productivity use only.\n- SQLite stores **post IDs**, links (`https://x.com/i/web/status/{id}`), and **280-character snippets** for local preview and FTS — not full post bodies.\n- Full text is available on demand via `hydrate_tweet` (lookup API; fresh data, 404 if deleted). Live search/cycle responses return full text from the API but only snippets are persisted.\n- The local database (`collab-finder.db`) is never committed to the repo.\n\nSee [docs/x-content-storage-distributin-policy.md](docs/x-content-storage-distributin-policy.md) for rationale.\n\nPrivate tool for p10ns11y.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp10ns11y%2Fcollab-finder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fp10ns11y%2Fcollab-finder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fp10ns11y%2Fcollab-finder/lists"}