Help us improve
Share bugs, ideas, or general feedback.
From ocaml-dev
Initializes a new OCaml project with dune build config, opam package, CI workflows for GitHub/GitLab/Tangled, library source, tests, LICENSE, README, gitignore, and .ocamlformat.
npx claudepluginhub avsm/ocaml-claude-marketplace --plugin ocaml-devHow this command is triggered — by the user, by Claude, or both
Slash command
/ocaml-dev:init-ocaml project-nameThis command is limited to the following tools:
The summary Claude sees in its command listing — used to decide when to auto-load this command
# Initialize OCaml Project This command creates a new OCaml project with all standard files and configuration. ## Arguments Project name: $ARGUMENTS (defaults to current directory name if not provided) ## Configuration Read user configuration from `~/.claude/ocaml-config.json`. If it doesn't exist, prompt the user for: - Author name - Author email - Preferred license (ISC, MIT, Apache-2.0) - CI platform (github, tangled, gitlab) - Git hosting (github.com/user, tangled.org/@user, gitlab.com/user) - OCaml version minimum (default: 5.2.0) Offer to save configuration to `~/.claude/ocaml-c...
/setup-projectScaffolds a new open-source project with community health files (README, CONTRIBUTING, LICENSE, CODE_OF_CONDUCT, SECURITY, CITATION.cff), GitHub issue/PR templates, and language-specific .gitignore. Prompts for project details like name, description, license, and primary language.
/project-initInitializes new projects with git repository, Makefile, pre-commit hooks, GitHub CI/CD workflows, and language-specific tooling for Python, Rust, or TypeScript.
/scaffoldScaffolds production-ready projects from templates with Harness CI/CD integration, environment configuration (Docker, Kubernetes, Helm), git init, and post-generation setup.
/setup-claude-codeAnalyzes project structure, language, and scale to generate Claude Code setup files: CLAUDE.md, hooks, permissions, and optional commands/agents via minimal|standard|full or auto-detect.
/initInitializes a new project with Claude Code agent system, best practices, and framework setup.
/init-projectInitializes new project with essential directory structure, git repo, README, framework-specific configs (React/Vue/Angular/Express/FastAPI/etc.), TypeScript/linting/testing/build tools, and GitHub Actions CI/CD.
Share bugs, ideas, or general feedback.
This command creates a new OCaml project with all standard files and configuration.
Project name: $ARGUMENTS (defaults to current directory name if not provided)
Read user configuration from ~/.claude/ocaml-config.json. If it doesn't exist, prompt the user for:
Offer to save configuration to ~/.claude/ocaml-config.json for future use.
(data_only_dirs third_party).github/workflows/build.yml.tangled/workflows/build.yml.gitlab-ci.ymldune build @check to verify setupReplace these in templates:
{{PROJECT_NAME}} - Project name (snake_case){{PROJECT_NAME_KEBAB}} - Project name (kebab-case){{AUTHOR_NAME}} - From config{{AUTHOR_EMAIL}} - From config{{YEAR}} - Current year{{LICENSE}} - License identifier{{OCAML_VERSION}} - Minimum OCaml version{{GIT_URL}} - Full git URL based on hosting config{{SOURCE_STANZA}} - dune source stanza based on hosting:
(source (tangled handle/{{PROJECT_NAME_KEBAB}}))(source (github user/{{PROJECT_NAME_KEBAB}}))(source (gitlab user/{{PROJECT_NAME_KEBAB}}))/init-ocaml my-library
/init-ocaml
Created OCaml project: my-library
Files created:
- dune-project
- dune
- .ocamlformat
- .gitignore
- LICENSE.md
- README.md
- .github/workflows/build.yml
- lib/dune
- lib/my_library.ml
- lib/my_library.mli
- test/dune
- test/test_my_library.ml
Next steps:
1. Run `opam install . --deps-only` to install dependencies
2. Run `dune build` to build the project
3. Run `dune runtest` to run tests