The repository or configuration that created this release differ from a previous release. View details.
This project has been archived by its maintainers, and is no longer receiving any updates.
This package has been renamed to
project-guide.Install the new package:
pip install project-guideThis
project-guidespackage is deprecated and will no longer receive updates. Installing it will automatically pull inproject-guideas a dependency.
A Python CLI tool that installs and synchronizes battle-tested LLM workflow guides across projects, supporting version tracking and project-specific overrides to keep documentation consistent while preserving customizations.
Why project-guides?
Install project-guides in any repository with pip install project-guides, run project-guides init, then tell your LLM to "Read docs/guides/project-guide.md and start." The guide walks the LLM through planning documents, breaking work into stories, and implementing each story step-by-step. You just say "proceed" after each step. The developer stays in charge—guiding features, flow, and taste—while the LLM handles the typing.
This is "HITLoop" (human-in-the-loop) development: the developer directs, the LLM executes. The pace is "flaming agile"—an entire production-ready backend can be completed in 6-12 hours.
Key Features:
- 📚 Battle-Tested Workflows - Crafted guides from concept through production release
- 🔄 Version Management - Track and update guides across projects automatically
- ✏️ Project-Specific Overrides - Lock customized guides to prevent overwrites
- 🔒 Automatic Backups - Preserve customizations when forcing updates
- 🎨 CLI Interface - Seven intuitive commands for all operations
- 🧪 Well Tested - 82% test coverage with 59 comprehensive tests
- ⚡ Zero Configuration - Works with sensible defaults out of the box
- 🌐 Cross-Platform - Runs on macOS, Linux, and Windows with Python 3.11+
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 v1.1.2 (installed: v1.1.2)
Guides status:
✓ project-guide.md v1.1.2 (current)
✓ best-practices-guide.md v1.1.2 (current)
✓ debug-guide.md v1.1.2 (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. Modified guides prompt "Backup and overwrite?" — a .bak file is always created before any overwrite. Use --force to skip the prompt and overwrite all modified guides automatically (backups still created).
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
purge
Remove all project-guides files from the current project.
project-guides purge [OPTIONS]
Options:
--force- Skip confirmation prompt
Examples:
# Purge with confirmation prompt
project-guides purge
# Purge without confirmation
project-guides purge --force
What gets removed:
.project-guides.ymlconfiguration file- Guides directory (e.g.,
docs/guides/) and all contents
Warning: This action cannot be undone. Use with caution.
Configuration
The .project-guides.yml file stores project configuration:
version: "1.0"
installed_version: "1.1.2"
target_dir: "docs/guides"
overrides:
debug-guide.md:
reason: "Custom debugging workflow with project-specific tools"
locked_version: "1.0.0"
last_updated: "2026-03-09"
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/
Documentation Development
The project uses MkDocs with Material theme for documentation.
# Install documentation dependencies
pip install -e ".[docs]"
# Preview documentation locally (with live reload)
mkdocs serve
# Open http://127.0.0.1:8000
# Build documentation
mkdocs build
# Build with strict mode (fails on warnings)
mkdocs build --strict
Directory Structure:
docs/site/- Documentation source files (markdown)site/- Built documentation (generated, gitignored)mkdocs.yml- MkDocs configuration.github/workflows/deploy-docs.yml- Automated deployment to GitHub Pages
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.
Documentation
📚 Full documentation is available at pointmatic.github.io/project-guides
- Getting Started - Installation and quick start
- User Guide - Commands, workflows, and override management
- Developer Guide - Contributing and development setup
- Workflow Guides - Bundled LLM workflow guides in your project
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: GitHub Pages
Made with ❤️ for LLM-assisted development workflows
Metadata
Release files for project-guides 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Change of provenance
The repository or configuration that created these release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| project_guides-1.3.2.tar.gz | 1.3 MB | With provenance | Details for project_guides-1.3.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| project_guides-1.3.2-py3-none-any.whl | Python 3 | none | any | Details for project_guides-1.3.2-py3-none-any.whl |
Total release size: 1.4 MB
Release files / project_guides-1.3.2.tar.gz
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | project_guides-1.3.2.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a700343be5c8585349924eb0906097e26bf6004032aa4786638dde065d7605df
|
|
BLAKE2b-256 checksum How to use checksums |
c9599a5db2e3232d46343d7942bbdcad50e3bb2c1eda031320332595e5591166
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Apr 5, 2026.
Transparency logRelease files / project_guides-1.3.2-py3-none-any.whl
Change of provenance
This file belongs to a release with changed provenance: the repository or configuration that created the release files differ from that of a previous release.
We recommend inspecting the repository and configuration before proceeding. View details.
| Download URL | project_guides-1.3.2-py3-none-any.whl |
|---|---|
| Size | 60.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
14cdc046082f1e1c5dffd0e0e5261082b3f0574322d23a55cffc2deefa3cc034
|
|
BLAKE2b-256 checksum How to use checksums |
f42afcf63ae9f262b8592f18db6651c62fd3d65e6f37c4cc8be22f1f7c3ae2c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Apr 5, 2026.
Transparency logSecurity for project-guides 1.3.2
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.
Change of provenance
The repository and configuration that created this release differ from a previous release.
While this could reflect a routine change by the project maintainers, it may also indicate that the release files have been compromised.
Repository
- Removed 1.3.1 github.com/pointmatic/project-guides
- Added 1.3.2 github.com/pointmatic/project-guide
Attestation for project_guides-1.3.2.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 Apr 5, 2026.
Transparency logA 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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.