Generated: 2025-11-13 Repository: instructure/canvas-lms Analysis Scope: Frontend architecture, tooling, and development patterns
Please analyze this monorepo and create a comprehensive architectural report covering the following areas:
- What is the overall directory structure? Where are packages/apps located?
- How are packages named and categorized?
- Are there any structural patterns that separate apps from libraries?
- How are package boundaries enforced? (e.g., barrel exports, internal vs public APIs)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Check if an argument is provided | |
| if [ "$#" -ne 1 ]; then | |
| echo "Usage: $0 <number_of_branches>" | |
| exit 1 | |
| fi | |
| # Number of branches to create | |
| NUM_BRANCHES=$1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function b() { | |
| local branches branch | |
| branches=$(git for-each-ref --sort=-committerdate refs/heads/ --format="%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - %(color:blue)%(contents:subject)%(color:reset) %(color:green)(%(committerdate:relative))%(color:reset) [%(color:red)%(authorname)%(color:reset)]") \ | |
| && branch=$(echo "$branches" | fzf --ansi --no-sort) \ | |
| && branch=$(echo "$branch" | awk '{print $1}' | sed 's/\* //') \ | |
| && git checkout "$branch" | |
| } | |
| function db() { | |
| local branches branch |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| ## this script moves all files (not folders) in ~/Documents into folder called ~/Documents/[year] | |
| ## where [year] is the year the file was created | |
| # Find files with extensions and move them into appropriate year folders | |
| find ~/Documents -maxdepth 1 ! -name ".*" -name "*.*" | while IFS= read -r file; do | |
| # Extract the year from the file's creation timestamp | |
| year=$(stat -f "%Sm" -t "%Y" "$file") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const sort = (a, b) => (a < b ? -1 : 1); | |
| function generateVars(theme) { | |
| let cssParts = []; | |
| for (const [key, val] of Object.entries(theme.variables)) { | |
| if (typeof val === "string") { | |
| cssParts.push(`--${key}: ${val};`); | |
| } else if (typeof val === "object") { | |
| for (const [key2, val2] of Object.entries(val)) { | |
| cssParts.push(`--${key}-${key2}: ${val2};`); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const initialState = { count: 0 }; | |
| const pipeline = map(([state, data]) => ({ count: state.count + data })); | |
| class App extends Component { | |
| render() { | |
| return ( | |
| <CallbagState initialState={initialState} pipeline={pipeline}> | |
| {(state, send) => ( | |
| <div> | |
| <button onClick={send(1)}>Add 1</button> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| let getIt = () => | |
| Js.Promise.( | |
| Fetch.fetch(url) | |
| |> then_(Fetch.Response.json) | |
| |> then_((json) => Js.Json.decodeObject(json) |> resolve) | |
| |> then_((obj) => Js.log(obj /* how can I get obj.message? */) |> resolve) | |
| ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| [%bs.raw {|require('./app.css')|}]; | |
| [@bs.module] external logo : string = "./logo.svg"; | |
| let component = ReasonReact.statelessComponent("App"); | |
| let make = (~message, _children) => { | |
| ...component, | |
| render: (_self) => | |
| <div className="App"> |
NewerOlder