shadow-lab228/michelangelo-component-splitter — explained in plain English
Analysis updated 2026-05-18
Automatically split an oversized React Native screen file into smaller, cleaner components.
Generate accurate prop types for extracted components using a project's real tsconfig.json.
Deduplicate inline styles across a React Native project into a shared stylesheet file.
Safely refactor large components with automatic rollback if the split introduces a type error.
| shadow-lab228/michelangelo-component-splitter | 0xmukesh/docusaurus-tutorial | a15n/andrewscheuermann | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | — | 2021-12-27 | 2015-01-11 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | easy | easy | moderate |
| Complexity | 3/5 | 2/5 | 1/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Needs a project with a tsconfig.json for accurate prop typing, falls back to heuristics without one.
This is a command line tool that automatically breaks up oversized React Native screens into smaller, separate component files. It targets the common problem of a single screen file growing to hundreds or thousands of lines, by finding logical chunks of the code and pulling them out into their own well-formed files. What sets this version apart is that it understands the actual project it is working on. If it finds a tsconfig.json file, meaning the project uses TypeScript, it loads the real type information the same way a code editor would, so the props it generates for each new extracted component have accurate types instead of generic guesses. If a prop's type depends on custom types defined elsewhere, the tool copies or imports those definitions so the new file still works correctly, falling back to a generic type only when it cannot safely resolve something. After splitting a file, the tool runs a real TypeScript type check on exactly the files it touched. If that check finds an error, it automatically undoes the whole operation, restoring the original file and removing the newly created ones, rather than leaving broken code behind. It also saves a backup copy of the original file before making changes. Inline styles used inside the component are pulled out into a shared styles file, with identical style objects reused instead of duplicated. If an extracted piece is still too large, the tool can run itself again on that new file, up to a configurable depth. The README is candid about its limits: shared style matching only catches exact duplicates, recursive splits could in rare cases create duplicate imports, generated test stubs are only basic smoke tests, and it has been tested against a small representative project rather than large-scale real-world Michelangelo-generated code. No license is mentioned in the README, so its reuse terms are not stated.
A CLI tool that automatically splits oversized React Native screens into smaller components with real TypeScript-aware prop types.
Mainly JavaScript. The stack also includes JavaScript, TypeScript, React Native.
No license is stated in the README, so reuse terms are unclear.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.