From 70d4542f1cd671be8b74edeb5234e4fc8f5a1028 Mon Sep 17 00:00:00 2001 From: Pacu Date: Mon, 13 Jul 2026 09:16:31 +0200 Subject: [PATCH 1/2] =?UTF-8?q?feat(theme):=20amber=20ZecDev=20redesign=20?= =?UTF-8?q?=E2=80=94=20Space=20Grotesk=20type,=20warm=20surfaces,=20polish?= =?UTF-8?q?ed=20tables/cards?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- public/zecdev-logo.png | Bin 0 -> 43028 bytes src/app/layout.jsx | 53 ++++++++----- src/app/zecdev.css | 174 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 207 insertions(+), 20 deletions(-) create mode 100644 public/zecdev-logo.png create mode 100644 src/app/zecdev.css diff --git a/public/zecdev-logo.png b/public/zecdev-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7192f561dc7b978e214ebcd21a6f1feb9295d616 GIT binary patch literal 43028 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 z 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 spwLa&e`&h^ZecDev} - // ... Your additional navbar options + logo={ + + + ZecDev + + } + projectLink="https://github.com/zecdev" /> ) -const footer =
MIT {new Date().getFullYear()} © ZecDev.
- + +const footer = ( +
+ MIT {new Date().getFullYear()} © ZecDev. +
+) + export default async function RootLayout({ children }) { return ( - {/* Your additional tags should be passed as `children` of `` element */} - + color={{ hue: 41, saturation: 87, lightness: { light: 42, dark: 60 } }} + backgroundColor={{ light: 'rgb(251,250,246)', dark: 'rgb(20,19,15)' }} + /> {children} ) -} \ No newline at end of file +} diff --git a/src/app/zecdev.css b/src/app/zecdev.css new file mode 100644 index 0000000..1d3d4a9 --- /dev/null +++ b/src/app/zecdev.css @@ -0,0 +1,174 @@ +/* ============================================================================ + ZecDev — Nextra theme customization + Import from src/app/layout.jsx (after nextra-theme-docs styles load). + Palette derived from the ZecDev chip logo. + ============================================================================ */ + +:root { + /* ---- brand knobs: change these to retune the whole site ---- */ + --zec-amber: #F0B429; + --zec-amber-strong: #B67D08; /* readable amber for text/links on light bg */ + --zec-amber-soft: #FCEFC8; /* active-nav / highlight wash */ + --zec-teal: #0E9488; + --zec-coral: #DC5236; + + /* warm neutral surfaces (avoid pure white/grey) */ + --zec-bg: #FBFAF6; + --zec-surface: #FFFFFF; + --zec-surface-2: #F4F1E8; + --zec-border: #E8E3D6; + --zec-text: #17150F; + --zec-muted: #6E685A; + + /* map onto Nextra's own tokens */ + --nextra-bg: 251, 250, 246; +} + +html.dark { + --zec-amber-strong: #F4C13C; + --zec-amber-soft: rgba(244, 193, 60, 0.12); + --zec-teal: #2DC3B4; + --zec-coral: #F0715A; + --zec-bg: #14130F; + --zec-surface: #1C1B15; + --zec-surface-2: #23211A; + --zec-border: #302E24; + --zec-text: #F6F3E8; + --zec-muted: #ABA491; + --nextra-bg: 20, 19, 15; +} + +/* ---- base type ---------------------------------------------------------- */ +html, body { + background: var(--zec-bg); + color: var(--zec-text); + font-family: var(--font-sans), system-ui, sans-serif; + font-feature-settings: "cv05", "ss01"; +} +::selection { background: rgba(240, 180, 41, 0.35); } + +/* display font for all headings + the navbar wordmark */ +h1, h2, h3, h4, .nextra-navbar b, +article h1, article h2, article h3 { + font-family: var(--font-display), system-ui, sans-serif; + letter-spacing: -0.02em; +} +article h1 { font-weight: 700; letter-spacing: -0.03em; } + +code, kbd, pre, .nextra-code, :not(pre) > code { + font-family: var(--font-mono), ui-monospace, monospace; +} + +/* ---- navbar ------------------------------------------------------------- */ +.nextra-navbar { + background: color-mix(in srgb, var(--zec-bg) 82%, transparent); + border-bottom: 1px solid var(--zec-border); + backdrop-filter: saturate(180%) blur(14px); +} +/* active + hovered nav links use amber */ +.nextra-navbar a[aria-current="true"], +.nextra-navbar a:hover { + color: var(--zec-amber-strong) !important; +} + +/* ---- sidebar ------------------------------------------------------------ */ +.nextra-sidebar { border-right: 1px solid var(--zec-border); } +.nextra-sidebar a.\_font-medium, /* active item (Nextra hashed class) */ +.nextra-sidebar li.active > a, +.nextra-sidebar a[data-active="true"] { + background: var(--zec-amber-soft) !important; + color: var(--zec-amber-strong) !important; + font-weight: 600; +} +.nextra-sidebar a:hover { color: var(--zec-amber-strong); } +/* section labels in mono caps */ +.nextra-sidebar .\_uppercase, +.nextra-sidebar h3 { + font-family: var(--font-mono), monospace; + font-size: 11.5px; letter-spacing: 0.06em; text-transform: uppercase; +} + +/* ---- links in prose ----------------------------------------------------- */ +.nextra-content a, +article a:not(.nextra-card) { + color: var(--zec-amber-strong); + text-decoration: none; + border-bottom: 1px solid var(--zec-amber); + transition: color .15s, border-color .15s; +} +.nextra-content a:hover { border-bottom-color: var(--zec-amber-strong); } + +/* ---- right-hand TOC ----------------------------------------------------- */ +.nextra-toc .\_uppercase { font-family: var(--font-mono), monospace; } +.nextra-toc a:hover, +.nextra-toc a[aria-current="true"] { color: var(--zec-amber-strong); } + +/* ---- tables (dashboard, wishlist, explorers) ---------------------------- */ +.nextra-content table { + border: 1px solid var(--zec-border); + border-radius: 14px; + border-collapse: separate; + border-spacing: 0; + overflow: hidden; + box-shadow: 0 1px 2px rgba(23,21,15,.04), 0 8px 24px rgba(23,21,15,.06); +} +.nextra-content th { + background: var(--zec-surface-2); + font-family: var(--font-mono), monospace; + font-size: 11.5px; font-weight: 500; + letter-spacing: 0.05em; text-transform: uppercase; + color: var(--zec-muted); + text-align: left; +} +.nextra-content th, .nextra-content td { + padding: 13px 18px; + border: none; + border-top: 1px solid var(--zec-border); +} +.nextra-content thead th { border-top: none; } +.nextra-content tbody tr:hover td { background: var(--zec-surface-2); } + +/* ---- code blocks -------------------------------------------------------- */ +.nextra-code pre, +.nextra-content pre { + background: var(--zec-surface-2) !important; + border: 1px solid var(--zec-border); + border-radius: 12px; +} +:not(pre) > code { + background: var(--zec-surface-2); + border: 1px solid var(--zec-border); + border-radius: 6px; + padding: 2px 6px; + font-size: .86em; +} + +/* ---- blockquote (maintainer foreword) ----------------------------------- */ +.nextra-content blockquote { + border-left: 3px solid var(--zec-amber); + font-family: var(--font-display), sans-serif; + font-style: normal; + color: var(--zec-text); +} + +/* ---- Nextra ----------------------------------------------------- */ +.nextra-card { + border: 1px solid var(--zec-border) !important; + border-radius: 16px !important; + background: var(--zec-surface); + transition: transform .18s, border-color .18s; +} +.nextra-card:hover { + border-color: var(--zec-amber) !important; + transform: translateY(-3px); +} + +/* ---- buttons / primary CTA (if you use Nextra's Button or custom) -------- */ +.zec-cta { + display: inline-flex; align-items: center; gap: 8px; + height: 48px; padding: 0 24px; border-radius: 11px; + background: var(--zec-amber); color: #17150F; + font-weight: 600; text-decoration: none; border: none; + box-shadow: 0 6px 18px rgba(240,180,41,.35); +} +.zec-cta:hover { filter: brightness(1.05); } From dc3bc50e1839bd643f04f18e95023ae2cf1e5495 Mon Sep 17 00:00:00 2001 From: Pacu Date: Mon, 13 Jul 2026 09:42:44 +0200 Subject: [PATCH 2/2] feat(home): full-bleed landing page matching the redesign prototype Hero with circuit motif, Start-here cards, maintainer foreword band. Welcome content moves to /welcome; navbar gains Docs/Dashboard/Community links and a theme toggle; footer restyled to the warm palette. Co-Authored-By: Claude Fable 5 --- src/app/home.css | 290 +++++++++++++++++++++++++++++++++ src/app/layout.jsx | 31 +++- src/components/HomeLanding.jsx | 134 +++++++++++++++ src/content/_meta.js | 1 + src/content/index.mdx | 76 ++------- src/content/welcome.mdx | 60 +++++++ 6 files changed, 529 insertions(+), 63 deletions(-) create mode 100644 src/app/home.css create mode 100644 src/components/HomeLanding.jsx create mode 100644 src/content/welcome.mdx diff --git a/src/app/home.css b/src/app/home.css new file mode 100644 index 0000000..e51bd51 --- /dev/null +++ b/src/app/home.css @@ -0,0 +1,290 @@ +/* ============================================================================ + ZecDev — landing page ("/") styles. Companion to zecdev.css; matches the + design prototype (ZecDev Site.dc.html) hero / cards / foreword. + ============================================================================ */ + +:root { + --zd-border-strong: #D8D2C2; + --zd-faint: #9A9484; + --zd-teal-soft: rgba(14, 148, 136, 0.12); + --zd-coral-soft: rgba(220, 82, 54, 0.12); + --zd-shadow: 0 1px 2px rgba(23, 21, 15, 0.04), 0 8px 24px rgba(23, 21, 15, 0.06); +} +html.dark { + --zd-border-strong: #3C3A2D; + --zd-faint: #756F60; + --zd-teal-soft: rgba(45, 195, 180, 0.12); + --zd-coral-soft: rgba(240, 113, 90, 0.12); + --zd-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 10px 30px rgba(0, 0, 0, 0.35); +} + +.zd-home { + font-family: var(--font-sans), system-ui, sans-serif; + line-height: 1.6; +} +/* undo the docs-prose link underline inside the landing (zecdev.css) */ +article .zd-home a { + border-bottom: none; + color: inherit; +} +/* let the landing bleed to the viewport edges and end at the footer */ +article:has(.zd-home) { + padding: 0 !important; + min-height: 0 !important; +} +article:has(.zd-home) > .x\:mt-16 { + display: none; +} + +/* ---- footer (site-wide): warm surface like the prototype ------------------ */ +div[class*='x:bg-gray-100']:has(footer) { + background: var(--zec-surface-2) !important; + border-top: 1px solid var(--zec-border); +} +/* the theme switch lives in the navbar; drop Nextra's strip above the footer */ +div[class*='x:bg-gray-100']:has(footer) > div:has(> button[title='Change theme']), +div[class*='x:bg-gray-100']:has(footer) > hr.nextra-border { + display: none; +} +footer { + color: var(--zec-muted) !important; +} +footer a { + color: var(--zec-muted); + text-decoration: none; + transition: color 0.15s ease; +} +footer a:hover { + color: var(--zec-amber-strong); +} +.zd-home .zd-amber { color: var(--zec-amber-strong); } + +/* ---- hero ---------------------------------------------------------------- */ +.zd-hero { + position: relative; + overflow: hidden; + border-bottom: 1px solid var(--zec-border); +} +.zd-hero-circuit { + position: absolute; + inset: 0; + width: 100%; + height: 100%; + opacity: 0.5; + pointer-events: none; +} +.zd-hero-inner { + position: relative; + max-width: 1120px; + margin: 0 auto; + padding: 96px 24px 88px; + text-align: center; +} +.zd-badge { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 5px 13px; + border: 1px solid var(--zec-border); + border-radius: 100px; + background: var(--zec-surface); + font-family: var(--font-mono), monospace; + font-size: 12.5px; + color: var(--zec-muted); + margin-bottom: 28px; +} +.zd-badge-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--zec-teal); +} +.zd-hero-title { + font-family: var(--font-display), sans-serif; + font-weight: 700; + font-size: clamp(42px, 6.4vw, 76px); + line-height: 1.02; + letter-spacing: -0.035em; + margin: 0 auto; + max-width: 14ch; + color: var(--zec-text); +} +.zd-hero-sub { + font-size: 19px; + color: var(--zec-muted); + max-width: 60ch; + margin: 24px auto 0; + line-height: 1.55; +} +.zd-hero-ctas { + display: flex; + gap: 14px; + justify-content: center; + flex-wrap: wrap; + margin-top: 38px; +} +.zd-cta-primary { + display: inline-flex; + align-items: center; + gap: 8px; + height: 50px; + padding: 0 26px; + border-radius: 11px; + background: var(--zec-amber); + color: #17150F !important; + font-weight: 600; + font-size: 15.5px; + text-decoration: none !important; + box-shadow: 0 6px 18px rgba(240, 180, 41, 0.35); + transition: filter 0.15s ease, transform 0.15s ease; +} +.zd-cta-primary:hover { + filter: brightness(1.05); + transform: translateY(-1px); +} +.zd-cta-secondary { + display: inline-flex; + align-items: center; + gap: 8px; + height: 50px; + padding: 0 24px; + border-radius: 11px; + background: var(--zec-surface); + border: 1px solid var(--zd-border-strong); + color: var(--zec-text) !important; + font-weight: 600; + font-size: 15.5px; + text-decoration: none !important; + transition: border-color 0.15s ease, color 0.15s ease; +} +.zd-cta-secondary:hover { + border-color: var(--zec-amber); + color: var(--zec-amber-strong) !important; +} + +/* ---- start-here cards ---------------------------------------------------- */ +.zd-start { + max-width: 1120px; + margin: 0 auto; + padding: 72px 24px; +} +.zd-start-head { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 16px; + margin-bottom: 28px; + flex-wrap: wrap; +} +.zd-start-head h2 { + font-family: var(--font-display), sans-serif; + font-weight: 600; + font-size: 30px; + letter-spacing: -0.02em; + margin: 0; + color: var(--zec-text); +} +.zd-start-path { + font-family: var(--font-mono), monospace; + font-size: 13px; + color: var(--zd-faint); +} +.zd-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(258px, 1fr)); + gap: 18px; +} +.zd-card { + display: block; + padding: 26px; + border: 1px solid var(--zec-border); + border-radius: 16px; + background: var(--zec-surface); + box-shadow: var(--zd-shadow); + position: relative; + overflow: hidden; + color: inherit !important; + text-decoration: none !important; + transition: border-color 0.15s ease, transform 0.15s ease; +} +.zd-card:hover { transform: translateY(-3px); } +.zd-card-amber:hover { border-color: var(--zec-amber); } +.zd-card-teal:hover { border-color: var(--zec-teal); } +.zd-card-coral:hover { border-color: var(--zec-coral); } +.zd-card-plain:hover { border-color: var(--zd-border-strong); } +.zd-card-icon { + width: 44px; + height: 44px; + border-radius: 11px; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 18px; +} +.zd-card h3 { + font-family: var(--font-display), sans-serif; + font-weight: 600; + font-size: 19px; + margin: 0 0 7px; + color: var(--zec-text); +} +.zd-card p { + margin: 0; + color: var(--zec-muted); + font-size: 14.5px; + line-height: 1.5; +} + +/* ---- foreword ------------------------------------------------------------ */ +.zd-foreword { + border-top: 1px solid var(--zec-border); + background: var(--zec-surface-2); +} +.zd-foreword-inner { + max-width: 820px; + margin: 0 auto; + padding: 72px 24px; +} +.zd-foreword-label { + font-family: var(--font-mono), monospace; + font-size: 12.5px; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--zec-amber-strong); + margin-bottom: 16px; +} +.zd-foreword blockquote { + margin: 0; + font-family: var(--font-display), sans-serif; + font-weight: 500; + font-size: 23px; + line-height: 1.5; + letter-spacing: -0.015em; + color: var(--zec-text); + border-left: 3px solid var(--zec-amber); + padding-left: 24px; + font-style: normal; +} +.zd-foreword-credit { + margin-top: 22px; + font-size: 14px; + color: var(--zd-faint); +} + +/* ---- navbar links (Docs / Dashboard / Community) -------------------------- */ +.zd-nav-link { + padding: 7px 13px; + border-radius: 9px; + font-size: 14.5px; + font-weight: 500; + color: var(--zec-muted); + text-decoration: none; + white-space: nowrap; +} +.zd-nav-link:hover { + color: var(--zec-amber-strong); + background: var(--zec-amber-soft); +} +@media (max-width: 767px) { + .zd-nav-link { display: none; } +} diff --git a/src/app/layout.jsx b/src/app/layout.jsx index 071269f..b3c0a56 100644 --- a/src/app/layout.jsx +++ b/src/app/layout.jsx @@ -1,10 +1,11 @@ // ── src/app/layout.jsx ── drop-in replacement (matches zecdev.github.io @ main, Nextra 4.6.1) -import { Footer, Layout, Navbar } from 'nextra-theme-docs' +import { Footer, Layout, Navbar, ThemeSwitch } from 'nextra-theme-docs' import { Head } from 'nextra/components' import { getPageMap } from 'nextra/page-map' import { Space_Grotesk, IBM_Plex_Sans, IBM_Plex_Mono } from 'next/font/google' import 'nextra-theme-docs/style.css' import './zecdev.css' +import './home.css' const grotesk = Space_Grotesk({ subsets: ['latin'], variable: '--font-display', weight: ['500', '600', '700'] }) const plex = IBM_Plex_Sans({ subsets: ['latin'], variable: '--font-sans', weight: ['400', '500', '600', '700'] }) @@ -21,12 +22,36 @@ const navbar = ( } projectLink="https://github.com/zecdev" - /> + > + Docs + Dashboard + Community + + ) const footer = (
- MIT {new Date().getFullYear()} © ZecDev. +
+ + + MIT {new Date().getFullYear()} © ZecDev + + + z.cash + ZecHub + GitHub + +
) diff --git a/src/components/HomeLanding.jsx b/src/components/HomeLanding.jsx new file mode 100644 index 0000000..9f8618b --- /dev/null +++ b/src/components/HomeLanding.jsx @@ -0,0 +1,134 @@ +import Link from 'next/link' + +const GithubIcon = props => ( + + + +) + +export function HomeLanding() { + return ( +
+
+ + +
+
+ + Zcash Developer Relations · built in public +
+

+ Tools & resources for the Zcash ecosystem +

+

+ Projects, dashboards and documentation created and maintained in the context of the + Zcash Developer Relations Engineer grant. Open, transparent, and community-owned. +

+
+ + Explore the docs + + + + + + Zcashd deprecation status + +
+
+
+ +
+
+

Start here

+ {'// zecdev.org'} +
+
+ +
+ + + + +
+

Zcash Z3

+

The Z3 stack: what it is, the zcashd end-of-life, contributing and weekly updates.

+ + + +
+ + + + +
+

Deprecation Dashboard

+

Track the projects and milestones retiring zcashd across the ecosystem.

+ + + +
+ + + + + +
+

Community Billboard

+

The Zcasher's wishlist, block explorer directory and calls-to-action.

+ + + +
+ +
+

Browse the code

+

Every project lives on GitHub under the ZecDev organization. Contributions welcome.

+
+
+
+ +
+
+
A foreword from its maintainer · @pacu
+
+ “ZecDev is inspired by ZecSec. These tools and resources belong to our beloved + ecosystem — like moving small plants to a bigger flowerpot so they can flourish + and grow stronger. You are all welcome to contribute. Let’s keep building the + Zcash we want to see in the world.” +
+
Logo designed by @mine from Zcash Brazil · Licensed MIT
+
+
+
+ ) +} diff --git a/src/content/_meta.js b/src/content/_meta.js index b8113af..4e2ae84 100644 --- a/src/content/_meta.js +++ b/src/content/_meta.js @@ -1,5 +1,6 @@ export default { index: '', + welcome: '', 'zcash-z3': '', 'community': '', } \ No newline at end of file diff --git a/src/content/index.mdx b/src/content/index.mdx index 44c9d03..390210e 100644 --- a/src/content/index.mdx +++ b/src/content/index.mdx @@ -1,60 +1,16 @@ - - -# Welcome to ZecDev - -![ZecDev Logo](https://github.com/user-attachments/assets/b0dedb72-1ad8-41c4-bf4e-7d37cbad626b) - - -Here you will find projects, resources and tools created and maintained -in the context of the (Zcash) Developer Relations Engineer grant. - -A foreword from its maintainer (@pacu) -> I’m an admirer of @defuse's work. As a Zcash community member, I honestly believe Taylor has been the greatest ZCG grantee of all times. His work combined dedication, humbleness, methodology, commitment, openness, transparency and professionalism. “ZecSec” is not only a legacy other teams like Least Authority are building on, but also a beacon we all should be inspired by. -> -> -> ZecDev is inspired on [ZecSec](https://zecsec.com/). I always felt that the project I have the privilege to work in needed a better place than my own github profile. I may have developed those tools, but I did so because of, thanks to and for the Zcash community. These tools and resources belong to our beloved ecosystem and I feel that them being under `github/pacu` does not give Zcashers enough credit. -> -> -> Github Organizations allow broader contributions. This will let these tools to have a better place to grow. This is like moving small plants to a bigger flowerpot so they can flourish and grow bigger and stronger! -> -> -> You are all welcome to contribute to the projects hosted under ZecDev! let's keep building the Zcash we want to see in the world - - -### Contributing -ZecDev is built in public. Browse the different repost within ZecDev, -look for the guidelines and start contributing to the Zcash ecosystem. - -### Useful Resources. - -If you want resources about Zcash you can visit the official website: [z.cash](https://z.cash), but I -strongly recommend that you don't miss [ZECHUB](https://zechub.wiki), the first Zcash DAO ever, dedicated to -curate and produce the best Zcash educational, technical and non-technical resources about Zcash. - -### License -Unless indicated otherwise, everything we do here is licensed with the MIT LICENCSE - -MIT License - -Copyright (c) [2024] [ZecDev.org] - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - - -Logo designed by @mine from Zcash Brazil +--- +title: ZecDev — Tools & resources for the Zcash ecosystem +display: hidden +theme: + layout: full + sidebar: false + toc: false + breadcrumb: false + pagination: false + timestamp: false + copyPage: false +--- + +import { HomeLanding } from '../components/HomeLanding' + + diff --git a/src/content/welcome.mdx b/src/content/welcome.mdx new file mode 100644 index 0000000..44c9d03 --- /dev/null +++ b/src/content/welcome.mdx @@ -0,0 +1,60 @@ + + +# Welcome to ZecDev + +![ZecDev Logo](https://github.com/user-attachments/assets/b0dedb72-1ad8-41c4-bf4e-7d37cbad626b) + + +Here you will find projects, resources and tools created and maintained +in the context of the (Zcash) Developer Relations Engineer grant. + +A foreword from its maintainer (@pacu) +> I’m an admirer of @defuse's work. As a Zcash community member, I honestly believe Taylor has been the greatest ZCG grantee of all times. His work combined dedication, humbleness, methodology, commitment, openness, transparency and professionalism. “ZecSec” is not only a legacy other teams like Least Authority are building on, but also a beacon we all should be inspired by. +> +> +> ZecDev is inspired on [ZecSec](https://zecsec.com/). I always felt that the project I have the privilege to work in needed a better place than my own github profile. I may have developed those tools, but I did so because of, thanks to and for the Zcash community. These tools and resources belong to our beloved ecosystem and I feel that them being under `github/pacu` does not give Zcashers enough credit. +> +> +> Github Organizations allow broader contributions. This will let these tools to have a better place to grow. This is like moving small plants to a bigger flowerpot so they can flourish and grow bigger and stronger! +> +> +> You are all welcome to contribute to the projects hosted under ZecDev! let's keep building the Zcash we want to see in the world + + +### Contributing +ZecDev is built in public. Browse the different repost within ZecDev, +look for the guidelines and start contributing to the Zcash ecosystem. + +### Useful Resources. + +If you want resources about Zcash you can visit the official website: [z.cash](https://z.cash), but I +strongly recommend that you don't miss [ZECHUB](https://zechub.wiki), the first Zcash DAO ever, dedicated to +curate and produce the best Zcash educational, technical and non-technical resources about Zcash. + +### License +Unless indicated otherwise, everything we do here is licensed with the MIT LICENCSE + +MIT License + +Copyright (c) [2024] [ZecDev.org] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Logo designed by @mine from Zcash Brazil