CLI for the Alfred document management system
Project description
alfred
A minimal, self-consistent document management system built on PDCA + Johnny Decimal.
Quick Start
pip install fx-alfred
cd my-project
af guide
Layer System
Alfred uses a 3-layer document model:
| Layer | Location | Description |
|---|---|---|
| PKG | Bundled with fx-alfred | COR reference documents — read-only, always available |
| USR | ~/.alfred/ |
Your personal documents, shared across all projects |
| PRJ | ./rules/ |
Project-specific documents |
For LLMs: How This System Works
1. Read these files first
af read COR-0001 # glossary — all terms and abbreviations
af list # index of all available documents across all layers
2. File naming format
<PREFIX>-<ACID>-<TYP>-<Title>.md
- PREFIX:
COR(universal) or 3-letter project code (ALF,BLA,CLR) - ACID: 4-digit Johnny Decimal number (Area + Category + Item)
- TYP: 3-letter type code (SOP, ADR, CHG, INC, PLN, PRP, REF)
3. PDCA areas (meta layer)
| Area | Phase | What it covers |
|---|---|---|
| 10xx | Do | Create and read documents |
| 11xx | Plan | Decision records and change requests |
| 12xx | Check | Session retrospective |
| 13xx | Act | Update, deprecate, maintain index |
| 14xx | Constraint | Universal rules (atomicity, language policy) |
| 15xx | Development | TDD, GitHub issues, git branch naming |
4. Key rules
- COR-1400: Every SOP does exactly one thing (atomic)
- COR-1401: All documents in English
- COR-1402: Always declare which SOP is being followed before starting a task
5. To create a new document
Follow COR-1001 (Create Document) for naming and numbering, then the type-specific SOP.
Supported types: sop, adr, chg, inc, pln, prp, ref
# Specify an exact ACID
af create sop --prefix ALF --acid 2100 --title "My SOP"
# Auto-assign the next available ACID in an area
af create adr --prefix ALF --area 21 --title "Use PostgreSQL"
# Write to user layer (~/.alfred/)
af create sop --prefix USR --acid 3000 --title "My Rule" --layer user
# Write to a subdirectory of the user layer
af create sop --prefix USR --acid 3000 --title "My Rule" --layer user --subdir my-project
The index is updated automatically after each create (project layer only). To update it manually, run af index.
6. To update an existing document
Use af update to modify metadata fields, append Change History, or rename documents.
# Update a field
af update FXA-2107 --status "Completed"
# Append a Change History entry
af update FXA-2107 --history "Implementation done" --by "Claude"
# Rename a document (changes filename + H1 + index)
af update COR-1600 --title "Workflow Direct Review Loop" -y
# Preview changes without writing
af update FXA-2107 --status "Done" --dry-run
# Combine multiple updates
af update FXA-2107 --status "Completed" --history "All steps done" --field "Priority" "High"
Only PRJ and USR layer documents are writable. PKG layer documents are read-only.
Installing into another project
pip install fx-alfred
af guide
Then create project documents with af create and view them with af list.
Version control
This project uses git.
git log # view history
git status # current changes
git push # push to GitHub
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 fx_alfred-0.6.0.tar.gz.
File metadata
- Download URL: fx_alfred-0.6.0.tar.gz
- Upload date:
- Size: 70.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a145feed559139129053b1055cf2fc1218baefc9e7bcef49a0f6a4ca8e71744
|
|
| MD5 |
7bab62c203fa86d541abdaa827bddf4b
|
|
| BLAKE2b-256 |
6bc0d8748e35cd0d3f208fc33ea92085bfffa7079ceaf35692e69b7e15fb9733
|
Provenance
The following attestation bundles were made for fx_alfred-0.6.0.tar.gz:
Publisher:
publish.yml on frankyxhl/alfred
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fx_alfred-0.6.0.tar.gz -
Subject digest:
5a145feed559139129053b1055cf2fc1218baefc9e7bcef49a0f6a4ca8e71744 - Sigstore transparency entry: 1137902711
- Sigstore integration time:
-
Permalink:
frankyxhl/alfred@512a323077182f4eb75d10c164cd302161dacda1 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/frankyxhl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@512a323077182f4eb75d10c164cd302161dacda1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file fx_alfred-0.6.0-py3-none-any.whl.
File metadata
- Download URL: fx_alfred-0.6.0-py3-none-any.whl
- Upload date:
- Size: 87.2 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 |
9b15bf0dcf1e60781145b23aaa45b11b4c653e8dc652126684ef6f3c6a7ae1a6
|
|
| MD5 |
9cb96e4b0068c6932f21d840f9a46c78
|
|
| BLAKE2b-256 |
3995e2878448c94ff51159125cd1eb5f1955f3bb37f46b28f63703ef7a264d33
|
Provenance
The following attestation bundles were made for fx_alfred-0.6.0-py3-none-any.whl:
Publisher:
publish.yml on frankyxhl/alfred
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fx_alfred-0.6.0-py3-none-any.whl -
Subject digest:
9b15bf0dcf1e60781145b23aaa45b11b4c653e8dc652126684ef6f3c6a7ae1a6 - Sigstore transparency entry: 1137902776
- Sigstore integration time:
-
Permalink:
frankyxhl/alfred@512a323077182f4eb75d10c164cd302161dacda1 -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/frankyxhl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@512a323077182f4eb75d10c164cd302161dacda1 -
Trigger Event:
release
-
Statement type: