# Tooling Needs
A list of needs based on this week's hack
### Moloch Pack
group of packages you can bring in together or on their own
- Remove the need for MolochContext with react-query hooks for each domain of Moloch Data
- ie.) useDao, useProposals, ect..
- might be it's own package
- build an apply to admin app to get it working
- apply to start repo
- Moloch V3 Macro elements (Proposal Card, Proposal List)
- we need to walkthourh app and define
- Moloch V3 component atoms
- anything need to compose the macro elements
- Moloch V3 Fields (for formBuilder)
- ensure we include key proposal settings fields - expiration and proposal offering
- add all current custom fields
- what is on form builder vs. moloch pack
- need to adapt to use hook instead of context
- in moloch pack
- can import separately
Future:
- Moloch V3 Pages
- Moloch context should have a flag to know if a dao entity was found
- use Hooks library likely removes the need for this
- might be able to deprecate moloch-v3-context
- Index Shaman contracts so they can be identified by i.e. interface hash
- think about we get more shamans
- shaman specific subgraph?
- or some other registry
### Quick App Structure
Start with 3 new starter repos
- single dao w/out ui, just base contexts, single dao w/ ui, multi dao
- Include basic boilerplate code on dApp template to start implementing custom fields
- Under `legos/tx.ts` specify TX record type as `export const TX: Record<string, TXLego> = {` otherwise you start getting typing errors
Future
- separate exoskeletons for single DAO apps vs. Multi DAO
- extracted out of starters eventually
- CLI templates for vite/cra/next
### Custom UI
- Still need to separate UI from FormBuilder
### Decouple React Router from UI
- Was a larger lift than initialy thought. React router impacts more components but should still be removed from the UI.
- TODO: Rowdy add components that need to be refactored
- Without this we can't use next.js
- TODO: list all spots needing update and assess effort and API friction
### Component Library
- Tag explodes on hub card

Moloch Pack atom updates:
- Currently, we have a MemberCard that is a dropdown. MemberCard should not be a Dropdown. There should be a MemberCard (or MemberAvatar), which fetches for a memberProfile and displays it, and there should be a MemberCardDropdown which has the full dropdown.
- MemberCard has extra padding. The padding should be applied from outside the library.
### Form Builder
- Add Object argType on `checkArgType`. Use case: sending a struct as a parameter e.g. see VCOnboarderShaman
### Tx Builder
- return transaction receipt and form state into a lifecycle function to read that data in a component after form submission
### Build updates
- Get React Icons working in ~~CRA~~ and Next.js
- Currently working via kinda hacky solution. Have issue open with NX team found [here](https://github.com/nrwl/nx/issues/13919)
- remove react icons library and put in an assets
- Auto imports aren't consistently working
- Sourcemaps maybe?
- huge package size?
- nested packages are not doing this
- workaround to add all in package.json
- package and app sizes
- `export * as...`
- refactor these to named exports
- big lift in utils
### app updates/bugs
- Profile is refreshing on each route change in ADMIN
- DAO name is not getting updated when posting new metadata
- Sponsor logic should look at delegated shares
- if a member has delagated shares they should not be able to sponsor
Fixed:
- admin: adjust logic on execute button so quorum failures can be executed, app currently thinks those are just failed.
- if status is 5 (Ready) and proposal failed (status[2] == false) - still needs to be executed ( or maybe status[1] == false and status[2] == false)
- or might need to adjust proposal status logic in moloch-v3-data
### Subgraph
- delegateCount is showing 1, even no one is delegating to this address. Shares are the same as delegateShares
https://admin.daohaus.fun/#/molochv3/0x5/0xc035dd7cda32ae73f0f306ed56658527aad47648/members


- Found the delegateOf field. We should perhaps generate a new query for a member's delegates. I'm having trouble doing this from an external app.
### Docs
- get out of JP's world
- merge new pr
- package headlines
- new packages will be coming with moloch pack
- update readmes
- still have a lot of old code examples
- automate api docs
- w/ co-pilot
- inline comments w/ doc generation
- research tools
- hook up out of github
- js doc/doc sys
- tutorial creation
- 1. find time to do more code alongs or fishbowls
- 2. UI runs with creating content off these
FUTURE/start developing process for these -
- contributor process flow
- how can we flow custom dev elements back into the protocol
- pr issues template
- tutorial/article/doc page/readme notes driving to this
- retroactive funding?
- bounty board for issues going forward?
- dogfood/document as we build
## Budget
https://app.safe.global/gno:0x23f6FA624581855D527df1Aa751B8a60c5e8059d/balances
Do we want to spin this proposal up as a request from a maintainers DAO?
- RAD DAD Lads DAO
## Next steps
- Start a proposal doc - sam, then send to team to add/edit/ect...
- deliverables
- budget
- team
- Spin up Rad Dad Lads DAO
- Create issue tickets and project board - sam