# 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