> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clawup.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing

> How to contribute to Clawup

Clawup is open source. Contributions are welcome!

## Getting Started

```bash theme={null}
# Clone the repo
git clone https://github.com/stepandel/clawup.git
cd clawup

# Install dependencies
pnpm install

# Build the CLI
pnpm --filter clawup build
```

## Project Structure

* `packages/core/` — Shared types, constants, registries, and utilities (`@clawup/core`)
* `packages/cli/` — CLI package (commands, config, adapters)
* `packages/pulumi/` — Pulumi infrastructure components (`@clawup/pulumi`)
* `packages/web/` — Next.js dashboard
* `examples/` — Example identities for reference
* `docs/` — Mintlify documentation

## Development Workflow

1. Create a feature branch from `main`
2. Make your changes
3. Run `pnpm build` to verify
4. Submit a PR with a clear description

## Conventions

* **Commits:** Use [conventional commits](https://www.conventionalcommits.org/) (`feat:`, `fix:`, `docs:`, etc.)
* **PRs:** One PR per feature/fix, link to relevant issues
* **TypeScript:** Strict mode, no `any` without comment

## Adding a New Cloud Provider

1. Create a new component in `packages/pulumi/src/components/`
2. Add provider constants to `packages/core/src/constants.ts`
3. Update the CLI adapter and web dashboard
4. Document in `docs/architecture/cloud-providers.mdx`

## Adding a Registry Entry

* **Coding agent:** Add to `packages/core/src/coding-agent-registry.ts` with install script and model config
* **Dep:** Add to `packages/core/src/dep-registry.ts` with install script
* **Plugin:** Add to `packages/core/src/plugin-registry.ts` with metadata
