intent-cli-python 0.5.0__tar.gz → 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. intent_cli_python-0.6.0/PKG-INFO +141 -0
  2. intent_cli_python-0.6.0/README.md +117 -0
  3. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/pyproject.toml +1 -1
  4. intent_cli_python-0.6.0/src/intent_cli/__init__.py +1 -0
  5. intent_cli_python-0.6.0/src/intent_cli/__main__.py +3 -0
  6. intent_cli_python-0.6.0/src/intent_cli/cli.py +493 -0
  7. intent_cli_python-0.6.0/src/intent_cli/output.py +23 -0
  8. intent_cli_python-0.6.0/src/intent_cli/store.py +90 -0
  9. intent_cli_python-0.6.0/src/intent_cli_python.egg-info/PKG-INFO +141 -0
  10. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/src/intent_cli_python.egg-info/SOURCES.txt +2 -7
  11. intent_cli_python-0.5.0/PKG-INFO +0 -155
  12. intent_cli_python-0.5.0/README.md +0 -131
  13. intent_cli_python-0.5.0/src/intent_cli/__init__.py +0 -29
  14. intent_cli_python-0.5.0/src/intent_cli/__main__.py +0 -5
  15. intent_cli_python-0.5.0/src/intent_cli/cli.py +0 -162
  16. intent_cli_python-0.5.0/src/intent_cli/constants.py +0 -19
  17. intent_cli_python-0.5.0/src/intent_cli/core.py +0 -443
  18. intent_cli_python-0.5.0/src/intent_cli/errors.py +0 -33
  19. intent_cli_python-0.5.0/src/intent_cli/git.py +0 -83
  20. intent_cli_python-0.5.0/src/intent_cli/helpers.py +0 -25
  21. intent_cli_python-0.5.0/src/intent_cli/store.py +0 -102
  22. intent_cli_python-0.5.0/src/intent_cli_python.egg-info/PKG-INFO +0 -155
  23. intent_cli_python-0.5.0/tests/test_cli.py +0 -347
  24. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/LICENSE +0 -0
  25. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/setup.cfg +0 -0
  26. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/src/intent_cli_python.egg-info/dependency_links.txt +0 -0
  27. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/src/intent_cli_python.egg-info/entry_points.txt +0 -0
  28. {intent_cli_python-0.5.0 → intent_cli_python-0.6.0}/src/intent_cli_python.egg-info/top_level.txt +0 -0
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.4
2
+ Name: intent-cli-python
3
+ Version: 0.6.0
4
+ Summary: Semantic history for agent-driven development. Records what you did and why.
5
+ Author: Zeng Deyang
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/dozybot001/Intent
8
+ Project-URL: Repository, https://github.com/dozybot001/Intent
9
+ Keywords: agent,git,semantic-history,intent,developer-tools
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Console
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Software Development :: Version Control :: Git
20
+ Requires-Python: >=3.9
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Dynamic: license-file
24
+
25
+ # Intent CLI
26
+
27
+ [中文](README.CN.md) | English
28
+
29
+ Semantic history for agent-driven development. Records **what you did** and **why**.
30
+
31
+ Intent CLI gives AI agents a structured way to track goals, interactions, and decisions across sessions. Instead of losing context when a conversation ends, agents persist their understanding into three simple objects stored alongside your code.
32
+
33
+ ## Three objects, one graph
34
+
35
+ | Object | What it captures |
36
+ |---|---|
37
+ | **Intent** | A goal the agent identified from your query |
38
+ | **Snap** | One agent interaction — query, summary, feedback |
39
+ | **Decision** | A long-lived decision that spans multiple intents |
40
+
41
+ Objects link automatically: creating an intent attaches all active decisions; creating a decision attaches all active intents. Relationships are always bidirectional and append-only.
42
+
43
+ ## Install
44
+
45
+ ```bash
46
+ pip install intent-cli-python
47
+ ```
48
+
49
+ Requires Python 3.9+ and Git.
50
+
51
+ ## Quick start
52
+
53
+ ```bash
54
+ # Initialize in any git repo
55
+ itt init
56
+
57
+ # Agent identifies a new intent from user query
58
+ itt intent create "Fix the login timeout bug" \
59
+ --query "why does login timeout after 5s?"
60
+
61
+ # Record what the agent did
62
+ itt snap create "Raise timeout to 30s" \
63
+ --intent intent-001 \
64
+ --query "login timeout still fails on slow networks" \
65
+ --summary "Updated timeout config and ran the login test"
66
+
67
+ # Capture a long-lived decision
68
+ itt decision create "Timeout must stay configurable" \
69
+ --rationale "Different deployments have different latency envelopes"
70
+
71
+ # See the full object graph
72
+ itt inspect
73
+ ```
74
+
75
+ ## Commands
76
+
77
+ ### Global
78
+
79
+ | Command | Description |
80
+ |---|---|
81
+ | `itt version` | Print version |
82
+ | `itt init` | Initialize `.intent/` in current git repo |
83
+ | `itt inspect` | Show the live object graph snapshot |
84
+
85
+ ### Intent
86
+
87
+ | Command | Description |
88
+ |---|---|
89
+ | `itt intent create TITLE --query Q` | Create a new intent |
90
+ | `itt intent list [--status S]` | List intents |
91
+ | `itt intent show ID` | Show intent details |
92
+ | `itt intent activate ID` | Resume a suspended intent |
93
+ | `itt intent suspend ID` | Suspend an active intent |
94
+ | `itt intent done ID` | Mark intent as completed |
95
+
96
+ ### Snap
97
+
98
+ | Command | Description |
99
+ |---|---|
100
+ | `itt snap create TITLE --intent ID` | Record an interaction snapshot |
101
+ | `itt snap list [--intent ID] [--status S]` | List snaps |
102
+ | `itt snap show ID` | Show snap details |
103
+ | `itt snap feedback ID TEXT` | Set or overwrite feedback |
104
+ | `itt snap revert ID` | Mark a snap as reverted |
105
+
106
+ ### Decision
107
+
108
+ | Command | Description |
109
+ |---|---|
110
+ | `itt decision create TITLE --rationale R` | Create a long-lived decision |
111
+ | `itt decision list [--status S]` | List decisions |
112
+ | `itt decision show ID` | Show decision details |
113
+ | `itt decision deprecate ID` | Deprecate a decision |
114
+ | `itt decision attach ID --intent ID` | Manually link a decision to an intent |
115
+
116
+ ## Design principles
117
+
118
+ - **Agent-first**: designed to be called by AI agents, not typed by hand
119
+ - **Append-only history**: content fields are immutable after creation; correct mistakes in new snaps, don't rewrite old ones
120
+ - **Relationships only grow**: no detach — deprecate a decision instead
121
+ - **All output is JSON**: machine-readable by default
122
+ - **Zero dependencies**: pure Python, stdlib only
123
+
124
+ ## Storage
125
+
126
+ All data lives in `.intent/` at your git repo root:
127
+
128
+ ```
129
+ .intent/
130
+ config.json
131
+ intents/
132
+ intent-001.json
133
+ snaps/
134
+ snap-001.json
135
+ decisions/
136
+ decision-001.json
137
+ ```
138
+
139
+ ## License
140
+
141
+ MIT
@@ -0,0 +1,117 @@
1
+ # Intent CLI
2
+
3
+ [中文](README.CN.md) | English
4
+
5
+ Semantic history for agent-driven development. Records **what you did** and **why**.
6
+
7
+ Intent CLI gives AI agents a structured way to track goals, interactions, and decisions across sessions. Instead of losing context when a conversation ends, agents persist their understanding into three simple objects stored alongside your code.
8
+
9
+ ## Three objects, one graph
10
+
11
+ | Object | What it captures |
12
+ |---|---|
13
+ | **Intent** | A goal the agent identified from your query |
14
+ | **Snap** | One agent interaction — query, summary, feedback |
15
+ | **Decision** | A long-lived decision that spans multiple intents |
16
+
17
+ Objects link automatically: creating an intent attaches all active decisions; creating a decision attaches all active intents. Relationships are always bidirectional and append-only.
18
+
19
+ ## Install
20
+
21
+ ```bash
22
+ pip install intent-cli-python
23
+ ```
24
+
25
+ Requires Python 3.9+ and Git.
26
+
27
+ ## Quick start
28
+
29
+ ```bash
30
+ # Initialize in any git repo
31
+ itt init
32
+
33
+ # Agent identifies a new intent from user query
34
+ itt intent create "Fix the login timeout bug" \
35
+ --query "why does login timeout after 5s?"
36
+
37
+ # Record what the agent did
38
+ itt snap create "Raise timeout to 30s" \
39
+ --intent intent-001 \
40
+ --query "login timeout still fails on slow networks" \
41
+ --summary "Updated timeout config and ran the login test"
42
+
43
+ # Capture a long-lived decision
44
+ itt decision create "Timeout must stay configurable" \
45
+ --rationale "Different deployments have different latency envelopes"
46
+
47
+ # See the full object graph
48
+ itt inspect
49
+ ```
50
+
51
+ ## Commands
52
+
53
+ ### Global
54
+
55
+ | Command | Description |
56
+ |---|---|
57
+ | `itt version` | Print version |
58
+ | `itt init` | Initialize `.intent/` in current git repo |
59
+ | `itt inspect` | Show the live object graph snapshot |
60
+
61
+ ### Intent
62
+
63
+ | Command | Description |
64
+ |---|---|
65
+ | `itt intent create TITLE --query Q` | Create a new intent |
66
+ | `itt intent list [--status S]` | List intents |
67
+ | `itt intent show ID` | Show intent details |
68
+ | `itt intent activate ID` | Resume a suspended intent |
69
+ | `itt intent suspend ID` | Suspend an active intent |
70
+ | `itt intent done ID` | Mark intent as completed |
71
+
72
+ ### Snap
73
+
74
+ | Command | Description |
75
+ |---|---|
76
+ | `itt snap create TITLE --intent ID` | Record an interaction snapshot |
77
+ | `itt snap list [--intent ID] [--status S]` | List snaps |
78
+ | `itt snap show ID` | Show snap details |
79
+ | `itt snap feedback ID TEXT` | Set or overwrite feedback |
80
+ | `itt snap revert ID` | Mark a snap as reverted |
81
+
82
+ ### Decision
83
+
84
+ | Command | Description |
85
+ |---|---|
86
+ | `itt decision create TITLE --rationale R` | Create a long-lived decision |
87
+ | `itt decision list [--status S]` | List decisions |
88
+ | `itt decision show ID` | Show decision details |
89
+ | `itt decision deprecate ID` | Deprecate a decision |
90
+ | `itt decision attach ID --intent ID` | Manually link a decision to an intent |
91
+
92
+ ## Design principles
93
+
94
+ - **Agent-first**: designed to be called by AI agents, not typed by hand
95
+ - **Append-only history**: content fields are immutable after creation; correct mistakes in new snaps, don't rewrite old ones
96
+ - **Relationships only grow**: no detach — deprecate a decision instead
97
+ - **All output is JSON**: machine-readable by default
98
+ - **Zero dependencies**: pure Python, stdlib only
99
+
100
+ ## Storage
101
+
102
+ All data lives in `.intent/` at your git repo root:
103
+
104
+ ```
105
+ .intent/
106
+ config.json
107
+ intents/
108
+ intent-001.json
109
+ snaps/
110
+ snap-001.json
111
+ decisions/
112
+ decision-001.json
113
+ ```
114
+
115
+ ## License
116
+
117
+ MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "intent-cli-python"
7
- version = "0.5.0"
7
+ version = "0.6.0"
8
8
  description = "Semantic history for agent-driven development. Records what you did and why."
9
9
  requires-python = ">=3.9"
10
10
  readme = "README.md"
@@ -0,0 +1 @@
1
+ """Intent CLI — semantic history for agent-driven development."""
@@ -0,0 +1,3 @@
1
+ from intent_cli.cli import main
2
+
3
+ main()