feat: initialize monorepo structure with Bun and Turborepo

- Add package.json for the root with workspace configuration and scripts
- Create @gruperly/config package with TypeScript configuration
- Establish shared package @gruperly/shared with Zod schemas for validation
- Implement group, student, and payment schemas using Zod
- Set up TypeScript configuration for shared package
- Document stack architecture and technical specifications in stack.md
- Configure Turborepo with build, dev, lint, and typecheck tasks
This commit is contained in:
Jose Selesan
2026-08-28 17:03:53 -03:00
parent 52b3074631
commit ed8d280995
50 changed files with 1660 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
import { forwardRef, type SVGProps } from 'react'
import { cn } from '../../lib/utils'
export type LogoIconProps = SVGProps<SVGSVGElement> & {
className?: string
}
export const LogoIcon = forwardRef<SVGSVGElement, LogoIconProps>(
({ className, ...props }, ref) => {
return (
<svg
ref={ref}
viewBox="0 0 40 40"
fill="none"
role="img"
aria-label="Gruperly"
className={cn('size-8', className)}
{...props}
>
<rect
width="40"
height="40"
rx="10"
className="fill-accent-soft"
/>
<path
d="M17 14.5c0-1.4 3-1.4 3 0V27.5c0 3-2.5 6-6.5 6-3.6 0-6-2.1-6-5 0-1.4 3-1.4 3 0 0 1 .6 2 3 2 2 0 3-1.2 3-3V17z"
className="fill-accent"
/>
<path
d="M20 15.5c0-1.4 3-1.4 3 0v6c0 3 2 5 5.5 5 1.4 0 3-1.2 3-3 0-1.4 3-1.4 3 0 0 3-2.6 4.6-6.5 4.6-4 0-5-3-5-6.6v-6z"
className="fill-accent"
/>
</svg>
)
},
)
LogoIcon.displayName = 'LogoIcon'