chalkbridge 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +27 -0
- package/README.md +66 -0
- package/THIRD-PARTY-NOTICES.md +438 -0
- package/dist/ar-SA-G6X2FPQ2-IHRIDPR4.js +20 -0
- package/dist/az-AZ-76LH7QW2-FWR3DD2C.js +20 -0
- package/dist/bg-BG-XCXSNQG7-IJ7WAACU.js +20 -0
- package/dist/bn-BD-2XOGV67Q-QYVETSYP.js +20 -0
- package/dist/ca-ES-6MX7JW3Y-SOBVUEZY.js +20 -0
- package/dist/canvas-roundrect-polyfill-H6Z5O4YN.js +20 -0
- package/dist/chunk-7D4SUZUM.js +35 -0
- package/dist/chunk-EAE6IZ6E.js +17692 -0
- package/dist/chunk-HFKCLTVU.js +1494 -0
- package/dist/chunk-OSMXI5VA.js +1638 -0
- package/dist/chunk-QGOK75XS.js +31 -0
- package/dist/cli.js +6159 -0
- package/dist/cs-CZ-2BRQDIVT-WY37XCXG.js +20 -0
- package/dist/da-DK-5WZEPLOC-OEXDYHXX.js +20 -0
- package/dist/de-DE-XR44H4JA-CHYMDV52.js +20 -0
- package/dist/directory-open-01563666-QRZ2F5WT.js +18 -0
- package/dist/directory-open-4ed118d0-YYFT6KAI.js +59 -0
- package/dist/el-GR-BZB4AONW-PFUEAYDI.js +20 -0
- package/dist/en-B4ZKOASM-RQVXIIF2.js +20 -0
- package/dist/es-ES-U4NZUMDT-U4COLEPD.js +20 -0
- package/dist/eu-ES-A7QVB2H4-2A3YPN4B.js +20 -0
- package/dist/fa-IR-HGAKTJCU-K3A3VMB3.js +20 -0
- package/dist/fi-FI-Z5N7JZ37-OAX5327W.js +20 -0
- package/dist/file-open-002ab408-3W4GHKWC.js +22 -0
- package/dist/file-open-7c801643-GAYNVN2D.js +19 -0
- package/dist/file-save-3189631c-N4WBRA7X.js +27 -0
- package/dist/file-save-745eba88-76KHW454.js +29 -0
- package/dist/fr-FR-RHASNOE6-VN34DFEI.js +20 -0
- package/dist/gl-ES-HMX3MZ6V-ZKLDSE57.js +20 -0
- package/dist/he-IL-6SHJWFNN-DVWDKP5N.js +20 -0
- package/dist/hi-IN-IWLTKZ5I-MXIXSFZQ.js +20 -0
- package/dist/hu-HU-A5ZG7DT2-UUR52ECU.js +20 -0
- package/dist/id-ID-SAP4L64H-DHYFFGCD.js +20 -0
- package/dist/image-GAAHSSAO-CFWZUGEZ.js +5 -0
- package/dist/image-blob-reduce-ZKP25K2R.js +20 -0
- package/dist/index.js +4 -0
- package/dist/it-IT-JPQ66NNP-FHS6FPFA.js +20 -0
- package/dist/ja-JP-DBVTYXUO-AMIMDPTA.js +20 -0
- package/dist/kaa-6HZHGXH3-BH4ZWU4H.js +20 -0
- package/dist/kab-KAB-ZGHBKWFO-HM6Q2QFU.js +20 -0
- package/dist/kk-KZ-P5N5QNE5-ZMSMI2MP.js +20 -0
- package/dist/km-KH-HSX4SM5Z-7WSA4RPS.js +20 -0
- package/dist/ko-KR-MTYHY66A-7D3G6L2U.js +20 -0
- package/dist/ku-TR-6OUDTVRD-OEGBBNNA.js +20 -0
- package/dist/lt-LT-XHIRWOB4-2IXXZF7J.js +20 -0
- package/dist/lv-LV-5QDEKY6T-54IAHK7L.js +20 -0
- package/dist/mermaid-to-excalidraw-F5UABDGX.js +20 -0
- package/dist/mr-IN-CRQNXWMA-Z54WQJ7P.js +20 -0
- package/dist/my-MM-5M5IBNSE-7NVT6WZR.js +20 -0
- package/dist/nb-NO-T6EIAALU-Y47L7MXQ.js +20 -0
- package/dist/nl-NL-IS3SIHDZ-SVJTPE6M.js +20 -0
- package/dist/nn-NO-6E72VCQL-IATBYLUX.js +20 -0
- package/dist/oc-FR-POXYY2M6-T6O6NZ6A.js +20 -0
- package/dist/pa-IN-N4M65BXN-CQTFKR27.js +20 -0
- package/dist/percentages-BXMCSKIN-F5SZRLIW.js +20 -0
- package/dist/pica-OHNN3T33.js +20 -0
- package/dist/pl-PL-T2D74RX3-H62G547Q.js +20 -0
- package/dist/prod-KHI2WQT3.js +43228 -0
- package/dist/pt-BR-5N22H2LF-IOFFSIBR.js +20 -0
- package/dist/pt-PT-UZXXM6DQ-Z3JYHPJA.js +20 -0
- package/dist/ro-RO-JPDTUUEW-TNJOBCBY.js +20 -0
- package/dist/ru-RU-B4JR7IUQ-LQHFF6I5.js +20 -0
- package/dist/si-LK-N5RQ5JYF-7AJ6QJ6S.js +20 -0
- package/dist/sk-SK-C5VTKIMK-UOMPMDMS.js +20 -0
- package/dist/sl-SI-NN7IZMDC-GCLRUNU3.js +20 -0
- package/dist/subset-shared.chunk-RYC3QF4F.js +5 -0
- package/dist/subset-worker.chunk-TIUZJQSN.js +18 -0
- package/dist/sv-SE-XGPEYMSR-3B5GU363.js +20 -0
- package/dist/ta-IN-2NMHFXQM-53HPRXR6.js +20 -0
- package/dist/th-TH-HPSO5L25-QHD7HILB.js +20 -0
- package/dist/tr-TR-DEFEU3FU-Q22C3NWC.js +20 -0
- package/dist/uk-UA-QMV73CPH-LREVZK2B.js +20 -0
- package/dist/vi-VN-M7AON7JQ-2CB5FIZH.js +20 -0
- package/dist/zh-CN-LNUGB5OW-A3VGS2O7.js +20 -0
- package/dist/zh-HK-E62DVLB3-3PKQ62NI.js +20 -0
- package/dist/zh-TW-RAJ6MFWO-2XI3I7Z6.js +20 -0
- package/guides/arrows.md +85 -0
- package/guides/elements.md +92 -0
- package/guides/icons.md +111 -0
- package/guides/layout.md +75 -0
- package/guides/styling.md +85 -0
- package/package.json +56 -0
- package/packs/generic/LICENSE +26 -0
- package/packs/generic/chalk-pack.json +115 -0
- package/packs/generic/svg/alert.svg +1 -0
- package/packs/generic/svg/api.svg +1 -0
- package/packs/generic/svg/browser.svg +1 -0
- package/packs/generic/svg/bucket.svg +1 -0
- package/packs/generic/svg/cache.svg +1 -0
- package/packs/generic/svg/cloud.svg +1 -0
- package/packs/generic/svg/cron.svg +1 -0
- package/packs/generic/svg/database.svg +1 -0
- package/packs/generic/svg/file.svg +1 -0
- package/packs/generic/svg/folder.svg +1 -0
- package/packs/generic/svg/globe.svg +1 -0
- package/packs/generic/svg/key.svg +1 -0
- package/packs/generic/svg/load-balancer.svg +1 -0
- package/packs/generic/svg/lock.svg +1 -0
- package/packs/generic/svg/metrics.svg +1 -0
- package/packs/generic/svg/mobile.svg +1 -0
- package/packs/generic/svg/queue.svg +1 -0
- package/packs/generic/svg/server.svg +1 -0
- package/packs/generic/svg/user.svg +1 -0
- package/packs/generic/svg/users.svg +1 -0
- package/packs/generic/svg/worker.svg +1 -0
- package/packs/recipes/aws.yml +63 -0
- package/packs/recipes/azure.yml +49 -0
- package/packs/recipes/devicon.yml +54 -0
- package/packs/recipes/gcp.yml +48 -0
- package/packs/recipes/simple-icons.yml +31 -0
- package/ui-dist/assets/Assistant-Bold-gm-uSS1B.woff2 +0 -0
- package/ui-dist/assets/Assistant-Medium-DrcxCXg3.woff2 +0 -0
- package/ui-dist/assets/Assistant-Regular-DVxZuzxb.woff2 +0 -0
- package/ui-dist/assets/Assistant-SemiBold-SCI4bEL9.woff2 +0 -0
- package/ui-dist/assets/abnfDiagram-VCTEODGH-BJtEDuNS.js +1 -0
- package/ui-dist/assets/ar-SA-G6X2FPQ2-B6obDqD5.js +10 -0
- package/ui-dist/assets/arc-DgcGdgmL.js +1 -0
- package/ui-dist/assets/architecture-7GRP2DOG-8nO9N-PA.js +1 -0
- package/ui-dist/assets/architectureDiagram-5GKGNRK7-CvbQe1_v.js +36 -0
- package/ui-dist/assets/array-BifhSqXX.js +1 -0
- package/ui-dist/assets/az-AZ-76LH7QW2-CfV9ZZWy.js +1 -0
- package/ui-dist/assets/bg-BG-XCXSNQG7-DUA8YPCl.js +5 -0
- package/ui-dist/assets/blockDiagram-NRAW4CY4-DocsEmiD.js +129 -0
- package/ui-dist/assets/bn-BD-2XOGV67Q-DvE_tajm.js +5 -0
- package/ui-dist/assets/c4Diagram-UCG6FXSJ-Tx_g_cO9.js +38 -0
- package/ui-dist/assets/ca-ES-6MX7JW3Y-DHdtT9lh.js +8 -0
- package/ui-dist/assets/channel-uzdT5KPV.js +1 -0
- package/ui-dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
- package/ui-dist/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
- package/ui-dist/assets/chunk-75Z2AOVW-LAZTrfqO.js +2 -0
- package/ui-dist/assets/chunk-DU6HZSFF-DYQVLGqe.js +127 -0
- package/ui-dist/assets/chunk-EIO257PC-B41AYx2_.js +22 -0
- package/ui-dist/assets/chunk-F27PBJKO-BTHkH7Vo.js +1 -0
- package/ui-dist/assets/chunk-FOHPRMQF-DHwB1DNv.js +161 -0
- package/ui-dist/assets/chunk-G27WJ6UU-BBBWLXXO.js +231 -0
- package/ui-dist/assets/chunk-GMAD6QVW-BkvPd3CL.js +72 -0
- package/ui-dist/assets/chunk-JQ64N6SF-CKrtUr61.js +1 -0
- package/ui-dist/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
- package/ui-dist/assets/chunk-LCL6LL3I-B4K72jRj.js +206 -0
- package/ui-dist/assets/chunk-OBVCFTLP-CMCEQnr_.js +1 -0
- package/ui-dist/assets/chunk-P2QGCYS3-BNpg6XHk.js +1 -0
- package/ui-dist/assets/chunk-POPQ4Y6H-BaAoqHUX.js +1 -0
- package/ui-dist/assets/chunk-PWAF6VOD-CGQ4p70E.js +1 -0
- package/ui-dist/assets/chunk-R7TYR2AO-B2S7-r2z.js +10 -0
- package/ui-dist/assets/chunk-RHFEMEQ7-C_ziruXk.js +168 -0
- package/ui-dist/assets/chunk-SVP7TREG-FJEPEsgF.js +88 -0
- package/ui-dist/assets/chunk-TEH6E4GO-BvKV-yBX.js +62 -0
- package/ui-dist/assets/chunk-XXDRQBXY-BvKO0v-W.js +1 -0
- package/ui-dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
- package/ui-dist/assets/classDiagram-DTDB5LWJ-CodHh4yt.js +1 -0
- package/ui-dist/assets/classDiagram-v2-JRS7N3AN-CodHh4yt.js +1 -0
- package/ui-dist/assets/cose-bilkent-JH36ORCC-Ch8c5TQK.js +1 -0
- package/ui-dist/assets/cs-CZ-2BRQDIVT-BamYs5wC.js +11 -0
- package/ui-dist/assets/cynefin-OW5HDTMX-Cj_nyyy3.js +1 -0
- package/ui-dist/assets/cynefinDiagram-5FMLGOSQ-B3Rm8-dE.js +62 -0
- package/ui-dist/assets/cytoscape.esm-C2x7inlt.js +321 -0
- package/ui-dist/assets/da-DK-5WZEPLOC-B8baJSus.js +5 -0
- package/ui-dist/assets/dagre-3AP2YEHR-BesdyiUo.js +4 -0
- package/ui-dist/assets/dagre-PrKaheQc.js +1 -0
- package/ui-dist/assets/de-DE-XR44H4JA-DKPtPOlk.js +8 -0
- package/ui-dist/assets/defaultLocale-BFoDCU3G.js +1 -0
- package/ui-dist/assets/diagram-S7CK7UJ4-jeIUYTnQ.js +30 -0
- package/ui-dist/assets/diagram-UQ7AKVKN-BmAlHtLI.js +41 -0
- package/ui-dist/assets/diagram-VSXAHHWV-B-S5XoGb.js +3 -0
- package/ui-dist/assets/diagram-VX7I27RA--KrWarId.js +24 -0
- package/ui-dist/assets/diagram-Z3DM3KII-B7MnKinD.js +24 -0
- package/ui-dist/assets/directory-open-01563666-D4xXyWb_.js +1 -0
- package/ui-dist/assets/directory-open-4ed118d0-1i309Asm.js +1 -0
- package/ui-dist/assets/dist-B_J_HbC0.js +1 -0
- package/ui-dist/assets/dist-C2o0r0se.js +62 -0
- package/ui-dist/assets/ebnfDiagram-PWID7BFC-C20WACav.js +1 -0
- package/ui-dist/assets/el-GR-BZB4AONW-FSgeiYUW.js +10 -0
- package/ui-dist/assets/en-B4ZKOASM-BAWBMIE-.js +1 -0
- package/ui-dist/assets/erDiagram-SSCWMZ5O-DU4Qz6qu.js +99 -0
- package/ui-dist/assets/es-ES-U4NZUMDT-CZ9XqqCk.js +9 -0
- package/ui-dist/assets/eu-ES-A7QVB2H4-CNagAo_o.js +11 -0
- package/ui-dist/assets/eventmodeling-NTZA5JFV-CLxW34Y6.js +1 -0
- package/ui-dist/assets/fa-IR-HGAKTJCU-CGpX3K56.js +8 -0
- package/ui-dist/assets/fi-FI-Z5N7JZ37-D8ErPXQZ.js +6 -0
- package/ui-dist/assets/file-open-002ab408-BHUWm0Sh.js +1 -0
- package/ui-dist/assets/file-open-7c801643-DZtJT5zp.js +1 -0
- package/ui-dist/assets/file-save-3189631c-CO9S4HFW.js +1 -0
- package/ui-dist/assets/file-save-745eba88-Bwdfz6OZ.js +1 -0
- package/ui-dist/assets/flowDiagram-A5DVABFB-mMONVpxe.js +1 -0
- package/ui-dist/assets/fr-FR-RHASNOE6-CgP9qmF-.js +9 -0
- package/ui-dist/assets/ganttDiagram-EL5Y4UJY-CNqGfKGy.js +292 -0
- package/ui-dist/assets/gitGraph-4MIJSDKK-Cjg2l4tr.js +1 -0
- package/ui-dist/assets/gitGraphDiagram-WWUBYQGX-C1RblGyv.js +106 -0
- package/ui-dist/assets/gl-ES-HMX3MZ6V-D64w31ga.js +10 -0
- package/ui-dist/assets/graphlib-DS17s2tU.js +1 -0
- package/ui-dist/assets/he-IL-6SHJWFNN-prTy1rRE.js +10 -0
- package/ui-dist/assets/hi-IN-IWLTKZ5I-uvdg8ovV.js +4 -0
- package/ui-dist/assets/hu-HU-A5ZG7DT2-OIhzhh7g.js +7 -0
- package/ui-dist/assets/id-ID-SAP4L64H-Bs8DbFR5.js +10 -0
- package/ui-dist/assets/image-GAAHSSAO-D1P4Y62B.js +1 -0
- package/ui-dist/assets/image-blob-reduce.esm-Dj7YBvMv.js +2 -0
- package/ui-dist/assets/index-4BcZoMTG.css +1 -0
- package/ui-dist/assets/index-CknJbzCM.js +269 -0
- package/ui-dist/assets/info-A6RAGUB7-DdLeprH9.js +1 -0
- package/ui-dist/assets/infoDiagram-RXCK75RN-B1aPG_BB.js +2 -0
- package/ui-dist/assets/init-C-OQMol4.js +1 -0
- package/ui-dist/assets/ishikawaDiagram-5VMMS53U-ChG5EVuT.js +70 -0
- package/ui-dist/assets/it-IT-JPQ66NNP-CVy3c_Ht.js +11 -0
- package/ui-dist/assets/ja-JP-DBVTYXUO-EcX4mq4z.js +8 -0
- package/ui-dist/assets/journeyDiagram-EYS64GPL-BZ4Ytc1U.js +139 -0
- package/ui-dist/assets/kaa-6HZHGXH3-BwP9az-p.js +1 -0
- package/ui-dist/assets/kab-KAB-ZGHBKWFO-By-AIEWs.js +8 -0
- package/ui-dist/assets/kanban-definition-3QL26DDD-Dm8bYrkM.js +89 -0
- package/ui-dist/assets/katex-CXMH3UgJ.js +257 -0
- package/ui-dist/assets/kk-KZ-P5N5QNE5-DYNjxBd-.js +1 -0
- package/ui-dist/assets/km-KH-HSX4SM5Z-DS2ZYG-3.js +11 -0
- package/ui-dist/assets/ko-KR-MTYHY66A-DOz4vl1z.js +9 -0
- package/ui-dist/assets/ku-TR-6OUDTVRD-CxEEWxJq.js +9 -0
- package/ui-dist/assets/line-B65qaCJb.js +1 -0
- package/ui-dist/assets/linear-n-3HSMUF.js +1 -0
- package/ui-dist/assets/lt-LT-XHIRWOB4-CkgB2O8i.js +3 -0
- package/ui-dist/assets/lv-LV-5QDEKY6T-BUDeq4Hb.js +7 -0
- package/ui-dist/assets/mermaid-parser.core-C60rNywA.js +7 -0
- package/ui-dist/assets/mindmap-definition-FBJOCRG2-DAu41qFN.js +96 -0
- package/ui-dist/assets/mr-IN-CRQNXWMA-DtuuryqC.js +13 -0
- package/ui-dist/assets/my-MM-5M5IBNSE-CC79-XBH.js +1 -0
- package/ui-dist/assets/nb-NO-T6EIAALU-CKNIbK-0.js +10 -0
- package/ui-dist/assets/nl-NL-IS3SIHDZ-B3dYZhvS.js +8 -0
- package/ui-dist/assets/nn-NO-6E72VCQL-CdPrOnP4.js +8 -0
- package/ui-dist/assets/oc-FR-POXYY2M6-DUmzGjKc.js +8 -0
- package/ui-dist/assets/ordinal-BDEzSJ7C.js +1 -0
- package/ui-dist/assets/pa-IN-N4M65BXN-DH39ZTHj.js +4 -0
- package/ui-dist/assets/packet-AYTQ26CC-DdR4jEOZ.js +1 -0
- package/ui-dist/assets/path-fybaL0A-.js +1 -0
- package/ui-dist/assets/pegDiagram-XKGWAZYB-Dx1lj8MV.js +1 -0
- package/ui-dist/assets/percentages-BXMCSKIN-d5p7s-wT.js +1 -0
- package/ui-dist/assets/pica-xkWDouSg.js +2 -0
- package/ui-dist/assets/pie-WAS4IAKB-cVrV21tR.js +1 -0
- package/ui-dist/assets/pieDiagram-E7YTZNPT-CcvgLYQz.js +39 -0
- package/ui-dist/assets/pl-PL-T2D74RX3-BNYpL8df.js +9 -0
- package/ui-dist/assets/pt-BR-5N22H2LF-RWmGHl_8.js +9 -0
- package/ui-dist/assets/pt-PT-UZXXM6DQ-smq6YmTY.js +9 -0
- package/ui-dist/assets/quadrantDiagram-AXDQQJYC-C4xDsL0E.js +7 -0
- package/ui-dist/assets/radar-RG4KPBEZ-DYaemlGZ.js +1 -0
- package/ui-dist/assets/railroad-74A4TZTK-BbRg5RPZ.js +1 -0
- package/ui-dist/assets/railroad-abnf-HS5TGJTU-BoiCOpxv.js +1 -0
- package/ui-dist/assets/railroad-ebnf-LZEXJU2U-ArFqgLSZ.js +1 -0
- package/ui-dist/assets/railroad-peg-WCYAUIDC-BAks8GCx.js +1 -0
- package/ui-dist/assets/railroadDiagram-O6MQD6OU-CR1fbGhX.js +1 -0
- package/ui-dist/assets/requirementDiagram-EFPCY7ZU-CFp52i96.js +84 -0
- package/ui-dist/assets/ro-RO-JPDTUUEW-BOjKaxCz.js +11 -0
- package/ui-dist/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
- package/ui-dist/assets/rough.esm-Dy-Kn_BL.js +1 -0
- package/ui-dist/assets/roundRect-D01gJrlt.js +1 -0
- package/ui-dist/assets/ru-RU-B4JR7IUQ-DOK2ZlyX.js +9 -0
- package/ui-dist/assets/sankeyDiagram-P5KCCOFB-CZWdGNnS.js +40 -0
- package/ui-dist/assets/sequenceDiagram-WJ2MYXX4-D4X03yFA.js +162 -0
- package/ui-dist/assets/si-LK-N5RQ5JYF-BtKkEPfN.js +1 -0
- package/ui-dist/assets/sizeCapture-X5ZJPWSS-B0uUizjq.js +1 -0
- package/ui-dist/assets/sk-SK-C5VTKIMK-DehBWGkI.js +6 -0
- package/ui-dist/assets/sl-SI-NN7IZMDC-ClR46UYx.js +6 -0
- package/ui-dist/assets/src-oBChb5qS.js +1 -0
- package/ui-dist/assets/stateDiagram-HBIQ2CUA-Bg1Uy2K-.js +1 -0
- package/ui-dist/assets/stateDiagram-v2-4QOOHH4V-Ci4MD4Pt.js +1 -0
- package/ui-dist/assets/subset-shared.chunk-DQ-JqEaX.js +1 -0
- package/ui-dist/assets/subset-worker.chunk-BLppPGco.js +1 -0
- package/ui-dist/assets/sv-SE-XGPEYMSR-Cq54FLpH.js +10 -0
- package/ui-dist/assets/swimlanes-XN3QIQJK-Ca4vLBMp.js +1 -0
- package/ui-dist/assets/swimlanesDiagram-VK2B7HYN-BKiafpMh.js +8 -0
- package/ui-dist/assets/ta-IN-2NMHFXQM-SCh3n0lB.js +9 -0
- package/ui-dist/assets/th-TH-HPSO5L25-BotlAjVv.js +2 -0
- package/ui-dist/assets/timeline-definition-24CTP7MA-CjHCKN4P.js +120 -0
- package/ui-dist/assets/tr-TR-DEFEU3FU-B4u6Au2y.js +7 -0
- package/ui-dist/assets/treeView-Q6P3EWNA-CKMtikLc.js +1 -0
- package/ui-dist/assets/treemap-WGGIJYW6-B51xYeX7.js +1 -0
- package/ui-dist/assets/uk-UA-QMV73CPH-CtQkKgv_.js +6 -0
- package/ui-dist/assets/vennDiagram-4TSXK5OY-CSH3IvAD.js +34 -0
- package/ui-dist/assets/vi-VN-M7AON7JQ-CjZyv0HH.js +5 -0
- package/ui-dist/assets/wardley-WFR3VGLG-wnJkewtF.js +1 -0
- package/ui-dist/assets/wardleyDiagram-VM6X3IG4-BJuisjH-.js +78 -0
- package/ui-dist/assets/xychartDiagram-S5SC5T6Z-hiDu0XBA.js +7 -0
- package/ui-dist/assets/zh-CN-LNUGB5OW-DyyyDDxj.js +10 -0
- package/ui-dist/assets/zh-HK-E62DVLB3-Ch2pxiFR.js +1 -0
- package/ui-dist/assets/zh-TW-RAJ6MFWO-CSf1_B6H.js +9 -0
- package/ui-dist/fonts/Assistant/Assistant-Bold.woff2 +0 -0
- package/ui-dist/fonts/Assistant/Assistant-Medium.woff2 +0 -0
- package/ui-dist/fonts/Assistant/Assistant-Regular.woff2 +0 -0
- package/ui-dist/fonts/Assistant/Assistant-SemiBold.woff2 +0 -0
- package/ui-dist/fonts/Cascadia/CascadiaCode-Regular.woff2 +0 -0
- package/ui-dist/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
- package/ui-dist/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
- package/ui-dist/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
- package/ui-dist/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
- package/ui-dist/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
- package/ui-dist/fonts/Liberation/LiberationSans-Regular.woff2 +0 -0
- package/ui-dist/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
- package/ui-dist/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
- package/ui-dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
- package/ui-dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
- package/ui-dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
- package/ui-dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
- package/ui-dist/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
- package/ui-dist/fonts/Virgil/Virgil-Regular.woff2 +0 -0
- package/ui-dist/index.html +14 -0
package/guides/layout.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Layout
|
|
2
|
+
|
|
3
|
+
**Describe the graph. Let the bridge place it.**
|
|
4
|
+
|
|
5
|
+
Placing twenty boxes by hand means choosing twenty pairs of coordinates one at a
|
|
6
|
+
time, and it comes out looking like it: near-misses, drifting baselines, arrows
|
|
7
|
+
crossing for no reason. You cannot see the canvas, so you cannot see it happen.
|
|
8
|
+
|
|
9
|
+
## The shape of the work
|
|
10
|
+
|
|
11
|
+
1. Create the elements with `role` and `label`. Give them ids you can refer to.
|
|
12
|
+
Coordinates can be anything — put them all at the origin if you like.
|
|
13
|
+
2. Connect them with `chalk_connect`.
|
|
14
|
+
3. Call `chalk_arrange` with `op: "layout-layered"` and the ids.
|
|
15
|
+
|
|
16
|
+
The layout takes ranks from the direction of the arrows, orders within a rank to
|
|
17
|
+
reduce crossings, and spaces from the house metrics. It is deterministic: the
|
|
18
|
+
same graph lands the same way twice, so a re-run does not shuffle a diagram the
|
|
19
|
+
user has started reading.
|
|
20
|
+
|
|
21
|
+
Above roughly eight nodes, hand-placement is worse than this in every case. Below
|
|
22
|
+
that it is a coin toss, and the layout is still less work.
|
|
23
|
+
|
|
24
|
+
## Placing by hand
|
|
25
|
+
|
|
26
|
+
Sometimes the position *is* the meaning — a timeline, a layered stack, a
|
|
27
|
+
deliberate before/after pair. Then place explicitly, and keep to the grid the
|
|
28
|
+
house style uses: 60 px between columns, 100 px between rows. Coordinates that
|
|
29
|
+
are multiples of 20 stay aligned when the user nudges something.
|
|
30
|
+
|
|
31
|
+
Two things worth knowing:
|
|
32
|
+
|
|
33
|
+
- **x grows right, y grows down.** A box at `y: 40` is *above* one at `y: 300`.
|
|
34
|
+
- **The origin is not special.** Negative coordinates are fine, and are often the
|
|
35
|
+
tidiest way to extend a diagram leftwards without moving what is already there.
|
|
36
|
+
|
|
37
|
+
## Arranging what already exists
|
|
38
|
+
|
|
39
|
+
`chalk_arrange` also does the small tidying jobs, on the elements you name:
|
|
40
|
+
|
|
41
|
+
| Want | Op |
|
|
42
|
+
|---|---|
|
|
43
|
+
| a ragged column straightened | `align-left`, `align-center-v` |
|
|
44
|
+
| a row levelled | `align-top`, `align-center-h` |
|
|
45
|
+
| even gaps | `distribute-h`, `distribute-v` |
|
|
46
|
+
| a set of similar things laid out | `grid` |
|
|
47
|
+
| something brought out from behind | `bring-to-front`, `send-to-back` |
|
|
48
|
+
|
|
49
|
+
These are the calls to reach for after the user says "this is a mess". They
|
|
50
|
+
change nothing but geometry, so they are safe on elements the user drew — but
|
|
51
|
+
they *will* move things the user positioned deliberately, so say what you are
|
|
52
|
+
about to straighten.
|
|
53
|
+
|
|
54
|
+
## Frames and groups
|
|
55
|
+
|
|
56
|
+
- A **frame** is a labelled region a reader sees. Use it to split a diagram into
|
|
57
|
+
parts that can be understood one at a time.
|
|
58
|
+
- A **group** is elements that move together. The reader never sees it.
|
|
59
|
+
|
|
60
|
+
If you are adding a frame so that things move together, you want a group. If you
|
|
61
|
+
are adding a group so the reader understands a boundary, you want a frame.
|
|
62
|
+
|
|
63
|
+
## Adding to a diagram that already exists
|
|
64
|
+
|
|
65
|
+
Read it first — `chalk_describe_scene` gives you every element's bounds. Then put
|
|
66
|
+
new work in empty space rather than on top of something, and connect it. Running
|
|
67
|
+
a layout over a diagram the user has already arranged will move their work; if
|
|
68
|
+
the result needs one, arrange only the elements you added.
|
|
69
|
+
|
|
70
|
+
## Do not use Mermaid
|
|
71
|
+
|
|
72
|
+
Chalkbridge has no Mermaid import, deliberately. The conversion works by
|
|
73
|
+
rendering Mermaid to SVG and reading the geometry back, so what you would get is
|
|
74
|
+
Mermaid's layout — the flat, evenly-spaced look this canvas exists to avoid.
|
|
75
|
+
Describe the graph and arrange it.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Styling
|
|
2
|
+
|
|
3
|
+
The short version: **say what a thing is, not what colour it should be.**
|
|
4
|
+
|
|
5
|
+
## Roles, not hex
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{ "type": "rectangle", "x": 120, "y": 140, "role": "compute",
|
|
9
|
+
"label": "Distiller" }
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
| Role | Means | Reads as |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| `compute` | it runs code — services, workers, functions | blue |
|
|
15
|
+
| `storage` | it holds state — databases, buckets, caches | green |
|
|
16
|
+
| `edge` | it moves things — queues, gateways, load balancers | amber |
|
|
17
|
+
| `external` | not yours — third-party APIs, the user, another team's system | plain outline |
|
|
18
|
+
| `hotspot` | the thing under discussion — the bug, the bottleneck, the risk | red |
|
|
19
|
+
|
|
20
|
+
A role sets stroke, fill, weight, roughness and corner radius together, so
|
|
21
|
+
everything you draw looks like it came from the same hand as everything the user
|
|
22
|
+
drew. Passing raw colours instead gets you a diagram that is *your* colours, and
|
|
23
|
+
the next diagram will be slightly different ones.
|
|
24
|
+
|
|
25
|
+
`hotspot` is worth using sparingly and deliberately. If three things are red,
|
|
26
|
+
nothing is.
|
|
27
|
+
|
|
28
|
+
## When to override
|
|
29
|
+
|
|
30
|
+
Every Excalidraw property is accepted on the same element object, and an explicit
|
|
31
|
+
value always beats what the role implies. Override when the *deviation carries
|
|
32
|
+
meaning*:
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{ "type": "rectangle", "x": 120, "y": 140, "role": "compute",
|
|
36
|
+
"label": "Legacy sync worker", "strokeStyle": "dashed", "opacity": 60,
|
|
37
|
+
"link": "https://github.com/you/nexus/blob/main/src/legacy/sync.ts" }
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Conventions that read the same way to everyone:
|
|
41
|
+
|
|
42
|
+
- **`strokeStyle: "dashed"`** — planned, deprecated, or not really there yet.
|
|
43
|
+
- **`opacity: 60`** — deliberately in the background. Faded means "context", not
|
|
44
|
+
"less important to me personally".
|
|
45
|
+
- **`strokeWidth: 4`** — the spine of the diagram, the path the reader should
|
|
46
|
+
follow first.
|
|
47
|
+
- **`backgroundColor: "transparent"`** — a container, not a thing.
|
|
48
|
+
|
|
49
|
+
Override for decoration and you have spent the diagram's whole vocabulary on
|
|
50
|
+
nothing, and the next real distinction has nothing left to say it with.
|
|
51
|
+
|
|
52
|
+
## Links are the best thing here
|
|
53
|
+
|
|
54
|
+
`link` on any element turns it into a jump to a file, a PR, a dashboard, a doc:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{ "link": "https://github.com/you/nexus/blob/main/src/distiller/index.ts" }
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
A box labelled "Distiller" is a claim. A box labelled "Distiller" that opens the
|
|
61
|
+
file is a diagram someone can still trust in six months. Link generously — repo
|
|
62
|
+
files especially. Linked elements are flagged `↗link` in `chalk_describe_scene`,
|
|
63
|
+
so you can see at a glance which parts of a diagram are anchored to the code and
|
|
64
|
+
which are just assertions.
|
|
65
|
+
|
|
66
|
+
## Text
|
|
67
|
+
|
|
68
|
+
Font, size and face come from the house style; you rarely need to set them. When
|
|
69
|
+
you do:
|
|
70
|
+
|
|
71
|
+
- `fontSize: 16` for a note that should not compete with the labels.
|
|
72
|
+
- `fontSize: 28` for a heading over a region.
|
|
73
|
+
|
|
74
|
+
Do not use font size for emphasis inside a diagram — use `role: "hotspot"` or
|
|
75
|
+
`strokeWidth`, which stay legible when the canvas is zoomed out.
|
|
76
|
+
|
|
77
|
+
## Locked and dark mode
|
|
78
|
+
|
|
79
|
+
`locked: true` stops an element being dragged. Use it for backdrops and legends —
|
|
80
|
+
things a user will click by accident and never mean to move. It is not a
|
|
81
|
+
permission system; the user can unlock anything.
|
|
82
|
+
|
|
83
|
+
Colours are chosen from the palette Excalidraw itself uses, so they hold up in
|
|
84
|
+
both themes. `chalk_scene_settings` can switch the scene between them, but that
|
|
85
|
+
is the user's preference to change — ask before you flip it.
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "chalkbridge",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Self-hosted Excalidraw canvas for Claude Code to draw and reason on architecture diagrams.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"excalidraw",
|
|
9
|
+
"mcp",
|
|
10
|
+
"claude",
|
|
11
|
+
"diagram",
|
|
12
|
+
"architecture",
|
|
13
|
+
"whiteboard",
|
|
14
|
+
"model-context-protocol"
|
|
15
|
+
],
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=22"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist",
|
|
21
|
+
"!dist/**/*.map",
|
|
22
|
+
"ui-dist",
|
|
23
|
+
"guides",
|
|
24
|
+
"packs",
|
|
25
|
+
"THIRD-PARTY-NOTICES.md"
|
|
26
|
+
],
|
|
27
|
+
"bin": {
|
|
28
|
+
"chalkbridge": "./dist/cli.js"
|
|
29
|
+
},
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "node ../../packaging/copy-guides.mjs && node ../../packaging/copy-packs.mjs && tsup",
|
|
32
|
+
"typecheck": "tsc -p tsconfig.json",
|
|
33
|
+
"clean": "node -e \"for (const d of ['dist','guides','packs']) require('node:fs').rmSync(d,{recursive:true,force:true})\""
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@fastify/static": "^10.1.3",
|
|
37
|
+
"@fastify/websocket": "^11.3.0",
|
|
38
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
39
|
+
"chokidar": "^5.0.0",
|
|
40
|
+
"commander": "^15.0.0",
|
|
41
|
+
"fastify": "^5.12.1",
|
|
42
|
+
"fractional-indexing": "3.2.0",
|
|
43
|
+
"open": "^11.0.1",
|
|
44
|
+
"yaml": "^2.9.0",
|
|
45
|
+
"zod": "^4.4.3"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@chalkbridge/pack-toolkit": "workspace:*",
|
|
49
|
+
"@chalkbridge/shared": "workspace:*",
|
|
50
|
+
"@excalidraw/excalidraw": "0.18.1",
|
|
51
|
+
"react": "^18.3.1",
|
|
52
|
+
"react-dom": "^18.3.1",
|
|
53
|
+
"tsup": "^8.5.1",
|
|
54
|
+
"typescript": "^7.0.2"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Chalkbridge contributors
|
|
4
|
+
|
|
5
|
+
The SVG files in this directory were drawn for Chalkbridge and are released under the
|
|
6
|
+
same licence as the project itself. They are bundled into the `chalkbridge` npm package
|
|
7
|
+
(DISTRIBUTION.md §1) rather than published separately, because a diagram tool that can
|
|
8
|
+
draw nothing on the day it is installed has not finished installing.
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in all
|
|
18
|
+
copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
26
|
+
SOFTWARE.
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "generic",
|
|
3
|
+
"kind": "bundled",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"source": "bundled with chalkbridge",
|
|
7
|
+
"description": "The hand-drawn set that ships inside chalkbridge. Enough to draw a system on day one without installing anything (DISTRIBUTION.md §1).",
|
|
8
|
+
"svgDir": "svg",
|
|
9
|
+
"tagRules": { "fromPathSegments": false, "strip": [] },
|
|
10
|
+
"synonyms": {
|
|
11
|
+
"user": ["person", "customer", "actor", "human", "account", "client", "visitor"],
|
|
12
|
+
"users": ["team", "group", "people", "actors", "customers", "audience"],
|
|
13
|
+
"database": [
|
|
14
|
+
"db",
|
|
15
|
+
"sql",
|
|
16
|
+
"postgres",
|
|
17
|
+
"mysql",
|
|
18
|
+
"sqlite",
|
|
19
|
+
"store",
|
|
20
|
+
"table",
|
|
21
|
+
"persistence",
|
|
22
|
+
"rdbms"
|
|
23
|
+
],
|
|
24
|
+
"cache": ["redis", "memcached", "memory", "hot", "ttl", "lookaside"],
|
|
25
|
+
"queue": [
|
|
26
|
+
"sqs",
|
|
27
|
+
"messaging",
|
|
28
|
+
"message",
|
|
29
|
+
"broker",
|
|
30
|
+
"kafka",
|
|
31
|
+
"pubsub",
|
|
32
|
+
"buffer",
|
|
33
|
+
"async",
|
|
34
|
+
"topic",
|
|
35
|
+
"backlog"
|
|
36
|
+
],
|
|
37
|
+
"bucket": ["s3", "blob", "object", "archive", "storage", "cold"],
|
|
38
|
+
"server": [
|
|
39
|
+
"host",
|
|
40
|
+
"vm",
|
|
41
|
+
"machine",
|
|
42
|
+
"node",
|
|
43
|
+
"backend",
|
|
44
|
+
"service",
|
|
45
|
+
"compute",
|
|
46
|
+
"instance",
|
|
47
|
+
"daemon"
|
|
48
|
+
],
|
|
49
|
+
"worker": [
|
|
50
|
+
"job",
|
|
51
|
+
"background",
|
|
52
|
+
"processor",
|
|
53
|
+
"serverless",
|
|
54
|
+
"lambda",
|
|
55
|
+
"function",
|
|
56
|
+
"faas",
|
|
57
|
+
"task",
|
|
58
|
+
"consumer",
|
|
59
|
+
"gear"
|
|
60
|
+
],
|
|
61
|
+
"load-balancer": [
|
|
62
|
+
"lb",
|
|
63
|
+
"nginx",
|
|
64
|
+
"ingress",
|
|
65
|
+
"proxy",
|
|
66
|
+
"router",
|
|
67
|
+
"fanout",
|
|
68
|
+
"distribute",
|
|
69
|
+
"haproxy",
|
|
70
|
+
"envoy"
|
|
71
|
+
],
|
|
72
|
+
"cron": ["schedule", "scheduled", "timer", "clock", "periodic", "nightly", "batch", "interval"],
|
|
73
|
+
"browser": ["web", "client", "frontend", "ui", "page", "spa", "dashboard"],
|
|
74
|
+
"mobile": ["phone", "app", "ios", "android", "device", "handset"],
|
|
75
|
+
"globe": ["internet", "external", "public", "world", "dns", "cdn", "network", "edge"],
|
|
76
|
+
"cloud": [
|
|
77
|
+
"saas",
|
|
78
|
+
"provider",
|
|
79
|
+
"hosted",
|
|
80
|
+
"external",
|
|
81
|
+
"aws",
|
|
82
|
+
"gcp",
|
|
83
|
+
"azure",
|
|
84
|
+
"vendor",
|
|
85
|
+
"thirdparty"
|
|
86
|
+
],
|
|
87
|
+
"api": [
|
|
88
|
+
"endpoint",
|
|
89
|
+
"rest",
|
|
90
|
+
"graphql",
|
|
91
|
+
"gateway",
|
|
92
|
+
"http",
|
|
93
|
+
"interface",
|
|
94
|
+
"contract",
|
|
95
|
+
"rpc",
|
|
96
|
+
"grpc"
|
|
97
|
+
],
|
|
98
|
+
"lock": ["auth", "security", "secure", "private", "encrypted", "permission", "acl"],
|
|
99
|
+
"key": ["credential", "token", "secret", "apikey", "access", "signing", "kms"],
|
|
100
|
+
"file": ["document", "doc", "artifact", "log", "report", "csv", "payload"],
|
|
101
|
+
"folder": ["directory", "repo", "namespace", "group", "package", "module"],
|
|
102
|
+
"alert": ["warning", "error", "incident", "alarm", "oncall", "hotspot", "failure", "pager"],
|
|
103
|
+
"metrics": [
|
|
104
|
+
"dashboard",
|
|
105
|
+
"chart",
|
|
106
|
+
"telemetry",
|
|
107
|
+
"observability",
|
|
108
|
+
"monitoring",
|
|
109
|
+
"analytics",
|
|
110
|
+
"grafana",
|
|
111
|
+
"stats"
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"icons": {}
|
|
115
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M24 7L44 40H4z"/><path d="M24 20v9"/><path d="M24 34h.01"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 11c-5 0-6 3-6 6.5S9.5 22 6.5 24c3 2 4.5 3 4.5 6.5S12 37 17 37"/><path d="M31 11c5 0 6 3 6 6.5s1.5 4.5 4.5 6.5c-3 2-4.5 3-4.5 6.5S36 37 31 37"/><path d="M22 19.5h.01M26 24h.01M22 28.5h.01"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="9" width="38" height="30" rx="3"/><path d="M5 18h38"/><path d="M11 13.5h.01M16 13.5h.01M21 13.5h.01"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 13h30l-3.5 26.5c-.2 1.4-1.4 2.5-2.9 2.5H15.4c-1.5 0-2.7-1.1-2.9-2.5z"/><ellipse cx="24" cy="12" rx="15" ry="5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="11" width="34" height="26" rx="4"/><path d="M25 16l-6 9h6l-3 8 9-11h-6z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15.5 37C10.3 37 6 32.9 6 27.9c0-4.6 3.6-8.4 8.3-9 1.6-5.5 6.8-9.4 12.9-9.4 7.2 0 13.1 5.5 13.4 12.4 3.2 1 5.4 3.9 5.4 7.2 0 4.3-3.6 7.9-8.1 7.9z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="24" cy="24" r="17"/><path d="M24 13.5V24l7 4.5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><ellipse cx="24" cy="12" rx="14" ry="5.5"/><path d="M10 12v24c0 3 6.3 5.5 14 5.5s14-2.5 14-5.5V12"/><path d="M10 24c0 3 6.3 5.5 14 5.5s14-2.5 14-5.5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5h16l9 9v29H12z"/><path d="M28 5v9h9"/><path d="M18 25h12M18 32h12"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12a3 3 0 0 1 3-3h10l4 5h17a3 3 0 0 1 3 3v20a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="24" cy="24" r="17"/><path d="M7 24h34"/><path d="M24 7c4.6 4.9 7 10.6 7 17s-2.4 12.1-7 17c-4.6-4.9-7-10.6-7-17s2.4-12.1 7-17z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="16" cy="20" r="9"/><path d="M22.4 26.4L40 44"/><path d="M35 39l4-4M30 34l4-4"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="17" y="4" width="14" height="10" rx="2"/><rect x="3" y="34" width="12" height="10" rx="2"/><rect x="18" y="34" width="12" height="10" rx="2"/><rect x="33" y="34" width="12" height="10" rx="2"/><path d="M24 14v8M9 34v-4h30v4M24 26v8"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="21" width="30" height="21" rx="4"/><path d="M16 21v-6a8 8 0 0 1 16 0v6"/><path d="M24 29v5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 41h36"/><path d="M13 41V26M22 41V14M31 41V31M40 41V20"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="14" y="4" width="20" height="40" rx="4"/><path d="M21 8.5h6"/><path d="M24 38.5h.01"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="6" y="12" width="9" height="24" rx="2"/><rect x="19.5" y="12" width="9" height="24" rx="2"/><rect x="33" y="12" width="9" height="24" rx="2"/><path d="M15.5 24h3.5M29 24h3.5"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="7" y="9" width="34" height="13" rx="3"/><rect x="7" y="26" width="34" height="13" rx="3"/><path d="M13 15.5h.01M13 32.5h.01"/><path d="M20 15.5h14M20 32.5h14"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="24" cy="17" r="7"/><path d="M10 40c1.5-8 7-12 14-12s12.5 4 14 12"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="19" cy="17" r="6.5"/><path d="M6 40c1.4-7.4 6.4-11 13-11s11.6 3.6 13 11"/><path d="M32 12.5a6.5 6.5 0 0 1 .3 12.4"/><path d="M35 30c4.4 1.2 7.2 4.5 8 10"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none" stroke="#1e1e1e" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="24" cy="24" r="6"/><path d="M24 5.5v5M24 37.5v5M42.5 24h-5M10.5 24h-5M37.1 10.9l-3.5 3.5M14.4 33.6l-3.5 3.5M37.1 37.1l-3.5-3.5M14.4 14.4l-3.5-3.5"/></svg>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# AWS Architecture Icons — a RECIPE, not content. There are no SVGs in this file and
|
|
2
|
+
# there never will be (CLAUDE.md invariant 36, CLAUDE.ARCHITECTURE.md L5).
|
|
3
|
+
#
|
|
4
|
+
# The terms permit using these icons *in* architecture diagrams while restricting
|
|
5
|
+
# redistribution and modification. Chalkbridge therefore ships the knowledge of how to
|
|
6
|
+
# ingest the set and asks the user to download it themselves — one extra step for them,
|
|
7
|
+
# zero licensing exposure for this project.
|
|
8
|
+
name: aws
|
|
9
|
+
license: "AWS Architecture Icons — see the AWS trademark and asset terms at the source URL"
|
|
10
|
+
source: https://aws.amazon.com/architecture/icons/
|
|
11
|
+
instructions:
|
|
12
|
+
- "AWS Architecture Icons are not auto-installable: the vendor terms do not permit Chalkbridge to redistribute or fetch them for you."
|
|
13
|
+
- "1. Download the Asset Package from https://aws.amazon.com/architecture/icons/ and accept the terms there."
|
|
14
|
+
- "2. Unzip it anywhere you like."
|
|
15
|
+
- "3. Run: chalkbridge icons install aws --from <path-to-the-unzipped-folder>"
|
|
16
|
+
- "Or call chalk_install_pack again with `from` set to that path once the user has downloaded it."
|
|
17
|
+
tagRules:
|
|
18
|
+
# Arch_Compute/Arch_AWS-Lambda_48.svg → name "lambda", tags including "compute"
|
|
19
|
+
fromPathSegments: true
|
|
20
|
+
strip:
|
|
21
|
+
- "Arch_"
|
|
22
|
+
- "Arch-Category_"
|
|
23
|
+
- "Res_"
|
|
24
|
+
- "_48"
|
|
25
|
+
- "_64"
|
|
26
|
+
- "_32"
|
|
27
|
+
- "_16"
|
|
28
|
+
- "AWS-"
|
|
29
|
+
- "Amazon-"
|
|
30
|
+
- "-Light"
|
|
31
|
+
- "-Dark"
|
|
32
|
+
- "_Light"
|
|
33
|
+
- "_Dark"
|
|
34
|
+
synonyms:
|
|
35
|
+
lambda: [serverless, function, faas, worker, job]
|
|
36
|
+
sqs: [queue, messaging, broker, async, buffer]
|
|
37
|
+
sns: [pubsub, topic, notification, fanout]
|
|
38
|
+
eventbridge: [events, bus, routing, trigger]
|
|
39
|
+
s3: [bucket, object, blob, storage, archive]
|
|
40
|
+
dynamodb: [database, nosql, keyvalue, table, store]
|
|
41
|
+
rds: [database, sql, postgres, mysql, relational]
|
|
42
|
+
aurora: [database, sql, relational, cluster]
|
|
43
|
+
elasticache: [cache, redis, memcached, memory]
|
|
44
|
+
ec2: [server, vm, instance, compute, host]
|
|
45
|
+
ecs: [container, docker, cluster, orchestration]
|
|
46
|
+
eks: [kubernetes, container, cluster, orchestration]
|
|
47
|
+
fargate: [container, serverless, compute]
|
|
48
|
+
cloudfront: [cdn, edge, cache, distribution]
|
|
49
|
+
route-53: [dns, routing, domain, resolver]
|
|
50
|
+
api-gateway: [api, endpoint, rest, http, gateway]
|
|
51
|
+
elastic-load-balancing: [lb, "load-balancer", proxy, ingress, alb, nlb]
|
|
52
|
+
cognito: [auth, identity, login, users, oidc]
|
|
53
|
+
iam: [auth, permission, policy, role, security]
|
|
54
|
+
kms: [key, secret, encryption, crypto]
|
|
55
|
+
secrets-manager: [secret, credential, token, vault]
|
|
56
|
+
cloudwatch: [metrics, monitoring, logs, observability, alarm]
|
|
57
|
+
step-functions: [workflow, orchestration, "state-machine", saga]
|
|
58
|
+
kinesis: [stream, streaming, events, ingest]
|
|
59
|
+
glue: [etl, pipeline, transform, catalog]
|
|
60
|
+
athena: [query, analytics, sql, adhoc]
|
|
61
|
+
redshift: [warehouse, analytics, olap, database]
|
|
62
|
+
sagemaker: [ml, model, training, inference, ai]
|
|
63
|
+
bedrock: [ai, llm, model, inference, genai]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Microsoft Azure architecture icons — a RECIPE, not content. No SVGs here, ever
|
|
2
|
+
# (CLAUDE.md invariant 36, CLAUDE.ARCHITECTURE.md L5).
|
|
3
|
+
#
|
|
4
|
+
# Microsoft permits the icons in architecture diagrams and explicitly forbids
|
|
5
|
+
# redistributing them as an icon set, which is precisely the line a package manager
|
|
6
|
+
# would cross on the user's behalf if this file contained artwork.
|
|
7
|
+
name: azure
|
|
8
|
+
license: "Microsoft Azure architecture icons — permitted in architecture diagrams, redistribution not permitted; see the source URL"
|
|
9
|
+
source: https://learn.microsoft.com/en-us/azure/architecture/icons/
|
|
10
|
+
instructions:
|
|
11
|
+
- "Azure architecture icons are not auto-installable: Microsoft permits them in diagrams but not as a redistributed icon set."
|
|
12
|
+
- "1. Download the icon package from https://learn.microsoft.com/en-us/azure/architecture/icons/ and accept the terms there."
|
|
13
|
+
- "2. Unzip it anywhere you like."
|
|
14
|
+
- "3. Run: chalkbridge icons install azure --from <path-to-the-unzipped-folder>"
|
|
15
|
+
- "Or call chalk_install_pack again with `from` set to that path once the user has downloaded it."
|
|
16
|
+
tagRules:
|
|
17
|
+
# icons/compute/10021-icon-service-Function-Apps.svg → name "function-apps"
|
|
18
|
+
fromPathSegments: true
|
|
19
|
+
strip:
|
|
20
|
+
- "icon-service-"
|
|
21
|
+
- "-icon-service-"
|
|
22
|
+
- "Azure-"
|
|
23
|
+
- "_Light"
|
|
24
|
+
- "_Dark"
|
|
25
|
+
synonyms:
|
|
26
|
+
function-apps: [serverless, function, faas, lambda, worker]
|
|
27
|
+
service-bus: [queue, messaging, broker, topic, async]
|
|
28
|
+
event-grid: [events, bus, routing, pubsub, trigger]
|
|
29
|
+
event-hubs: [stream, streaming, ingest, kafka]
|
|
30
|
+
storage-accounts: [bucket, blob, object, storage, archive]
|
|
31
|
+
sql-database: [database, sql, relational, store]
|
|
32
|
+
cosmos-db: [database, nosql, document, global, store]
|
|
33
|
+
cache-for-redis: [cache, redis, memory, hot]
|
|
34
|
+
virtual-machine: [server, vm, instance, compute, host]
|
|
35
|
+
kubernetes-services: [kubernetes, aks, container, cluster, orchestration]
|
|
36
|
+
container-instances: [container, docker, compute]
|
|
37
|
+
app-services: [webapp, server, host, backend]
|
|
38
|
+
front-door: [cdn, edge, "load-balancer", routing, waf]
|
|
39
|
+
application-gateway: [lb, "load-balancer", proxy, ingress, waf]
|
|
40
|
+
dns-zones: [dns, routing, domain, resolver]
|
|
41
|
+
api-management: [api, gateway, endpoint, rest, throttling]
|
|
42
|
+
active-directory: [auth, identity, login, sso, entra]
|
|
43
|
+
key-vault: [key, secret, credential, encryption, vault]
|
|
44
|
+
monitor: [metrics, monitoring, logs, observability, alerts]
|
|
45
|
+
logic-apps: [workflow, orchestration, integration, automation]
|
|
46
|
+
data-factory: [etl, pipeline, transform, ingest]
|
|
47
|
+
synapse-analytics: [warehouse, analytics, olap, database]
|
|
48
|
+
machine-learning: [ml, model, training, inference, ai]
|
|
49
|
+
openai: [ai, llm, model, inference, genai]
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Devicon — MIT, and therefore fully automatic (DISTRIBUTION.md §2.1).
|
|
2
|
+
#
|
|
3
|
+
# `npmPackage` names the upstream project's own package rather than an
|
|
4
|
+
# `@chalkbridge/pack-devicon` republish. Devicon already ships its SVGs to npm under a
|
|
5
|
+
# permissive licence; forking that to put our scope on it would be a copy to keep in
|
|
6
|
+
# step for no benefit to anyone.
|
|
7
|
+
name: devicon
|
|
8
|
+
kind: npm
|
|
9
|
+
license: MIT
|
|
10
|
+
source: https://github.com/devicons/devicon
|
|
11
|
+
npmPackage: devicon
|
|
12
|
+
svgDir: icons
|
|
13
|
+
# Devicon ships up to five renderings of every technology — original, plain, line,
|
|
14
|
+
# wordmark, and the -colored variants of each. Without this filter they all normalise to
|
|
15
|
+
# one name, four are skipped as duplicates, and *which* one survives depends on the order
|
|
16
|
+
# readdir happened to return. The original mark is the one people mean.
|
|
17
|
+
include:
|
|
18
|
+
- "-original.svg"
|
|
19
|
+
tagRules:
|
|
20
|
+
# icons/postgresql/postgresql-original.svg → name "postgresql", tag "postgresql"
|
|
21
|
+
fromPathSegments: true
|
|
22
|
+
strip:
|
|
23
|
+
- "-original"
|
|
24
|
+
- "-plain"
|
|
25
|
+
- "-line"
|
|
26
|
+
- "-wordmark"
|
|
27
|
+
- "-colored"
|
|
28
|
+
synonyms:
|
|
29
|
+
postgresql: [database, sql, postgres, relational, store]
|
|
30
|
+
mysql: [database, sql, relational, store]
|
|
31
|
+
sqlite: [database, sql, embedded, file]
|
|
32
|
+
mongodb: [database, nosql, document, store]
|
|
33
|
+
redis: [cache, memory, keyvalue, queue]
|
|
34
|
+
kafka: [queue, stream, broker, messaging, events]
|
|
35
|
+
rabbitmq: [queue, broker, messaging, amqp]
|
|
36
|
+
elasticsearch: [search, index, query, logs]
|
|
37
|
+
docker: [container, image, runtime, build]
|
|
38
|
+
kubernetes: [container, cluster, orchestration, k8s]
|
|
39
|
+
nginx: ["load-balancer", proxy, ingress, webserver]
|
|
40
|
+
terraform: [infrastructure, iac, provisioning]
|
|
41
|
+
github: [repo, ci, source, vcs]
|
|
42
|
+
gitlab: [repo, ci, source, vcs]
|
|
43
|
+
jenkins: [ci, build, pipeline]
|
|
44
|
+
grafana: [metrics, dashboard, observability, monitoring]
|
|
45
|
+
prometheus: [metrics, monitoring, alerting, timeseries]
|
|
46
|
+
react: [frontend, ui, spa, client]
|
|
47
|
+
nodejs: [backend, server, javascript, runtime]
|
|
48
|
+
python: [backend, script, service]
|
|
49
|
+
go: [backend, service, golang]
|
|
50
|
+
rust: [backend, service, systems]
|
|
51
|
+
typescript: [frontend, backend, language]
|
|
52
|
+
amazonwebservices: [aws, cloud, provider]
|
|
53
|
+
googlecloud: [gcp, cloud, provider]
|
|
54
|
+
azure: [cloud, provider, microsoft]
|