projectsetup

Structure new F*/Pulse verification projects with Makefile and directory layout.

8|4|Updated Mar 25, 2026
One-click install
npx skills add https://github.com/FStarLang/proof-copilot --skill projectsetup-fstarlang
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: projectsetup
Source: https://github.com/FStarLang/proof-copilot/tree/main/plugins/proof-copilot/skills/projectsetup
Command: npx skills add https://github.com/FStarLang/proof-copilot --skill projectsetup-fstarlang

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you set up a new F*/Pulse verification project with a practical directory layout, build workflow, and extraction-ready structure so you can start proving code correctness without reinventing the project scaffold.

Core Features & Use Cases

  • Project scaffolding: Organize specs, implementations, tests, snapshots, and generated artifacts in a verification-friendly layout.
  • Build and extraction setup: Create a Makefile flow for checking modules, generating KaRaMeL output, extracting C, and running extracted-code tests.
  • Verification-ready conventions: Separate pure specifications from machine-width implementations and define when to use .fsti interfaces for extracted APIs.
  • Use case: You are starting a new F*/Pulse codebase and need a repeatable structure that supports verification, C extraction, and optional OCaml spec tests from day one.

Quick Start

Ask for a project scaffold for a new F*/Pulse verification repository with spec and implementation directories, a Makefile, and extraction-ready conventions.

Frequently Asked Questions about projectsetup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up an F* and Pulse verification project with a Makefile and extraction workflow?

To set up an F* and Pulse verification project, you need a scaffold that structures directories for specifications, implementations, and tests, alongside a Makefile for checking modules and C extraction. This provides a separation of code and generated artifacts.

What directory layout is needed for a new F* and Pulse codebase?

An F* and Pulse codebase directory layout separates pure specifications, machine-width implementations, tests, and generated artifacts. This verification-friendly structure ensures clean module checking and organizes extraction outputs effectively.

Do I need KaRaMeL to extract C code from an F* verification project?

Yes, KaRaMeL is required for C extraction in an F* verification project. The project scaffold uses KaRaMeL-aware conventions to generate output and defines when to use .fsti interfaces for extracted APIs.

Can I run OCaml spec tests in a newly scaffolded F* and Pulse project?

Yes, you can run OCaml spec tests in a new F* and Pulse project. The scaffold includes an optional workflow for OCaml spec testing, allowing you to validate pure specifications alongside C extraction.

What is the best way to structure an F* project for both verification and C extraction?

The best way to structure an F* project for verification and C extraction is using a scaffold that separates pure specifications from machine-width implementations. It includes a Makefile flow for module checking and KaRaMeL output generation.

When should I use .fsti interfaces in an F* and Pulse verification codebase?

You should use .fsti interfaces in an F* and Pulse codebase when defining extracted APIs. The scaffold establishes KaRaMeL-aware conventions to separate pure specifications from implementations that require interface files.