Contributing
Getting started
bash
git clone https://github.com/ikary-platform/ikary-manifest.git
cd ikary-manifest
pnpm install
pnpm build
pnpm testDevelopment workflow
- Create a branch from
main - Make changes
- Run
pnpm test,pnpm typecheck, andpnpm docs:buildwhen docs are affected - Open a pull request
Repository layout
text
ikary-manifest/
manifests/ # YAML source of truth (schemas and examples)
libs/ # Core TypeScript libraries
apps/ # Executables and services (CLI, runtime APIs, docs, playgrounds)
decisions/ # Architecture decision recordsDocumentation layout
text
apps/docs/
index.md
guide/
cli/
api/
reference/
packages/
sdks/Package conventions
- Use
pnpmworkspaces for dependency management - Use
turbofor build orchestration - Use
tsupfor bundling when a package ships bundles - Use
vitestfor tests - Use Zod for runtime validation
Code conventions
- Keep manifests as YAML for authored content
- Entity keys, field keys, and relation keys must be
snake_case - Derive TypeScript types from Zod schemas with
z.infer - Keep contract packages pure: no filesystem access and no framework runtime dependencies
- Add tests for new validation rules and loader behavior
Docs commands
bash
pnpm docs:dev
pnpm docs:build