---
# System prepended metadata

title: Daily Notes (3/25/2022)

---

# 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