{"id":50652942,"url":"https://github.com/nandanpugalia/filingforge","last_synced_at":"2026-06-07T22:01:08.516Z","repository":{"id":362755470,"uuid":"1258751909","full_name":"nandanpugalia/FilingForge","owner":"nandanpugalia","description":"Turn any BSE-listed Indian company's official filings into clean, AI-ready Markdown on your own machine. Free, local-first, MIT.","archived":false,"fork":false,"pushed_at":"2026-06-05T19:35:40.000Z","size":6432,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T20:09:21.665Z","etag":null,"topics":["ai","bse","equity-research","fastapi","indian-stock-market","llm","local-first","markdown","open-source","pdf","python","rust","tauri"],"latest_commit_sha":null,"homepage":"https://filingforge.pages.dev","language":"TypeScript","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/nandanpugalia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://filingforge.pages.dev/#support"]}},"created_at":"2026-06-03T22:14:20.000Z","updated_at":"2026-06-05T19:35:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/nandanpugalia/FilingForge","commit_stats":null,"previous_names":["nandanpugalia/filingforge"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/nandanpugalia/FilingForge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandanpugalia%2FFilingForge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandanpugalia%2FFilingForge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandanpugalia%2FFilingForge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandanpugalia%2FFilingForge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nandanpugalia","download_url":"https://codeload.github.com/nandanpugalia/FilingForge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nandanpugalia%2FFilingForge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34039495,"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-07T02:00:07.652Z","response_time":124,"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","bse","equity-research","fastapi","indian-stock-market","llm","local-first","markdown","open-source","pdf","python","rust","tauri"],"created_at":"2026-06-07T22:01:03.940Z","updated_at":"2026-06-07T22:01:08.505Z","avatar_url":"https://github.com/nandanpugalia.png","language":"TypeScript","funding_links":["https://filingforge.pages.dev/#support"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# FilingForge\n\n**Official filings, as clean Markdown your AI can actually read.**\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-ff6a3d.svg)](LICENSE)\n[![Platforms](https://img.shields.io/badge/platforms-Windows%20%C2%B7%20macOS-15110e.svg)](https://github.com/nandanpugalia/FilingForge/releases/latest)\n[![Local-first](https://img.shields.io/badge/local--first-no%20cloud-7fae6d.svg)](#-privacy--local-first)\n[![Price](https://img.shields.io/badge/price-free-7fae6d.svg)](#-install)\n\n*Search any BSE-listed Indian company → pull its official filings → get a clean, AI-ready Markdown library on your own machine.*\n\n\u003c/div\u003e\n\n---\n\n## The problem: PDFs are where AI research quietly goes to die\n\nDrop a filing PDF into the Claude desktop app or Codex and the tables collapse into mush, scanned pages become nothing, and you burn thousands of tokens on layout garbage. The model hands you a confident, **wrong** answer — and you never see that the context was broken.\n\nFilingForge fixes the **input**. Every text-based filing becomes clean, structured Markdown, with an `INDEX.md` your AI reads first. Same model, finally fed properly.\n\n```text\n  A filing PDF → your AI                  The same filing, FilingForge\n  ─────────────────────────               ────────────────────────────\n  %PDF-1.4 … /F2 9 0 R                     ## Revenue (₹ cr)\n  Revenue 1,2 4 8.3  2 ,1 09.7            | Segment   | FY24  | FY23  |\n  (cid:32)(cid:71) [table spans pages]    |-----------|------:|------:|\n  running headers, footers, page nums      | Retail    | 1,248 | 1,109 |\n  …34,000 tokens of layout noise          | Wholesale |   860 |   740 |\n                                           *Source: Annual Report FY24, p.42*\n```\n\n\u003e **The download is the easy part. The transformation is the product.**\n\n---\n\n## 📸 Screenshots\n\n**Look up any BSE-listed company — it resolves against the live exchange:**\n\n![Look up a company and FilingForge finds it on BSE](docs/shots/search.png)\n\n**Your library — every company, every filing, indexed and AI-ready:**\n\n![The Markdown library with per-company document counts](docs/shots/library.png)\n\n**Skills — turn the clean library into finished work in your own AI:**\n\n![The Skills store — prompt-packs you run in the Claude desktop app or Codex](docs/shots/skills.png)\n\n---\n\n## ⬇️ Install\n\nDownload the latest build for your platform from **[GitHub Releases](https://github.com/nandanpugalia/FilingForge/releases/latest)**.\n\nFree. No account. Your data never leaves your computer.\n\n### macOS\n\nFilingForge is **Apple-notarized** — download the `.dmg`, drag to Applications, and open it. No quarantine warnings, no workarounds.\n\n### Windows\n\nWindows SmartScreen may warn about an unrecognized publisher. Click **More info → Run anyway**. The installer is a standard per-user NSIS package — no admin rights required.\n\n---\n\n## ⚙️ How it works\n\nOne window. Search a company, pick what you want, and it builds the library.\n\n| | | |\n|---|---|---|\n| **1 · Search** | Type a company. FilingForge finds it on **BSE** and pulls its official filings — annual reports, results, investor presentations, and more. | |\n| **2 · Convert** | Every PDF becomes a clean `.md` sibling — readable, structured, AI-ready. No PDFs for your model to choke on. | |\n| **3 · Index** | A per-company and master `INDEX.md` map every document, so you (or your AI) point at one folder and have everything. | |\n\nThe library is laid out **year-wise**, and refreshes are **smart and incremental** — re-run a company and FilingForge pulls only what's new, leaving your existing Markdown untouched.\n\n\u003e FilingForge converts **text-based** filings (the vast majority of BSE documents) to clean Markdown — deliberately lightweight, no OCR, no GPU. The occasional scanned-image PDF is saved as-is and clearly flagged, so your AI never reads fabricated text.\n\n---\n\n## 🧩 Skills\n\nSkills turn your clean library into finished work.\n\nA Skill is a **prompt-pack you run in the Claude desktop app or Codex**, pointed at your library. **The app never calls an LLM** — nothing about Skills runs on anyone's servers. You bring your own AI; FilingForge gives it clean, cited source material and a precise prompt.\n\n| Skill | What it does | |\n|-------|--------------|---|\n| **Business Model Brief** | A cited, analyst-grade brief on how the company actually makes money — revenue mix, concentration, unit economics, moat — rendered as a clean, self-contained **interactive HTML report** by your own AI (a coding agent like Claude Code or Codex, which has file access). | **Free** |\n| **Concall Decoder** | Every earnings call in your library, decoded — management's guidance track record (kept vs missed), tone shifts, what analysts keep asking, and what management avoids. A cited read on how much to trust the team. | **₹3,000** |\n\nSkills are **one-time purchases** — you download a `.md` file and import it. No subscription, no licence server, no network check to run. The free Skill works identically to paid ones; the difference is what the prompt does.\n\nEverything stays prompt-pack shaped: open, inspectable, and run on your machine with your own model.\n\n---\n\n## 🛠️ Build from source\n\nBuilding locally also gives you a **no-quarantine** build on macOS.\n\n**Prerequisites**\n\n- **Rust** (stable toolchain) — for Tauri\n- **Node 20** — for the UI\n- **Python 3.11** — for the engine sidecar\n\n**1 — Python engine + sidecar**\n\nFrom the repo root, create a virtualenv and install the engine with its API + build extras:\n\n```bash\npython3.11 -m venv .venv\nsource .venv/bin/activate          # Windows: .venv\\Scripts\\activate\npip install -e \".[api,dev]\" pyinstaller\n```\n\nThen build the engine into the Tauri sidecar binary:\n\n```bash\npython sidecar/build_sidecar.py\n```\n\nThis produces `ui/src-tauri/binaries/filingforge-api-\u003ctarget-triple\u003e` (with a `.exe` suffix on Windows), which Tauri bundles as an external binary.\n\n**2 — UI dependencies**\n\n```bash\nnpm ci --prefix ui\n```\n\n**3 — Build the desktop app**\n\n```bash\nnpm run tauri build --prefix ui\n```\n\nThe bundled installers land under `ui/src-tauri/target/release/bundle/` (`.dmg` on macOS, NSIS `.exe` on Windows).\n\n\u003e Want a hot-reload dev loop instead? Run `npm run tauri dev --prefix ui` (build the sidecar first so the app can spawn it).\n\n---\n\n## 🏗️ Tech\n\n- **Shell:** [Tauri v2](https://tauri.app) — a small, native desktop window on macOS and Windows.\n- **UI:** React + TypeScript (Vite).\n- **Engine:** a bundled Python [FastAPI](https://fastapi.tiangolo.com) sidecar, frozen with PyInstaller, that does the downloading, PDF→Markdown conversion, and indexing.\n- **Wiring:** the engine binds **loopback only** (`127.0.0.1:8765`) and is spawned by the app as a sidecar process — never `0.0.0.0`, so it's **not exposed to your LAN or the internet** (only local processes on your own machine can reach it, which the [Security policy](SECURITY.md) treats as a threat surface).\n\n---\n\n## 🔒 Privacy / local-first\n\nFilingForge is built to be boring about your data:\n\n- **No account.** Nothing to sign up for.\n- **No telemetry.** The app doesn't phone home.\n- **No LLM calls.** FilingForge never sends your filings or queries to any model.\n- **Your files, your disk.** Filings, Markdown, and indexes all live in a local library folder you control. The only outbound network traffic is fetching public filings from **BSE** and checking **GitHub** for app updates — never your data.\n\n---\n\n## 🤝 Contributing\n\nIssues and pull requests are welcome. See **[CONTRIBUTING.md](CONTRIBUTING.md)** to get started, and please follow the **[Code of Conduct](CODE_OF_CONDUCT.md)**.\n\n## 🛡️ Security\n\nFound a vulnerability? Please report it responsibly — see **[SECURITY.md](SECURITY.md)**.\n\n## 📄 License\n\nMIT — see **[LICENSE](LICENSE)**. © 2026 Nandan Pugalia.\n\n---\n\n## ❤️ Support\n\nFilingForge is free and open-source, built and maintained by one person. If it saves you time, you can support its development via **UPI** from the in-app support screen. Thank you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnandanpugalia%2Ffilingforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnandanpugalia%2Ffilingforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnandanpugalia%2Ffilingforge/lists"}