Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions docs/assets/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 6 additions & 11 deletions docs/docs.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
{
"$schema": "https://mintlify.com/docs.json",
"theme": "aspen",
"theme": "palm",
"name": "CortexPHP",
"colors": {
"primary": "#1C85FE",
"light": "#1C85FE",
"dark": "#1C85FE"
},
"favicon": "/favicon.svg",
"favicon": "/assets/favicon.svg",
"icons": {
"library": "lucide"
},
"navigation": {
"dropdowns": [
"products": [
{
"dropdown": "JSON Schema",
"product": "JSON Schema",
"icon": "braces",
"groups": [
{
Expand Down Expand Up @@ -68,18 +68,13 @@
"light": "/assets/logo-light.svg",
"dark": "/assets/logo-dark.svg"
},
"navbar": {
"primary": {
"type": "github",
"href": "https://github.com/cortexphp/json-schema"
}
},
"contextual": {
"options": ["copy", "view", "chatgpt", "claude"]
},
"footer": {
"socials": {
"github": "https://github.com/cortexphp"
"github": "https://github.com/cortexphp",
"x": "https://twitter.com/cortexphp"
}
}
}
6 changes: 3 additions & 3 deletions docs/json-schema/advanced/conditional-validation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -618,13 +618,13 @@ $complexSchema = Schema::object('complex_validation')
<Card title="User Account Types" icon="users">
Different validation rules for personal vs business accounts, or basic vs premium users.
</Card>
<Card title="Payment Methods" icon="credit-card">
<Card title="Payment Methods" icon="wallet">
Validate different payment types with their specific required fields and formats.
</Card>
<Card title="Dynamic Forms" icon="form">
<Card title="Dynamic Forms" icon="file-text">
Forms where required fields change based on user selections or enabled features.
</Card>
<Card title="API Versioning" icon="code-branch">
<Card title="API Versioning" icon="git-branch">
Different validation rules for different API versions or client types.
</Card>
</CardGroup>
10 changes: 5 additions & 5 deletions docs/json-schema/advanced/definitions-refs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -443,10 +443,10 @@ $ecommerceApiSchema = Schema::object('ecommerce_api')
<Card title="Maintainability" icon="wrench">
Update shared schemas in one place and have changes propagate throughout your API.
</Card>
<Card title="Consistency" icon="check-double">
<Card title="Consistency" icon="shield-check">
Ensure consistent validation rules across different parts of your application.
</Card>
<Card title="Modularity" icon="cubes">
<Card title="Modularity" icon="boxes">
Break complex schemas into manageable, reusable components.
</Card>
</CardGroup>
Expand Down Expand Up @@ -526,13 +526,13 @@ $schema->addDefinition(
## Common Use Cases

<CardGroup cols={2}>
<Card title="API Schema Design" icon="api">
<Card title="API Schema Design" icon="server">
Create reusable components for API request/response schemas across multiple endpoints.
</Card>
<Card title="Domain Models" icon="cube">
<Card title="Domain Models" icon="box">
Define common business objects like User, Product, Order that are used throughout your application.
</Card>
<Card title="Configuration Schemas" icon="gear">
<Card title="Configuration Schemas" icon="cog">
Share configuration patterns across different parts of your application configuration.
</Card>
<Card title="Form Validation" icon="file-text">
Expand Down
4 changes: 2 additions & 2 deletions docs/json-schema/advanced/dependent-schemas.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -553,10 +553,10 @@ $schema->dependentSchemas([
<Card title="Dynamic Forms" icon="file-text">
Forms where available fields and validation rules change based on user selections.
</Card>
<Card title="API Configuration" icon="gear">
<Card title="API Configuration" icon="cog">
Configuration objects where certain settings require additional parameters.
</Card>
<Card title="Payment Processing" icon="credit-card">
<Card title="Payment Processing" icon="wallet">
Different validation rules for different payment methods and options.
</Card>
<Card title="User Profiles" icon="user">
Expand Down
4 changes: 2 additions & 2 deletions docs/json-schema/advanced/pattern-properties.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -476,13 +476,13 @@ $schema->patternProperties([
## Common Use Cases

<CardGroup cols={2}>
<Card title="Dynamic Configuration" icon="gear">
<Card title="Dynamic Configuration" icon="cog">
Configure applications with dynamic settings that follow naming conventions.
</Card>
<Card title="Multi-language Content" icon="globe">
Validate internationalization data with language-specific property patterns.
</Card>
<Card title="API Versioning" icon="code-branch">
<Card title="API Versioning" icon="git-branch">
Handle different API versions with version-specific property validation.
</Card>
<Card title="Custom Fields" icon="puzzle-piece">
Expand Down
4 changes: 2 additions & 2 deletions docs/json-schema/advanced/string-formats.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -204,10 +204,10 @@ $userProfileSchema->isValid($validProfile); // true
<Card title="API Parameters" icon="code">
Validate API endpoints, UUIDs, timestamps, and other structured data in API requests.
</Card>
<Card title="Configuration Files" icon="gear">
<Card title="Configuration Files" icon="cog">
Validate URLs, hostnames, IP addresses, and other configuration values.
</Card>
<Card title="Data Import" icon="file-import">
<Card title="Data Import" icon="file-input">
Validate formatted data during import processes with appropriate type checking.
</Card>
</CardGroup>
4 changes: 2 additions & 2 deletions docs/json-schema/advanced/unevaluated-properties.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -413,13 +413,13 @@ $schema = Schema::object('strict_user', SchemaVersion::Draft_2019_09)
<Card title="Strict API Contracts" icon="shield-check">
Ensure API requests/responses contain only expected properties, even with conditional fields.
</Card>
<Card title="Configuration Validation" icon="gear">
<Card title="Configuration Validation" icon="cog">
Validate configuration files with complex conditional requirements and strict property control.
</Card>
<Card title="Form Validation" icon="file-text">
Handle dynamic forms where available fields depend on user selections or conditions.
</Card>
<Card title="Data Migration" icon="exchange-alt">
<Card title="Data Migration" icon="move">
Validate data during migration with strict control over allowed properties and transformations.
</Card>
</CardGroup>
6 changes: 3 additions & 3 deletions docs/json-schema/code-generation/from-classes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -499,16 +499,16 @@ Validation rules like minLength, pattern, format are not extracted from docblock
## Common Use Cases

<CardGroup cols={2}>
<Card title="API Documentation" icon="api">
<Card title="API Documentation" icon="server">
Generate OpenAPI schemas from your data transfer objects and API models.
</Card>
<Card title="Form Validation" icon="file-text">
Create client-side validation schemas from your backend models.
</Card>
<Card title="Data Migration" icon="exchange-alt">
<Card title="Data Migration" icon="move">
Validate data integrity during migrations using existing model definitions.
</Card>
<Card title="Configuration Validation" icon="gear">
<Card title="Configuration Validation" icon="cog">
Generate schemas for application configuration classes.
</Card>
</CardGroup>
4 changes: 2 additions & 2 deletions docs/json-schema/code-generation/from-closures.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -466,10 +466,10 @@ function handleUserStuff($data, $action, $options = []) {}
<Card title="Form Processing" icon="file-text">
Create client-side validation from server-side form processing functions.
</Card>
<Card title="Data Pipeline" icon="stream">
<Card title="Data Pipeline" icon="workflow">
Validate data transformations and processing steps in data pipelines.
</Card>
<Card title="Configuration" icon="gear">
<Card title="Configuration" icon="cog">
Generate validation for configuration and setup functions.
</Card>
</CardGroup>
4 changes: 2 additions & 2 deletions docs/json-schema/code-generation/from-enums.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -625,10 +625,10 @@ try {
<Card title="API Validation" icon="server">
Validate API request parameters and response codes using enumerated values.
</Card>
<Card title="Configuration" icon="gear">
<Card title="Configuration" icon="cog">
Ensure application configuration uses only valid environment and option values.
</Card>
<Card title="State Management" icon="state-machine">
<Card title="State Management" icon="workflow">
Validate state transitions and status changes in business workflows.
</Card>
<Card title="Form Validation" icon="file-text">
Expand Down
6 changes: 3 additions & 3 deletions docs/json-schema/code-generation/from-json.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -240,13 +240,13 @@ $apiSchema->isValid($singleUserResponse); // true
## Common Use Cases

<CardGroup cols={2}>
<Card title="API Documentation" icon="api">
<Card title="API Documentation" icon="server">
Import OpenAPI schemas for request/response validation in API applications.
</Card>
<Card title="Configuration Management" icon="gear">
<Card title="Configuration Management" icon="cog">
Validate application configuration files using predefined JSON schemas.
</Card>
<Card title="Data Migration" icon="exchange-alt">
<Card title="Data Migration" icon="move">
Import legacy schemas and validate data during migration processes.
</Card>
<Card title="Third-party Integration" icon="plug">
Expand Down
4 changes: 0 additions & 4 deletions docs/json-schema/installation.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,3 @@ If you're contributing to the package or want to run tests:
```
</Step>
</Steps>

## Next Steps

Now that you have the package installed, you're ready to create your first JSON Schema:
25 changes: 9 additions & 16 deletions docs/json-schema/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,63 +13,56 @@ icon: 'book-open'
<CardGroup cols={2}>
<Card
title="Fluent Builder API"
icon="hammer"
href="/json-schema/quickstart"
horizontal
icon="wand"
>
Build JSON Schemas using an intuitive fluent interface that feels natural and reduces boilerplate code.
</Card>
<Card
title="Multi-Version Support"
icon="code-branch"
href="/json-schema/versions"
horizontal
icon="layers"
>
Support for JSON Schema Draft-07, Draft 2019-09, and Draft 2020-12 with automatic feature validation.
</Card>
<Card
title="Data Validation"
icon="circle-check"
horizontal
icon="shield-check"
>
Validate data against schemas with detailed error messages and boolean validation methods.
</Card>
<Card
title="Type Safety"
icon="shield-check"
href="/json-schema/installation"
horizontal
icon="shield"
>
Built with PHP 8.3+ features and strict typing for reliable, maintainable code.
</Card>
<Card
title="Conditional Schemas"
icon="sitemap"
href="/json-schema/advanced/conditional-validation"
horizontal
icon="git-branch"
>
Support for if/then/else, allOf, anyOf, oneOf, and not conditions for complex validation logic.
</Card>
<Card
title="Code Generation"
icon="arrows-rotate"
href="/json-schema/code-generation/from-classes"
horizontal
icon="sparkles"
>
Generate schemas automatically from PHP Classes, Enums, and Closures using reflection.
</Card>
<Card
title="Rich Validation"
icon="list-check"
href="/json-schema/schema-types/string"
horizontal
icon="check-check"
>
Comprehensive validation rules including formats, patterns, ranges, and custom constraints.
</Card>
<Card
title="Version-Aware Features"
icon="magnifying-glass"
horizontal
href="/json-schema/versions"
icon="eye"
>
Automatic validation of version-specific features with helpful error messages.
</Card>
Expand Down
12 changes: 12 additions & 0 deletions docs/json-schema/mcp-server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -277,3 +277,15 @@ The MCP server provides access to comprehensive documentation, code examples, an
</Accordion>
</AccordionGroup>

## Additional Resources

<CardGroup cols={2}>
<Card
title="MCP Protocol"
icon="link"
href="https://modelcontextprotocol.io"
>
Learn more about the Model Context Protocol
</Card>
</CardGroup>

27 changes: 1 addition & 26 deletions docs/json-schema/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,7 @@ Schema::setDefaultVersion(SchemaVersion::Draft_07); // For maximum compatibility
<Info>
When `type` is "business", the `company_name` field becomes required. Personal accounts don't need a company name.
</Info>
<a href="/json-schema/advanced/conditional-validation">Learn more about conditional validation</a>
</Accordion>

<Accordion title="Union Types - Multiple allowed types">
Expand Down Expand Up @@ -329,29 +330,3 @@ Schema::setDefaultVersion(SchemaVersion::Draft_07); // For maximum compatibility
</Warning>
</Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
<Card
title="Schema Types"
icon="shapes"
href="/schema-types/string"
>
Learn about all available schema types and their validation options
</Card>
<Card
title="Advanced Features"
icon="star"
href="/advanced/conditional-validation"
>
Explore conditional validation, definitions, and complex patterns
</Card>
<Card
title="Code Generation"
icon="code"
href="/code-generation/from-classes"
>
Generate schemas automatically from PHP classes and functions
</Card>
</CardGroup>
2 changes: 1 addition & 1 deletion docs/json-schema/schema-types/array.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -531,7 +531,7 @@ try {
<Card title="Coordinates & Tuples" icon="map-pin">
Validate fixed-length arrays like coordinates, RGB values, or structured tuples.
</Card>
<Card title="Nested Hierarchies" icon="sitemap">
<Card title="Nested Hierarchies" icon="folder-tree">
Validate complex nested structures like menu trees or organizational hierarchies.
</Card>
</CardGroup>
4 changes: 2 additions & 2 deletions docs/json-schema/schema-types/boolean.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -387,10 +387,10 @@ $booleanSchema->isValid(false); // true
## Common Use Cases

<CardGroup cols={2}>
<Card title="Feature Toggles" icon="toggle-on">
<Card title="Feature Toggles" icon="toggle-right">
Control application features and functionality with boolean flags and feature switches.
</Card>
<Card title="User Preferences" icon="user-gear">
<Card title="User Preferences" icon="user-cog">
Store user settings, notifications preferences, and privacy choices.
</Card>
<Card title="Permissions & Access" icon="lock">
Expand Down
Loading