{"id":51688546,"url":"https://github.com/flonat/flonat-research","last_synced_at":"2026-07-15T23:33:48.869Z","repository":{"id":339586250,"uuid":"1162504337","full_name":"flonat/flonat-research","owner":"flonat","description":"Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows","archived":false,"fork":false,"pushed_at":"2026-07-15T11:28:41.000Z","size":6460,"stargazers_count":118,"open_issues_count":3,"forks_count":21,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-15T12:27:56.232Z","etag":null,"topics":["academic-research","ai-tools","claude","claude-code","codex","latex","phd","research-workflow"],"latest_commit_sha":null,"homepage":"","language":"Python","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/flonat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-20T10:45:59.000Z","updated_at":"2026-07-15T11:28:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/flonat/flonat-research","commit_stats":null,"previous_names":["flonat/claude-code-public","flonat/claude-code-flonat","flonat/claude-research","flonat/flonat-research"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/flonat/flonat-research","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flonat%2Fflonat-research","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flonat%2Fflonat-research/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flonat%2Fflonat-research/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flonat%2Fflonat-research/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flonat","download_url":"https://codeload.github.com/flonat/flonat-research/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flonat%2Fflonat-research/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35524897,"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-07-15T02:00:06.706Z","response_time":131,"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":["academic-research","ai-tools","claude","claude-code","codex","latex","phd","research-workflow"],"created_at":"2026-07-15T23:33:44.166Z","updated_at":"2026-07-15T23:33:48.860Z","avatar_url":"https://github.com/flonat.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Governed by: skills/shared/project-documentation.md --\u003e\n\n# flonat-research: a dual-client research framework\n\n\u003e **Repository transition complete:** this project moved from the Claude-only\n\u003e `claude-research` name to the client-neutral `flonat-research` framework for\n\u003e both Claude Code and Codex. Existing checkouts remain supported during the\n\u003e migration; use the [transition guide](docs/transitioning-to-flonat-research.md)\n\u003e to replace legacy home-directory links safely and verify the new managed-copy\n\u003e installation before removing any backup.\n\nA client-neutral research infrastructure with skills, agents, rules,\nfiles-first context, and optional Claude hooks. It is\nbuilt for researchers who write papers in LaTeX, manage bibliographies, run\nexperiments, and want AI assistance that understands academic conventions.\n\nWorks on **macOS, Linux, and Windows** with Claude Code, Codex, or both. Both\nclients read the same project files; adapters expose only the skills and agents\ntheir client can execute accurately.\n\nThis public repository and `flonat-research-friends` are alternative managed\ndistributions, not layers to install on top of each other. Both own overlapping\npaths under `~/.claude/`, `~/.agents/`, and `~/.codex/`; choose one checkout as\nthe installer source on a machine. The private Task Management control plane is\na separate upstream and is not required for the public installation.\n\nSee [Building a Client-Neutral AI Control Plane](docs/dual-client-ai-control-plane.md)\nfor the architecture, trade-offs, staged adoption process, and implementation\nchecklist behind the dual-client design.\n\nThe generated [AI surface availability table](docs/availability.md) shows\nexactly which skills, agents, rules, hooks, MCP registrations, and CLIs are\navailable to each client and why an exclusion exists.\n\n[![npm version](https://img.shields.io/npm/v/flonat-research)](https://www.npmjs.com/package/flonat-research)\n[![GitHub release](https://img.shields.io/github/v/release/flonat/flonat-research)](https://github.com/flonat/flonat-research/releases)\n\n## Installation\n\n### Install from the repository\n\nThe currently published npm release (`0.2.1`) predates the dual-client\nmanaged-copy installer. Until `0.3.0` is published, use the repository install\nbelow rather than `npx flonat-research`.\n\n#### macOS / Linux\n\n```bash\ngit clone https://github.com/flonat/flonat-research.git flonat-research\ncd flonat-research\n./scripts/setup.sh --client both\n```\n\n#### Windows (PowerShell)\n\n```powershell\ngit clone https://github.com/flonat/flonat-research.git flonat-research\ncd flonat-research\n.\\scripts\\setup.ps1 -Client both\n```\n\nThe git clone gives you a local copy you can fully customise. Edit the neutral\n`AI.md`, `.context/profile.md`, and workflows; `CLAUDE.md` and `AGENTS.md` are\ngenerated client entry points.\n\n### Update\n\n```bash\n# macOS/Linux: pull latest, then reconcile managed copies\ngit pull --ff-only \u0026\u0026 ./scripts/setup.sh --client both\n\n# Windows (PowerShell):\ngit pull --ff-only; .\\scripts\\setup.ps1 -Client both\n```\n\nThen customise `AI.md`, `.context/profile.md`, and `.context/current-focus.md`\nwith your details. See [`docs/getting-started.md`](docs/getting-started.md) for\nthe full guide (including Windows-specific setup and troubleshooting).\n\n### Bundled package\n\n| Package | Install | Description |\n|---------|---------|-------------|\n| [`council-api`](https://github.com/flonat/council-api) | Clone and use `uv` | Multi-model council via OpenRouter-compatible APIs |\n\n## What's Included\n\n\u003c!-- COMPONENT-TABLE:START --\u003e\n\u003c!-- auto-generated by generate-public-docs.py — do not edit manually --\u003e\n| Component | Count | Description |\n|-----------|-------|-------------|\n| **Skills** | 93 | Portable workflows for common tasks (`proofread`, `latex`, `literature`, etc.) |\n| **Agents** | 15 | Specialised reviewers (peer review, referee 2, paper critic, domain review, fixer) |\n| **Hooks** | 3 | Standalone optional Claude safeguards; shared context does not depend on them |\n| **Rules** | 18 | Always-on policies (plan before implementing, scope discipline, etc.) |\n| **Context library** | — | Structured files shared by Claude Code and Codex across sessions |\n| **Bundled package source** | 1 | `council-api`; install separately with `uv` when required |\n| **Optional integrations** | — | Notion, bibliography CLIs, MCP adapters, and provider CLIs are not installed — [boundary](docs/scripts.md) |\n\u003c!-- COMPONENT-TABLE:END --\u003e\n\n## Architecture\n\n\u003c!-- ARCHITECTURE:START --\u003e\n\u003c!-- generated client-neutral architecture — do not edit manually --\u003e\n```text\nAI.md + .context/ + MEMORY.md + skills/ + agents/ + rules/\n                         |\n                 capability contract\n                  /                 \\\n       Claude Code adapter       Codex adapter\n   optional hooks and MCPs      CLI fallbacks\n                  \\                 /\n                   managed-copy installer\n```\n\nBoth clients use the same durable files. MCP and hook integrations are\nclient-specific adapters, not the source of context.\n\u003c!-- ARCHITECTURE:END --\u003e\n\n### Distribution and privacy\n\nThis repository is a curated public distribution, not a mirror of its richer\nupstream workspace. `config/ai-contracts.yaml` records every included asset and\nthe clients it supports. Before publication, generated content is anonymised\nand a fail-closed guard rejects personal identity, affiliations, credential\nmaterial, machine-specific paths, internal repository references, and\nsecret-bearing filenames. Passing that guard establishes the configured\ndisclosure boundary; it does not make excluded workflows part of the public\nproduct.\n\n## Components\n\n**Context Library** (`.context/`) — Markdown files that give compatible AI\nclients durable context about you, your projects, and your workflows.\n\n**Skills** (`skills/`) — Client-neutral workflows invoked with\n`/\u003cskill-name\u003e` in Claude, `$\u003cskill-name\u003e` in Codex, or natural language.\n\u003c!-- SKILLS-SUMMARY:START --\u003e\n\u003c!-- auto-generated — do not edit manually --\u003e\n93 skills available. Key examples: `proofread`, `latex`, `pre-submission-report`, and more. Use `/name` in Claude, `$name` in Codex, or natural language; see [`docs/availability.md`](docs/availability.md).\n\u003c!-- SKILLS-SUMMARY:END --\u003e\nSee [`docs/skills.md`](docs/skills.md) for the full catalogue.\n\n**Agents** (`agents/`) — Neutral specialised reviewer definitions rendered to\nClaude Markdown and Codex TOML adapters.\n\n\u003c!-- AGENTS-TABLE:START --\u003e\n| Agent | Use case |\n|-------|----------|\n| `artifact-coherence-auditor` | Audits coherence between paper prose and replication outputs — catches\\ \\ hallucinated results, missing scripts, mismatched numbers, and unverifiable claims.\\ \\ Read-only with respect to project files; writes its own report at `reviews/\u003cscope\u003e/artifact-coherence-auditor/\u003cYYYY-MM-DD-HHMM\u003e.md`.\\ \\ Complements code-paper-auditor (which maps numbers to code) by checking whether\\ \\ the replication package *actually produces* what the paper claims |\n| `blindspot` | Peripheral vision audit for empirical output |\n| `claim-verify` | Verify that cited claims in a paper accurately represent what the source\\ \\ papers actually say |\n| `code-paper-auditor` | Use this agent when you need to verify code-paper consistency — mapping\\ \\ every quantitative claim in a paper to its source code and output files |\n| `code-review` | Multi-persona orchestrator for adversarial review of R, Python, Julia,\\ \\ or Stata research scripts |\n| `codex-research` | Code review and research agent that delegates to OpenAI Codex CLI in\\ \\ headless mode |\n| `domain-reviewer` | Research-focused substantive correctness agent |\n| `fatal-error-check` | Fast pre-review check for fatal errors in LaTeX papers |\n| `fixer` | Generic fix implementer for any critic report |\n| `gemini-research` | Web research agent that delegates to Gemini CLI in headless mode |\n| `paper-critic` | Adversarial auditor for LaTeX papers |\n| `peer-reviewer` | Use this agent when you need to review someone else's paper — as a\\ \\ peer reviewer, discussant, or for reading group preparation |\n| `proposal-reviewer` | Use this agent when you need to review a research proposal, extended\\ \\ abstract, conference submission outline, or pre-paper plan — either his own or\\ \\ someone else's |\n| `referee2-reviewer` | Rigorous adversarial reviewer for papers, manuscripts, research designs, code, and arguments |\n| `reproducibility-auditor` | Reviews research workflows for reproducibility gaps — hidden dependencies,\\ \\ absolute paths, undocumented prerequisites, environment assumptions, and output\\ \\ traceability |\n\n\u003c!-- AGENTS-TABLE:END --\u003e\n\nSee [`docs/agents.md`](docs/agents.md) for detailed descriptions.\n\n**Hooks** (`hooks/`) — Automated guardrails that run at specific points in a session.\n\n\u003c!-- HOOKS-TABLE:START --\u003e\n| Hook | Trigger | What it does |\n|------|---------|-------------|\n| `block-destructive-git.sh` | Before Bash | catches dangerous git/shell commands |\n| `handoff-read.sh` | SessionStart | surface the shared project handoff when it targets Claude |\n| `promise-checker.sh` | Session stop | catches \"performative compliance\": Claude says it remembered/noted/saved |\n\n\u003c!-- HOOKS-TABLE:END --\u003e\n\nSee [`docs/hooks.md`](docs/hooks.md) for full documentation.\n\n**Rules** (`rules/`) — Canonical policies rendered into client-appropriate\nguidance. See [`docs/rules.md`](docs/rules.md).\n\n**External task and research systems** — Optional vaults, Notion workspaces,\nand task CLIs can enrich workflows, but none is bundled or registered by this\nrepository. Files-first project context remains the baseline.\n\n**Scholarly search** — Compatible bibliography CLIs or a Claude MCP adapter may\nbe configured separately. A personal Paperpile/RefPile setup is likewise an\nexternal service, not part of a successful base install. See\n[`docs/bibliography-setup.md`](docs/bibliography-setup.md).\n\n**Council Mode** — Multi-model deliberation with 3 LLM providers, anonymised cross-review, and chairman synthesis. See [`docs/council-mode.md`](docs/council-mode.md).\n\n## Workflows\n\n\u003c!-- WORKFLOWS:START --\u003e\n\u003c!-- synced from private README — do not edit manually --\u003e\n| Command | What happens |\n|---------|-------------|\n| \"Plan my day\" | Reads context, queries vault, asks questions, creates Must Do / Should Do / Could Do plan |\n| \"Extract actions from my meeting with [name]\" | Finds transcript, extracts tasks with full context, creates in vault |\n| \"Weekly review\" | 4-part reflection: clear the decks, review, plan, project check |\n| \"What's overdue?\" | Queries vault and summarises |\n| \"Proofread my paper\" | 7-category academic check (report only) |\n| \"Validate my bibliography\" | Cross-references `\\cite{}` keys against `.bib` |\n\u003c!-- WORKFLOWS:END --\u003e\n\n## Session Continuity\n\n\u003c!-- SESSION-CONTINUITY:START --\u003e\n\u003c!-- synced from private README — do not edit manually --\u003e\nEach session builds on previous ones:\n\n- `current-focus.md` — updated at session end with progress and next steps\n- `log/` — timestamped session logs\n- `log/plans/` — saved implementation plans\n- `MEMORY.md` — accumulated `[LEARN]` tags (notation, citation, code, method, domain corrections)\n\nThe recovery protocol reads the latest plan, session log, and current focus to resume seamlessly.\n\u003c!-- SESSION-CONTINUITY:END --\u003e\n\n## Remote \u0026 Persistent Sessions\n\nYou don't have to run Claude Code on your laptop. A productive setup is to run it on an **always-on machine** — a headless Mac mini, an old desktop, or a small VPS — and reach it from anywhere. Long tasks keep running, sessions survive network drops, and you can start work at your desk and pick it up later from a phone or a train.\n\nThe stack:\n\n- **[Tailscale](https://tailscale.com)** — a zero-config WireGuard VPN. Reach the host by a stable name from any device, without opening ports or exposing anything to the public internet.\n- **[tmux](https://github.com/tmux/tmux)** — a terminal multiplexer. Run one named tmux session per project, with Claude Code or Codex inside. The work keeps running when you disconnect; reattach later with `tmux attach`.\n- **[mosh](https://mosh.org)** — a roaming-friendly SSH replacement. It survives IP changes, laptop sleep, and high-latency mobile links, so a flaky connection never kills your shell. Pair it with tmux: mosh keeps the *connection* alive, tmux keeps the *work* alive.\n\nTypical loop:\n\n```bash\n# on the always-on host — one persistent session per project:\ntmux new -s myproject\ncd ~/path/to/project                 # start Claude Code or Codex; detach with Ctrl-b then d\n\n# from any device, over Tailscale:\nmosh my-host\ntmux attach -t myproject             # right back where you left off\n```\n\n**One caveat worth knowing.** Client transcripts and resume state are local to\nthe machine that ran them and do not automatically follow a synced project.\nKeep durable context in `AI.md`, `MEMORY.md`, `.context/`, and\n`.context/ai-handoff.md`. A persistent tmux session can stay on an always-on\nhost; a deliberate cross-machine or cross-client transfer should use the\nhandoff file rather than depending on either client's transcript history.\n\n## Project Structure\n\n\u003c!-- FILE-TREE:START --\u003e\n```\nflonat-research/\n├── AI.md                        # Neutral guidance (customise this)\n├── CLAUDE.md                    # Generated Claude Code adapter\n├── AGENTS.md                    # Generated Codex adapter\n├── README.md                    # This file\n├── MEMORY.md                    # Accumulated knowledge (auto-populated)\n├── agents/                      # 15 neutral agent definitions\n├── rules/                       # 18 canonical policy rules\n├── .claude/                     # Generated Claude adapters\n│   ├── agents/\n│   ├── commands/\n│   ├── rules/\n│   └── settings.json\n├── .codex/\n│   └── agents/                  # Codex-compatible agent adapters\n├── config/\n│   ├── ai-contracts.yaml        # Explicit client/capability policy\n│   └── install-manifest.json    # Managed-copy installation plan\n├── skills/                      # 93 client-neutral workflows\n│   ├── shared/                  # Shared utilities (palettes, scoring, rhetoric)\n│   ├── proofread/               # Academic proofreading\n│   ├── latex/                   # LaTeX compilation and diagnostics\n│   ├── literature/              # Literature search + synthesis\n│   └── ...                      # See docs/skills.md for full list\n├── hooks/                       # 3 automated guardrails\n├── .context/                    # AI context library\n│   ├── profile.md               # Your identity and background\n│   ├── current-focus.md         # What you're working on NOW\n│   ├── projects/                # Project metadata\n│   ├── preferences/             # Workflow preferences\n│   ├── workflows/               # Process guides (daily review, etc.)\n│   └── resources/               # Reference data (journal rankings, etc.)\n├── packages/\n│   └── council-api/             # Multi-model council via OpenRouter API\n├── docs/                        # Component documentation\n├── log/                         # Session logs (auto-created)\n└── scripts/\n    ├── install.py               # Content-addressed managed-copy installer\n    ├── setup.sh                 # macOS/Linux launcher\n    └── setup.ps1                # Windows PowerShell launcher\n```\n\u003c!-- FILE-TREE:END --\u003e\n\n## Design Principles\n\n\u003c!-- DESIGN-PRINCIPLES:START --\u003e\n\u003c!-- synced from private README — do not edit manually --\u003e\n1. **Lazy prompting** — Context files eliminate repetitive explanations\n2. **Hybrid local + cloud** — Markdown (versioned) + Research Vault (dynamic)\n3. **Question-driven** — AI asks questions before dumping lists\n4. **Read-only audits** — Proofread, validate, review — never auto-edit source\n5. **Session continuity** — Every session makes the next one better\n6. **Permission governance** — Global settings propagate automatically\n\u003c!-- DESIGN-PRINCIPLES:END --\u003e\n\n## Requirements\n\n| Tool | Why you need it | macOS | Linux | Windows |\n|------|----------------|-------|-------|---------|\n| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | Optional client with hooks and MCP support | `curl -fsSL https://claude.ai/install.sh \\| bash` | same | `winget install Anthropic.ClaudeCode` |\n| [Codex](https://developers.openai.com/codex/) | Optional client using AGENTS.md, compatible skills, agents, and CLIs | See official installer | See official installer | See official installer |\n| [Python 3.11+](https://www.python.org/) | Hooks and MCP servers | `brew install python@3.12` | `apt install python3.12` | `winget install Python.Python.3.12` |\n| [uv](https://docs.astral.sh/uv/) | Fast Python package manager — isolates dependencies, replaces `pip` | `brew install uv` | `curl -LsSf https://astral.sh/uv/install.sh \\| sh` | `winget install astral-sh.uv` |\n| [Git](https://git-scm.com/) | Version control | Included | `apt install git` | `winget install Git.Git` |\n| [Node.js 18+](https://nodejs.org/) | Optional npm launcher after the `0.3.0` release | `brew install node` | Use your distribution package | `winget install OpenJS.NodeJS.LTS` |\n| [TeX Live](https://tug.org/texlive/) | LaTeX compilation (`proofread`, `latex`) | `brew install --cask mactex` | `apt install texlive-full` | [install guide](https://tug.org/texlive/windows.html) |\n\nAlso available as a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=anthropics.claude-code), [JetBrains plugin](https://plugins.jetbrains.com/plugin/27189-claude-code), [web app](https://claude.ai/code), or [desktop app](https://claude.ai/download).\n\nSee [`docs/getting-started.md`](docs/getting-started.md) for Fedora/Arch commands, Windows-specific setup, Python version guidance, and troubleshooting.\n\n## Credits\n\n\u003c!-- CREDITS:START --\u003e\n\u003c!-- synced from private README — do not edit manually --\u003e\nThis infrastructure draws on design patterns from several open-source workflows.\n\n### Academic Researchers\n\n- **[Scott Cunningham](https://github.com/scunning1975/MixtapeTools)** (MixtapeTools) — session logs, rhetoric-driven presentations, \"health inspector\" model for code audits, cross-language replication, author/reviewer separation\n- **[Pedro Sant'Anna](https://github.com/pedrohcgs/claude-code-my-workflow)** — specialist agents, plan-first protocol, quality gates, critic-fixer loops, [LEARN] tags\n- **[Jared Black](https://github.com/Black-JL/Research-Project-Flow)** — \"break the glass\" protocol for infrastructure changes, data sensitivity rules, reproducible project templates\n- **[Antonio Mele](https://github.com/meleantonio/awesome-econ-ai-stuff)** — curated AI-for-economists resources, programmatic Claude Code controller, scientific skills reference\n- **[Hugo Sant'Anna](https://github.com/hsantanna88/clo-author)** (CLO-Author) — open-source Claude Code workflow for applied econometrics, agents, 29 slash commands\n- **[Chris Blattman](https://github.com/chrisblattman/claudeblattman)** — academic AI workflows guide, non-developer-friendly skill and agent patterns\n\n### General Resources\n\n- **[Andrej Karpathy](https://github.com/karpathy/council-api)** — multi-model council with peer review and synthesis (public derivative: [council-api](https://github.com/flonat/council-api))\n- **[rtk-ai](https://github.com/rtk-ai/rtk)** — RTK rewrite hook for 60–90% token savings on CLI output\n- **[NPC Worldwide](https://github.com/npc-worldwide/npcsh)** (npcsh) — knowledge graph sleep/dream cycles, inspiring the memory consolidation skill\n- **[Boris Cherny](https://github.com/AugmendTech/ChernyCode)** (ChernyCode) — AI coding assistant configuration patterns\n- **[Jim Christian](https://github.com/aplaceforallmystuff)** (aplaceforallmystuff) — skill-preflight pre-flight checks, postmortem retrospective, ecosystem health diagnostics\n- **[blader](https://github.com/blader/Claudeception)** (Claudeception) — skill description optimization, post-match action table, solution pattern for skill creation, learning nudge hook\n- **[Anthropic](https://github.com/anthropics/claude-code)** — Claude Code platform, 8 adopted skill patterns (docx, xlsx, pptx, pdf, frontend-design, mcp-builder, webapp-testing, skill-creator)\n\nSystem created January 2026.\n\u003c!-- CREDITS:END --\u003e\n\n## Stars\n\n[![GitHub stars](https://img.shields.io/github/stars/flonat/flonat-research?style=social)](https://star-history.com/#flonat/flonat-research\u0026Date)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflonat%2Fflonat-research","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflonat%2Fflonat-research","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflonat%2Fflonat-research/lists"}