Skip to main content

agentscribe

One source of truth for your AI agent instructions.

Write your project's guidance once in AGENTS.md, and let agentscribe generate and keep in sync every tool-specific variant — CLAUDE.md, Cursor rules, GitHub Copilot instructions, Gemini, Windsurf, Cline — then lint the source and fail CI when the copies drift.

CI PyPI Python versions License: MIT


The problem

Every AI coding tool reads its instructions from a different file:

Tool File it reads
OpenAI Codex AGENTS.md
Claude Code CLAUDE.md
Cursor .cursor/rules/*.mdc (or .cursorrules)
GitHub Copilot .github/copilot-instructions.md
Gemini CLI GEMINI.md
Windsurf .windsurf/rules/ (or .windsurfrules)
Cline .clinerules/

If your team uses more than one of these — and most do now — you end up copy-pasting the same rules into five files and watching them rot out of sync.

The fix

Keep one file (AGENTS.md, the emerging open standard that Codex reads) and generate the rest:

pip install agentscribe

agentscribe init      # scaffold an AGENTS.md from your project
agentscribe sync      # generate CLAUDE.md, Cursor rules, Copilot instructions, ...
agentscribe check     # in CI: fail if any generated file is out of date
agentscribe lint      # catch leaked secrets, dead file refs, bloated instructions

Generated files carry a "do not edit" header and are byte-stable, so check gives you a clean pass/fail in CI.

Quickstart

$ agentscribe init
Created AGENTS.md  (detected: Python)

$ agentscribe sync
  + CLAUDE.md  (Claude Code)
  + .cursor/rules/agentscribe.mdc  (Cursor)
  + .github/copilot-instructions.md  (GitHub Copilot)
Updated 3 file(s) from AGENTS.md.

$ agentscribe check
All target files are in sync with AGENTS.md.

Now edit AGENTS.md whenever your conventions change and re-run agentscribe sync.

Commands

Command What it does
agentscribe init Detect the project (language, package manager, test command) and write a starter AGENTS.md.
agentscribe sync Generate/update every configured target file. --dry-run to preview, -t claude,cursor to limit targets.
agentscribe check Exit non-zero if any target is missing or out of date. Made for CI.
agentscribe lint Validate the source: leaked secrets (error), unbalanced directives (error), broken relative-path references, oversized files, missing sections. --strict fails on warnings.
agentscribe list Show every target, whether it's enabled, its path, and sync status.

Run agentscribe <command> --help for all flags.

Configuration

Configuration is optional. Put it in agentscribe.toml:

source = "AGENTS.md"
targets = ["claude", "cursor", "copilot", "gemini"]

[lint]
max_chars = 12000

[cursor]
legacy = false                 # true -> write .cursorrules instead of .mdc
description = "Project rules"
always_apply = true

…or under [tool.agentscribe] in pyproject.toml. Available target keys: claude, cursor, copilot, gemini, windsurf, cline.

Scoping content to specific tools

Most guidance is shared, but sometimes one tool needs its own note. Use HTML-comment directives — invisible when the file renders as Markdown:

Shared guidance for every agent.

<!-- agentscribe:only cursor,copilot -->
This paragraph is emitted only into the Cursor and Copilot files.
<!-- agentscribe:end -->

<!-- agentscribe:except claude -->
Goes everywhere except CLAUDE.md.
<!-- agentscribe:end -->

<!-- agentscribe:ignore -->
Private notes that stay in AGENTS.md and are never copied anywhere.
<!-- agentscribe:end -->

Directives may be nested.

Use in CI

Add a check so generated files can never silently drift. GitHub Actions:

- run: pip install agentscribe
- run: agentscribe check   # fails the build if CLAUDE.md et al. are stale
- run: agentscribe lint    # fails on leaked secrets or malformed instructions

Library API

Everything the CLI does is available programmatically:

from agentscribe import Config, sync, check, lint

cfg = Config.load(".")
sync(cfg)  # write all target files
drift = check(cfg)  # list of out-of-date targets
findings = lint(cfg)  # list of Finding(level, rule, message, line)
  • Symlinks don't work: each tool wants a different format and location (Cursor needs YAML front-matter; Copilot lives under .github/), and symlinks are fragile on Windows and in Git.
  • Copy-pasting is exactly the drift problem this tool removes.
  • agentscribe transforms one source into each tool's real format, and check turns "did someone forget to update a file?" into a CI failure.

Design goals

  • Near-zero dependencies. Pure standard library on Python 3.11+ (a single tomli backport on 3.9–3.10).
  • Deterministic output. LF endings, stable ordering — diffs stay clean.
  • Conservative linting. Actionable findings over noisy ones.

Contributing

Contributions are welcome — see CONTRIBUTING.md. This project dogfoods itself: its own CLAUDE.md, Cursor, and Copilot files are generated from AGENTS.md by agentscribe sync, and CI runs agentscribe check.

License

MIT

Metadata

Release files for agentscribe 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentscribe 0.1.0
File Size Uploaded Provenance
agentscribe-0.1.0.tar.gz 20.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agentscribe 0.1.0
File Interpreter ABI Platform
agentscribe-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 42.0 kB

Release files / agentscribe-0.1.0.tar.gz

Download URL agentscribe-0.1.0.tar.gz
Size 20.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f45da01cf3144562263944573832c54778c9e79c379a2b2ec35d5d6e75b34b40
BLAKE2b-256 checksum
How to use checksums
a939f2aecfd452aaba45394d58ab3c3438b85c82050bea4ac6ccee3cb76cdc02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / agentscribe-0.1.0-py3-none-any.whl

Download URL agentscribe-0.1.0-py3-none-any.whl
Size 21.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
be9457c753bb6fcf498bbb96692f651c83aa167fdf4fcf0498c5b7617b087123
BLAKE2b-256 checksum
How to use checksums
475893a42804436817a3d0a1b0f65e0c26f39d1d1baa4917d6f7da85f058400d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Security for agentscribe 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agentscribe-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page