Manage LLM development workflow documentation across projects
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
project-guides
Manage LLM development workflow documentation across projects. project-guides provides centralized, versioned guide templates with project-specific override capabilities.
Why project-guides?
When working with LLMs on software projects, consistent workflow documentation is critical. project-guides solves the problem of keeping development guides synchronized across multiple projects while allowing project-specific customizations.
Key Features:
- 📚 Centralized Templates - Maintain workflow guides in one place
- 🔄 Version Management - Track and update guides across projects
- ✏️ Override Support - Customize guides per project without losing sync
- 🔒 Backup Protection - Automatic backups when updating overridden guides
- 🎨 CLI Interface - Simple commands for all operations
- 🧪 Well Tested - 82% test coverage with 48 comprehensive tests
Installation
Via pip
pip install project-guides
Via pipx (recommended for CLI tools)
pipx install project-guides
Quick Start
1. Initialize guides in your project
cd /path/to/your/project
project-guides init
This creates:
.project-guides.yml- Configuration filedocs/guides/- Directory with guide templates
2. Check guide status
project-guides status
Output:
project-guides v0.15.0 (installed: v0.15.0)
Guides status:
✓ project-guide.md v0.15.0 (current)
✓ best-practices-guide.md v0.15.0 (current)
✓ debug-guide.md v0.15.0 (current)
All guides are up to date.
3. Customize a guide (optional)
project-guides override debug-guide.md "Custom debugging workflow for this project"
4. Update guides to latest version
project-guides update
Overridden guides are skipped by default. Use --force to update them (creates backups).
Command Reference
init
Initialize project-guides in the current directory.
project-guides init [OPTIONS]
Options:
--target-dir PATH- Directory for guides (default:docs/guides)--force- Overwrite existing configuration
Examples:
# Initialize with default settings
project-guides init
# Use custom directory
project-guides init --target-dir documentation/workflows
# Force reinitialize
project-guides init --force
status
Show status of all installed guides.
project-guides status
Output includes:
- Current package version
- Installed version in project
- Status of each guide (current, outdated, overridden, missing)
- Override reasons
update
Update guides to the latest version.
project-guides update [OPTIONS]
Options:
--guides NAME- Update specific guides only (repeatable)--force- Update even overridden guides (creates backups)--dry-run- Show what would change without applying
Examples:
# Update all guides (skips overridden)
project-guides update
# Update specific guides
project-guides update --guides project-guide.md --guides debug-guide.md
# Force update all (creates backups for overridden)
project-guides update --force
# Preview changes
project-guides update --dry-run
override
Mark a guide as customized to prevent automatic updates.
project-guides override GUIDE_NAME REASON
Arguments:
GUIDE_NAME- Name of the guide fileREASON- Why this guide is customized
Example:
project-guides override debug-guide.md "Custom debugging workflow with project-specific tools"
unoverride
Remove override status from a guide.
project-guides unoverride GUIDE_NAME
Example:
project-guides unoverride debug-guide.md
overrides
List all overridden guides.
project-guides overrides
Output:
Overridden guides:
debug-guide.md
Reason: Custom debugging workflow with project-specific tools
Since: v0.12.0
Last updated: 2026-03-03
Configuration
The .project-guides.yml file stores project configuration:
version: "1.0"
installed_version: "0.15.0"
target_dir: "docs/guides"
overrides:
debug-guide.md:
reason: "Custom debugging workflow"
version: "0.12.0"
last_updated: "2026-03-03"
Fields:
version- Config file format versioninstalled_version- Version of guides currently installedtarget_dir- Where guides are storedoverrides- Map of customized guides with metadata
Available Guides
Core Guides
project-guide.md- Complete workflow for starting new projects with LLMsbest-practices-guide.md- Development best practices and lessons learneddebug-guide.md- Debugging strategies and troubleshooting workflows
Documentation Guides
documentation-setup-guide.md- Setting up MkDocs documentationREADME.md- README template and guidelines
Developer Guides
developer/codecov-setup-guide.md- Code coverage with Codecovdeveloper/github-actions-guide.md- CI/CD with GitHub Actions
Troubleshooting
"Configuration file not found"
Problem: Running commands outside a project-guides initialized directory.
Solution:
project-guides init
"Guide already exists"
Problem: Trying to initialize when guides already exist.
Solution:
# Use --force to overwrite
project-guides init --force
# Or manually remove existing guides
rm -rf docs/guides .project-guides.yml
project-guides init
"Permission denied"
Problem: Insufficient permissions to write files.
Solution:
# Check directory permissions
ls -la docs/
# Fix permissions if needed
chmod -R u+w docs/
Updates not appearing
Problem: Guides show as current but you expect updates.
Solution:
# Check if guide is overridden
project-guides overrides
# Force update if needed
project-guides update --force
Development
Setup
# Clone repository
git clone https://github.com/pointmatic/project-guides.git
cd project-guides
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
Running Tests
# Run all tests
pytest tests/
# Run with coverage
pytest tests/ --cov=project_guides --cov-report=term-missing
# Run specific test file
pytest tests/test_cli.py -v
Code Quality
# Linting
ruff check project_guides/ tests/
# Type checking
mypy project_guides/
# Format code
ruff format project_guides/ tests/
Contributing
Contributions are welcome! Please follow these guidelines:
- Fork the repository and create a feature branch
- Write tests for new functionality
- Ensure all tests pass and maintain coverage above 80%
- Run linting and type checks before submitting
- Write clear commit messages referencing issues when applicable
- Submit a pull request with a description of changes
Development Workflow
# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and test
pytest tests/
ruff check .
mypy project_guides/
# Commit and push
git commit -m "Add feature: description"
git push origin feature/your-feature-name
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Copyright (c) 2026 Pointmatic
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Full Documentation
Made with ❤️ for LLM-assisted development workflows
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 project_guides-1.0.0.tar.gz.
File metadata
- Download URL: project_guides-1.0.0.tar.gz
- Upload date:
- Size: 63.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01883c0664c30ddd2094b3e3236ebbfcb6728b3de26c6b4e6a91b2ca1950b53a
|
|
| MD5 |
67f7be06fa096e116b11125dffec69cc
|
|
| BLAKE2b-256 |
2cbbd0c0afa47575b6458592e456fedee0a60e871d66b550dd45527793b7822e
|
Provenance
The following attestation bundles were made for project_guides-1.0.0.tar.gz:
Publisher:
publish.yml on pointmatic/project-guides
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
project_guides-1.0.0.tar.gz -
Subject digest:
01883c0664c30ddd2094b3e3236ebbfcb6728b3de26c6b4e6a91b2ca1950b53a - Sigstore transparency entry: 1020457738
- Sigstore integration time:
-
Permalink:
pointmatic/project-guides@e846527635be89868f30025ee315820a44b71f37 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/pointmatic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e846527635be89868f30025ee315820a44b71f37 -
Trigger Event:
release
-
Statement type:
File details
Details for the file project_guides-1.0.0-py3-none-any.whl.
File metadata
- Download URL: project_guides-1.0.0-py3-none-any.whl
- Upload date:
- Size: 54.7 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 |
fd5edddce45529b9375b6f66106be4b1dbd4dd30ebfc50acfeb30840f485296c
|
|
| MD5 |
24b889b306c74e5a8c0a8ea0f1c059d5
|
|
| BLAKE2b-256 |
3818ce781a929621700656173c6ab2d7d6dbe98c71893f1e7cb9a860c2ce5027
|
Provenance
The following attestation bundles were made for project_guides-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on pointmatic/project-guides
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
project_guides-1.0.0-py3-none-any.whl -
Subject digest:
fd5edddce45529b9375b6f66106be4b1dbd4dd30ebfc50acfeb30840f485296c - Sigstore transparency entry: 1020457817
- Sigstore integration time:
-
Permalink:
pointmatic/project-guides@e846527635be89868f30025ee315820a44b71f37 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/pointmatic
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e846527635be89868f30025ee315820a44b71f37 -
Trigger Event:
release
-
Statement type: