# Daily Notes (3/25/2022)
## jp <> Keating
- We have a tool with a lot of docs that's hard to navigate, so let's pick which items and curating for our usecases
- What are the key points we want to curate?
- Mostly experimentation so far
- Jord and Andy getting started there's more specificity emerging
## Commands to Set Up
- Creating a React app with vite
- Name of the directory, component path, casing, generate routes, skip formatting
- Creating a Node app
- Creating a React component library
- Creating a Typescript library
- Once we establish these commands we'll need to configuration for the commands:
- https://nxext.dev/
- What flags do we want to use to ensure that we're creating the same structure for our apps?
- Are we able to be proscriptive?
- Default command will have all the flags provided
- If there's additional configuration settings that are missing from a plugin we'd want to invest in modifying the plugin or creating the plugin
- We can pick the flags and if people have issues we can change it
- We haven't imposed specific linting and prettier settings, but the generators provide opinions
- Up to folks to not modify the `eslintrc.json` and `.prettierrc`
- `eslint` is extending the `nx` plugin
- Additional docs for adding deployment settings for applications and libraries -- better if folks know how to set this up so that it's not centralized in a single person
- https://github.com/HausDAO/daohaus-rage/blob/master/apps/summon/project.json#L63
- https://github.com/alexkeating/nx-web3-plugins/blob/master/packages/nx-skynet/project.json#L53
- https://github.com/alexkeating/nx-web3-plugins/blob/master/packages/nx-skynet/package.json#L1
- We can have documentation and tools that are easier to work with than something like Scaffold Eth
- We'll have to build some custom tooling
- Understanding the configurations of the plugin
-
- [ ] Keating to send over the commands
```
{
"recommendations": [
"nrwl.angular-console",
"esbenp.prettier-vscode",
"firsttris.vscode-jest-runner",
"dbaeumer.vscode-eslint"
]
}
```
- Would be awesome to see folks using our tooling at hackathons
- This would be a great devrel metric
- Deploy setup
## Next Steps for Local Dev
- [ ] Integrating the subgraph and contract (soon)
- [ ] Lambda setup and configuration
## Blacksmiths Show & Tell (3/25)
- Component Library/Storybook
- Rage and Sage
- Ops and Local Dev
### Ops and Local Dev
- Starting with docs, and then updating along the way
- DAO Star Spec
- Uses JSON LD (linked data JSON standard)
- https://json-ld.org/
- Took the Subgraph changes and forked to Moloch Mystics
- User Entity -- talked with Isaac about this
- Can take what Sam has done and add slight modifications
- Next week work through other entities
- Subgraph development plugin
- Focused on experimenting in the dev environment and Docker compose steps and setup
- Want to run 1 subgraph node for entire monorepo
- Will have definitions scoped to specific app but need to make sure that only 1 thing runs at a time
- What would `nx` workspace plugins look like?
- Can have command for running local Subgraph or also one that connects to Rinkeby
- Local dev is good for setup, but can use deployed one that's live
- Needs to be explored, but sub-module support to preserve the Git history for the contracts fork
- Goal to bring it into our monorepo but preserve the git history of the contract development from Moloch Mystics
### Rage and Sage
- Do as much beforehand while in the Rage so that it's defined and the scope is well defined
- Leading up to the rage:
- Create the ticket with the specific scope
- As person picks it up, they start doing the Rage Report beforehand and include as much detail
- Goal is to share learnings from the experiment
- Learnings turn into what the Sage devs would need for their work
- What are the preconditions? What are the requirements before Saging?
- As we plan a Sage, we can then realize we need more Rages
- EIP process
- What happens with something like the DAOgroni?
- What was the initial purpose for this?
- How did it come to be?
- What can we share out with the community?
- What are the next steps?
- Rage Wish List
- Where can we include truly experimental Rages?
### Summon UI Sage
- Summon Success Page
- Not in the Rage, but we can add this
- Are we planning on displaying Subgraph and transaction separately so a user would know if a Subgraph is down?
- This is a consistent poll, so where would this error appear?
- 2 states:
- Subgraph down when loading page, or down when going through the transaction
- Subgraph didn't index the transaction properly (do we want to worry about this one?)
- Poll at the app level and then have a global info/error component
- If the Graph is down the transaction modal would endlessly cycle
- How does our universal poll work for specific transactions that are being watched?
- Need a way to know the last event when setting up the modal
- Error messages
- What are we missing for different states?
- We can then add these to our Sage Storybook
- Have we figured out how PR works