{"id":14385008,"url":"https://github.com/kalohq/recon","last_synced_at":"2025-08-23T18:31:11.724Z","repository":{"id":57147731,"uuid":"56270077","full_name":"kalohq/recon","owner":"kalohq","description":"Code Intelligence for React Applications","archived":true,"fork":false,"pushed_at":"2017-11-23T13:48:03.000Z","size":799,"stargazers_count":297,"open_issues_count":1,"forks_count":9,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-08-17T19:29:38.932Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kalohq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-14T21:06:31.000Z","updated_at":"2024-02-12T23:54:04.000Z","dependencies_parsed_at":"2022-08-29T18:41:29.228Z","dependency_job_id":null,"html_url":"https://github.com/kalohq/recon","commit_stats":null,"previous_names":["recon-js/recon","lystable/recon"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/kalohq/recon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalohq%2Frecon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalohq%2Frecon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalohq%2Frecon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalohq%2Frecon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kalohq","download_url":"https://codeload.github.com/kalohq/recon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kalohq%2Frecon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271752942,"owners_count":24814901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"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":[],"created_at":"2024-08-28T18:01:51.387Z","updated_at":"2025-08-23T18:31:11.336Z","avatar_url":"https://github.com/kalohq.png","language":"JavaScript","funding_links":[],"categories":["📦 Legacy \u0026 Inactive Projects","JavaScript"],"sub_categories":[],"readme":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"http://i.imgur.com/BRdEVYW.png\" width=\"150px\" /\u003e\n\u003c/p\u003e\n\u003cp\u003e\u0026nbsp;\u003c/p\u003e\n\nRecon\n=====\n\nCode Intelligence for React Applications.\n\n[![Build Status](https://travis-ci.org/lystable/recon.svg?branch=master)](https://travis-ci.org/lystable/recon)\n\n### What?\n\nRecon provides a new level of insight into your codebase allowing you to understand\nhow your components are being used, easily grep their complexity, draw dependency graphs,\nand isolate points for optimisation.\n\nOn top of this the raw information Recon provides gives a strong base for creating tools\n(such as living styleguides) which may need to plug in to component meta data.\n\n### How?\n\nThe core of Recon revolves around `recon-engine`. This engine parses your application pulling out\nany data which may be useful (eg. Props, component dependencies, enhancements etc.). Then a\ngraphql query interface is exposed allowing you to explore your applications in an incredibly\nintuitive manner!\n\nChecking out our [test fixtures](./packages/recon-engine/src/engine/__fixtures__/) is a\ngreat place to an example of this.\n\nOnce this data is consolidated the possibility of tools to be built on top are *endless*!\n\nGetting Started\n---------------\n\nPrerequisites: `Node \u003ev6`. Also ensure using `import/export` syntax, using JSX (see roadmap for full list)\n\n### Install and configuration\n\nThe quickest way to get going with Recon for your project is to use our CLI application.\n\nFirstly install with\n\n```\n$ npm install -g recon-cli\n```\n\nNow, within your application working directory, simply run\n\n```\n$ recon\n```\n\nYou are now *inside* Recon! :O\n\nFrom this point forwards the entire power of Recon should be just a `help` command away.\n\n```\nrecon$ help\n```\n\nThe first thing you're going to want to do from here is create a new config file `.reconrc` in the working directory\nof your project.\n\nYou can do this interactively by running\n\n```\nrecon$ init\n```\n\n*To view all configuration possibilities you can view the docs [here](./packages/recon-config/README.md).*\n\n### Show me the power!\n\nWhy not start off by trying `stats`. This will analyse your application and dump out a bunch of objective\nstatements and statistics.\n\n```\nrecon$ stats\n```\n\nThen if you're feeling *extra* adventurous give `server` a go. This will spawn a new `graphql` server which will\nallow you to query your application meta data freely.\n\n```\nrecon$ server\n```\n\nFor everything else see what is available via the `help` command!\n\n### I want to integrate Recon into x\n\nDocumentation is going to be a little skimpy here for a while since we are planning on getting\nthe internals of `recon-engine` to be as powerful as possible and stabilising the api as much as\npossible.\n\nMost likely you'll want to look at using `recon-engine` and `recon-server` (their tests are a decent\nplace to start looking).\n\n\u003e Disclaimer: This is a very early preview of Recon and you should expect breaking changes within the \u003cv1 range of releases.\n\nContributing\n------------\n\n- Bugs? Please submit a *Pull Request* with your minimal source code and a test which breaks.\n- Want to fix something or add a new feature? Get started with our [Dev Guide](./docs/dev-guide.md)!\n\nFor more details on all contributions see [CONTRIBUTING.md](./CONTRIBUTING.md)\n\nHigh-level Roadmap\n------------------\n\n- [ ] Move CLI away from vorpal to a non-interactive version\n  - [ ] The engine should be spawned in the background. Ie. similar to flow server\n- [ ] Identify initial parsing issues across many codebases\n  - [ ] Improve test `.toMatch` to not care about ordering (ie. add `toMatchUnordered`)\n  - [ ] Provide better DX for dumping debug data and reporting issues\n- [ ] Pull prop type definitions from components\n- [ ] Broader React usage support\n  - [ ] React.createClass, React.createElement, hyperscript\n  - [ ] Support decorator syntax as enhancements\n  - [ ] Support `require('module')`\n- [ ] Better prop usage information\n  - [ ] Pull out static values (eg. prop=\"stringValue\")\n  - [ ] Resolve basic flows to determine *possible* values (upto prop types)\n  - [ ] Resolve rest/spread props\n- [ ] More trivial meta data! (eg. docblocks)\n- [ ] Stabilise graphql interface\n- [ ] Support long-running persisted engine (ie. watch file changes)\n- [ ] Work on documentation and integrations for developer tools\n- [ ] Explore plugin api\n- [ ] Reassess and tidy implementation\n  - [ ] Performance optimisations\n- [ ] Identify application critical paths\n- [ ] Explore using Flow for internal type resolution\n\nLicense\n-------\n\nApache 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalohq%2Frecon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkalohq%2Frecon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkalohq%2Frecon/lists"}