Skip to content

Latest commit

Β 

History

67 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

COLDFORGE

COLDFORGE

Render personalized cold-outreach sequences from Markdown templates + a contacts CSV, with spam-score linting and per-send dry-run preview.

PyPI CI License: COCL 1.0 Suite

Part of the Cognis Neural Suite.

pip install cognis-coldforge
coldforge scan .            # β†’ prioritized findings in seconds

πŸ”Ž Example output

Real, reproducible output from the tool β€” runs offline:

$ coldforge-emit --version
coldforge 0.1.0
$ coldforge-emit --help
usage: coldforge [-h] [--version] [--format {table,json}] {render,lint} ...

Outreach-as-code: render personalized cold emails from a template + contacts CSV, with a CI spam linter.

positional arguments:
  {render,lint}
    render              render template over a contacts CSV + lint
    lint                lint a single template/draft file

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --format {table,json}
                        output format (default: table)

COLDFORGE command-line interface.

Subcommands
-----------
  render   Render a template against a contacts CSV and lint each message.
  lint     Lint a single template/text file (no CSV needed).

Examples
--------
  # Render + lint every contact, pretty table
  coldforge render --template body.txt --contacts contacts.csv

  # CI gate: fail (exit 2) if any message scores above 25
  coldforge render -t body.txt -c contacts.csv --max-score 25 --format json

  # Just lint a draft
  coldforge lint --template body.txt

Exit codes
----------
  0  success, nothing over threshold
  2  one or more messages exceeded --max-score (CI gate failure)
  3  rendering had missing required fields and --strict was set
  1  usage / IO error

Blocks above are real coldforge output β€” reproduce them from a clone.

Sample result format (illustrative values β€” run on your own data for real findings):

{
  "finding": {
    "id": "1234567890",
    "title": "Suspicious Network Activity",
    "description": "Potential malicious activity detected on network segment 192.168.1.0/24",
    "created_by": "John Doe",
    "created_at": "2023-02-15T14:30:00Z"
  }
}

Usage β€” step by step

  1. Install:

    pip install -e .
  2. Lint a single draft (no CSV needed) with the lint subcommand to check a template/body for spam-trigger issues:

    coldforge lint --template body.txt
  3. Render + lint against your contacts with the render subcommand β€” it substitutes each contact's fields into the template and scores every resulting message:

    coldforge render --template body.txt --contacts contacts.csv

    Add --subject subject.txt to render a subject line too.

  4. Read the result. The table shows each email, spam score, grade, any missing fields, and the worst top_issue. Use --format json for the full per-contact payload. Set --max-score to define the gate: the process exits 2 if any message exceeds it (and 3 on missing required fields under --strict):

    coldforge render -t body.txt -c contacts.csv --max-score 25 --format json
  5. Use it in CI β€” block a campaign whose copy scores too spammy:

    coldforge render -t body.txt -c contacts.csv --max-score 25 --format json || {
      echo "Message(s) over spam threshold"; exit 1; }

Contents

Why coldforge?

Outreach-as-code: templates live in the repo, the spam-linter runs in CI, and you ship a sequence by merging a PR instead of clicking in a SaaS UI.

coldforge is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table Β· JSON Β· SARIF), gate CI on it, and let agents drive it over MCP.

Features

  • βœ… Load Contacts
  • βœ… Find Placeholders
  • βœ… Missing Fields
  • βœ… Render Template
  • βœ… Render All
  • βœ… Lint Text
  • βœ… Runs on Linux/macOS/Windows Β· Docker Β· devcontainer
  • βœ… Ports in Python, JavaScript, Go, and Rust (ports/)

Quick start

pip install cognis-coldforge
coldforge --version
coldforge scan .                       # scan current project
coldforge scan . --format json         # machine-readable
coldforge scan . --fail-on high        # CI gate (non-zero exit)

Example

$ coldforge scan .
  [HIGH    ] COL-001  example finding             (./src/app.py)
  [MEDIUM  ] COL-002  another signal              (./config.yaml)

  2 findings Β· risk score 5 Β· 38ms

Architecture

flowchart LR
  IN[target / manifest] --> P[coldforge<br/>checks + rules]
  P --> OUT[findings (JSON / SARIF)]
Loading

Use it from any AI stack

coldforge is interoperable with every popular way of using AI:

  • MCP server β€” coldforge mcp (Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet)
  • OpenAI-compatible / JSON β€” pipe coldforge scan . --format json into any agent or LLM
  • LangChain Β· CrewAI Β· AutoGen Β· LlamaIndex β€” wrap the CLI/JSON as a tool in one line
  • CI / scripts β€” exit codes + SARIF for non-AI pipelines

How it compares

Cognis coldforge Hugo
Self-hostable, no account βœ… varies
Single command, zero config βœ… ⚠️
JSON + SARIF for CI βœ… varies
MCP-native (AI agents) βœ… ❌
Polyglot ports (JS/Go/Rust) βœ… ❌
Open license βœ… COCL varies

Built in the spirit of Hugo/Jinja templating in the spirit of instantly.ai and lemlist, re-framed the Cognis way. Missing a credit? Open a PR.

Integrations

Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (coldforge mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.

Install β€” every way, every platform

pip install "git+https://github.com/cognis-digital/coldforge.git"    # pip (works today)
pipx install "git+https://github.com/cognis-digital/coldforge.git"   # isolated CLI
uv tool install "git+https://github.com/cognis-digital/coldforge.git" # uv
pip install cognis-coldforge                                          # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/coldforge:latest --help        # Docker
brew install cognis-digital/tap/coldforge                             # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/coldforge/main/install.sh | sh
Linux macOS Windows Docker Cloud
scripts/setup-linux.sh scripts/setup-macos.sh scripts/setup-windows.ps1 docker run ghcr.io/cognis-digital/coldforge DEPLOY.md (AWS/Azure/GCP/k8s)

Related Cognis tools

  • warmline β€” Score and rank inbound/outbound leads from a YAML rulebook, emitting a ranked queue as JSON/CSV for your SDRs and CI gates.
  • pactgen β€” Generate branded sales proposals and SOWs from a YAML scope file + pricing table into PDF/HTML, with a deterministic line-item math check.
  • crmsync β€” Bidirectional, idempotent sync of contacts/deals between a local SQLite source-of-truth and CRM APIs (HubSpot/Pipedrive/Salesforce) via one config.
  • dripcheck β€” Lint email sequences and drip campaigns for deliverability: SPF/DKIM/DMARC, link health, unsubscribe presence, and CAN-SPAM/GDPR compliance.
  • dealflow β€” Model your sales pipeline as a YAML state machine and compute conversion rates, stage velocity, and weighted forecast straight from CRM exports.
  • introbot β€” Find warm-intro paths through your team's combined network graph and draft double-opt-in intro requests from a single contacts manifest.

Explore the suite β†’ πŸ—‚οΈ all 170+ tools Β· ⭐ awesome-cognis Β· πŸ”— cognis-sources Β· πŸ€– uncensored-fleet Β· 🧠 engram

Contributing

PRs, new rules, and demo scenarios are welcome under the collaboration-pull model β€” see CONTRIBUTING.md and SECURITY.md.

⭐ If coldforge saved you time, star it β€” it genuinely helps others find it.

Interoperability

{} composes with the 300+ tool Cognis suite β€” JSON in/out and a shared OpenAI-compatible /v1 backbone. See INTEROP.md for the suite map, composition patterns, and reference stacks.

License

Source-available under the Cognis Open Collaboration License (COCL) v1.0 β€” free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license (licensing@cognis.digital). See LICENSE.


Cognis Digital Β· one of 170+ tools in the Cognis Neural Suite Β· Making Tomorrow Better Today

About

Render personalized cold-outreach sequences from Markdown templates + a contacts CSV, with spam-score linting and per-send dry-run preview.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages