This section provides guidelines for creating and contributing SVGs to the AI vector Forge project. The goal is to maintain a high-quality, consistent, and accessible collection of “remixable seeds.”
<title> and <desc> tags for accessibility.The project is organized into “namespaces,” which are top-level directories. Each namespace is a collection of “workshops,” and each workshop is dedicated to a single SVG.
/
├── logos/
│ ├── README.md (Describes the 'logos' namespace)
│ └── my-cool-logo/
│ ├── README.md (Describes this specific logo, with a preview)
│ ├── my-cool-logo.svg (The SVG file, name must match directory)
│ ├── AGENTS.md (Optional, for AI instructions for this logo)
│ └── source.png (Optional, source material for the SVG)
│
└── gallery/
└── ... (similar structure for gallery workshops)
logo, a gallery piece, or a ui-component./logos/my-new-logo/).my-new-logo.svg).README.md inside the workshop directory with a preview of your SVG and some information about it.This section provides a more detailed technical guide to working with SVG XML.
<defs> and <use>: For repeated shapes, define them once in the <defs> section and reuse them with the <use> element. This can significantly reduce file size.<g> element to group related shapes. This makes the SVG easier to read and allows you to apply transformations or styles to the whole group.<style> tag to make your SVGs more themeable and easier to modify.
:root {
--primary-color: #3498db;
}
.shape {
fill: var(--primary-color);
}
@keyframes to create complex, multi-step animations. Animate properties like transform, opacity, and fill.<filter>) to apply effects like blurs, drop shadows, and color transformations directly in the XML.role attribute: Add role="img" to the main <svg> tag to explicitly identify it as an image to assistive technologies.aria-labelledby: To create a more robust connection between the SVG and its title and description, use aria-labelledby.
<svg role="img" aria-labelledby="title desc">
<title id="title">My SVG Title</title>
<desc id="desc">A detailed description.</desc>
...
</svg>