Smart Integrated Literary Kit - Modern CLI for authors with LLM integration
Project description
SILK CLI - Smart Integrated Literary Kit
Modern CLI workflow for authors with LLM integration.
What is SILK?
SILK weaves together all aspects of modern novel writing:
- Smart templates adapted by genre and market
- Integrated workflow from concept to publication
- Literary focus on sophisticated fiction
- Kit complete toolbox for authors
Just like a spider weaves its web, SILK helps you weave together characters, plot, and narrative into compelling fiction.
Installation
pip install silk-cli
Requirements:
- Python 3.11+
- Pandoc (for publishing)
- XeLaTeX (for PDF generation)
Quick Start
# Create new project
silk init "My Novel" --genre polar-psychologique
# Track progress
silk wordcount 80000
# Generate LLM context
silk context -p coherence --chapters 1-10
# Publish professional PDF
silk publish -f digital
Commands
silk init
Create a new SILK project with genre-specific templates.
silk init "My Novel" # Interactive mode
silk init "My Novel" --genre polar --yes # Non-interactive
silk wordcount
Track writing progress with intelligent statistics.
silk wordcount # Default target from config
silk wordcount 100000 # Custom target
silk wordcount --summary # Quick overview
silk wordcount --json # Export data
Features:
- Automatic chapter grouping (Ch23 + Ch23-1 = Ch23)
- Editorial threshold positioning (40k-120k words)
- Regularity analysis with recommendations
- Priority chapters identification
silk context
Generate unified context for LLM assistance.
silk context "Analyze character development" --chapters 1-5
silk context -p coherence --chapters 10-15 # Predefined prompt
silk context -p revision --mode full # Full context mode
Modes:
- nocontext: Prompt + manuscript only
- normal: + main characters + concepts
- full: + all characters + locations + timeline + worldbuilding
silk publish
Generate professional publications in multiple formats.
silk publish -f digital # PDF for digital reading
silk publish -f print # PDF for print
silk publish -f epub # EPUB format
silk publish -f html # HTML format
silk publish --dry-run # Preview without generating
silk config
Manage project configuration.
silk config --list # Show all settings
silk config get title # Get specific value
silk config set author_name "Me" # Set value
silk cache
Manage the chapter cache system.
silk cache # Show cache stats
silk cache --stats # Detailed statistics
silk cache --cleanup # Clean invalid entries
Project Structure
SILK projects follow this structure:
my-novel/
├── .silk/
│ └── config # Project configuration
├── 01-Manuscrit/
│ ├── Ch01.md # Chapter files
│ ├── Ch01-1.md # Multi-part chapters
│ └── ...
├── 02-Personnages/ # Character files
├── 03-Lieux/ # Location files
├── 04-Concepts/ # Concept files
├── 05-Timeline/ # Timeline
└── outputs/ # Generated files
SILK Manuscript Format
Chapters use a special separator to distinguish metadata from content:
# Ch.15 : Title
## SILK Objectives
- Metadata for planning...
## manuscrit
[Pure content - this is what gets published and analyzed]
Supported Genres
- polar-psychologique: French psychological thriller
- fantasy: Fantasy with worldbuilding support
- romance: Romance with relationship arcs
- literary: Literary fiction
- thriller: Action thriller
Development
Setup
git clone https://github.com/oinant/silk-cli
cd silk-cli
poetry install
Testing
poetry run pytest # Run tests
poetry run pytest --cov=silk_cli # With coverage
poetry run pytest silk_cli/tests/unit/ # Unit tests only
poetry run pytest silk_cli/tests/e2e/ # E2E tests only
Type Checking
poetry run mypy silk_cli/
Linting
poetry run ruff check silk_cli/
License
MIT
Author
Antoine Sauvinet
SILK weaves your story together.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file silk_cli-2.0.0.tar.gz.
File metadata
- Download URL: silk_cli-2.0.0.tar.gz
- Upload date:
- Size: 49.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e43b76fe134cef1f8f33af8251de7a3080b6053f294b068cc6f05a9f2a39595c
|
|
| MD5 |
8fb8e00ad631746dffc6c342e8e3e43a
|
|
| BLAKE2b-256 |
9f5ebd07e9a8f204e7b40673b5cbd17b747d03a02ac6ef63c08a2e99582963f6
|
Provenance
The following attestation bundles were made for silk_cli-2.0.0.tar.gz:
Publisher:
publish.yml on oinant/silk-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
silk_cli-2.0.0.tar.gz -
Subject digest:
e43b76fe134cef1f8f33af8251de7a3080b6053f294b068cc6f05a9f2a39595c - Sigstore transparency entry: 782446219
- Sigstore integration time:
-
Permalink:
oinant/silk-cli@eb9cc5f89463f4fe93273ea123718ce021010f57 -
Branch / Tag:
refs/tags/2.0.0 - Owner: https://github.com/oinant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb9cc5f89463f4fe93273ea123718ce021010f57 -
Trigger Event:
release
-
Statement type:
File details
Details for the file silk_cli-2.0.0-py3-none-any.whl.
File metadata
- Download URL: silk_cli-2.0.0-py3-none-any.whl
- Upload date:
- Size: 66.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74aa52848e82fe2f8c7444ab422563e27ddc64a084541bda4aeedf10e548d20d
|
|
| MD5 |
93e41819341a00181c01007abc3c867f
|
|
| BLAKE2b-256 |
443cac6633f3314106ab84ad640b867751f7737a4bf5bd69ac57d23b42d66b34
|
Provenance
The following attestation bundles were made for silk_cli-2.0.0-py3-none-any.whl:
Publisher:
publish.yml on oinant/silk-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
silk_cli-2.0.0-py3-none-any.whl -
Subject digest:
74aa52848e82fe2f8c7444ab422563e27ddc64a084541bda4aeedf10e548d20d - Sigstore transparency entry: 782446220
- Sigstore integration time:
-
Permalink:
oinant/silk-cli@eb9cc5f89463f4fe93273ea123718ce021010f57 -
Branch / Tag:
refs/tags/2.0.0 - Owner: https://github.com/oinant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eb9cc5f89463f4fe93273ea123718ce021010f57 -
Trigger Event:
release
-
Statement type: