Native is a framework for building native applications using Python.
This repository contains the framework source code, UI components, documentation, examples, and supporting tooling.
When working with Native, prefer the repository documentation and existing patterns over assumptions or general framework knowledge.
The primary documentation lives in:
docs/
The public documentation site is:
Repository documentation paths map to public URLs.
Example:
docs/getting_started/introduction.md
maps to:
https://native.buridan.dev/docs/getting-started/introduction
Rules:
- Underscores in paths become hyphens in URLs.
- Markdown extensions are removed.
- The
/docs/prefix is preserved.
Component documentation lives in:
docs/components/
Component URLs follow:
https://native.buridan.dev/components/<component-name>
Example:
docs/components/button.md
maps to:
https://native.buridan.dev/components/button
When modifying Native:
- Prefer existing components and patterns before creating new ones.
- Follow existing naming conventions.
- Keep APIs consistent with existing components.
- Update documentation when adding user-facing features.
- Match existing architecture and design decisions.
- Avoid introducing unnecessary abstractions.
- Look for similar existing implementations before creating new ones.
When information conflicts, use this priority:
- Repository documentation
- Source code implementation
- Existing project patterns
- General framework knowledge
The Native documentation and source code are the source of truth.
Specialized agent skills are located at:
.agents/skills/
Use the most specific skill available for the task.
Available skills:
Covers:
- Installing Native
- Creating a project
- CLI usage
- Development workflow
- Basic configuration
Location:
.agents/skills/getting-started/SKILL.md
Covers:
- Native UI components
- Component APIs
- Creating new components
- Component usage patterns
Location:
.agents/skills/components/SKILL.md
Covers:
- Styling
- Themes
- Colors
- Visual customization
Location:
.agents/skills/theming/SKILL.md
Before implementing a feature:
- Check whether an existing component or pattern already exists.
- Read the relevant documentation.
- Follow existing APIs and conventions.
- Update documentation if the feature is user-facing.
- Keep changes focused and consistent with the project.
For new components:
- Follow existing component structure.
- Add documentation.
- Add examples when appropriate.
- Ensure the component fits existing design patterns.
For framework changes:
- Understand the existing architecture first.
- Avoid breaking public APIs unless necessary.
- Document important decisions.
When answering questions about Native:
- Prefer Native-specific examples.
- Use the documented API style.
- Avoid suggesting unsupported patterns.
- Point users toward the relevant documentation.
- Load specialized skills when available.