Frontmatter
| id | 9040 |
| title | Refactor: Make DevRank Manager a Singleton |
| state | Closed |
| labels | airefactoring |
| assignees | tobiu |
| createdAt | Feb 7, 2026, 10:07 PM |
| updatedAt | Feb 7, 2026, 10:09 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9040 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8930 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 7, 2026, 10:09 PM |
Refactor: Make DevRank Manager a Singleton
tobiu added parent issue #8930 on Feb 7, 2026, 10:08 PM
tobiu assigned to @tobiu on Feb 7, 2026, 10:08 PM

tobiu
Feb 7, 2026, 10:09 PM
Input from Gemini 3 Pro:
✦ Refactored
Manager.mjsto be a singleton.Changes
- Manager.mjs: Added
singleton: trueto the static config and updated the JSDoc.- cli.mjs: Removed
Neo.create(Manager)instantiation and now callsManager.main()directly (as the import is now the singleton instance).Verification
- Verified code structure aligns with
Spider.mjsand other services in the directory.cli.mjssyntax updated to match the change.Code committed to
devbranch.
tobiu closed this issue on Feb 7, 2026, 10:09 PM
Refactor
apps/devrank/services/Manager.mjsto be a singleton class.Current State:
Manager.mjsis a standard class.cli.mjsmanually instantiates it viaNeo.create(Manager).Spider,Storage,GitHub,Updater,Cleanup,Config) are singletons.Goal:
Managerwith the service architecture.cli.mjsusage.Changes:
singleton: truetoManager.mjs.cli.mjsto callManager.main()directly (as the import will now be the instance).