intent-cli-python 0.5.0__tar.gz → 1.0.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 (29) hide show
  1. intent_cli_python-1.0.0/PKG-INFO +167 -0
  2. intent_cli_python-1.0.0/README.md +143 -0
  3. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/pyproject.toml +2 -2
  4. intent_cli_python-1.0.0/src/intent_cli/__init__.py +1 -0
  5. intent_cli_python-1.0.0/src/intent_cli/__main__.py +3 -0
  6. intent_cli_python-1.0.0/src/intent_cli/cli.py +497 -0
  7. intent_cli_python-1.0.0/src/intent_cli/output.py +23 -0
  8. intent_cli_python-1.0.0/src/intent_cli/store.py +90 -0
  9. intent_cli_python-1.0.0/src/intent_cli_python.egg-info/PKG-INFO +167 -0
  10. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/src/intent_cli_python.egg-info/SOURCES.txt +1 -5
  11. intent_cli_python-1.0.0/tests/test_cli.py +304 -0
  12. intent_cli_python-0.5.0/PKG-INFO +0 -155
  13. intent_cli_python-0.5.0/README.md +0 -131
  14. intent_cli_python-0.5.0/src/intent_cli/__init__.py +0 -29
  15. intent_cli_python-0.5.0/src/intent_cli/__main__.py +0 -5
  16. intent_cli_python-0.5.0/src/intent_cli/cli.py +0 -162
  17. intent_cli_python-0.5.0/src/intent_cli/constants.py +0 -19
  18. intent_cli_python-0.5.0/src/intent_cli/core.py +0 -443
  19. intent_cli_python-0.5.0/src/intent_cli/errors.py +0 -33
  20. intent_cli_python-0.5.0/src/intent_cli/git.py +0 -83
  21. intent_cli_python-0.5.0/src/intent_cli/helpers.py +0 -25
  22. intent_cli_python-0.5.0/src/intent_cli/store.py +0 -102
  23. intent_cli_python-0.5.0/src/intent_cli_python.egg-info/PKG-INFO +0 -155
  24. intent_cli_python-0.5.0/tests/test_cli.py +0 -347
  25. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/LICENSE +0 -0
  26. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/setup.cfg +0 -0
  27. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/src/intent_cli_python.egg-info/dependency_links.txt +0 -0
  28. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/src/intent_cli_python.egg-info/entry_points.txt +0 -0
  29. {intent_cli_python-0.5.0 → intent_cli_python-1.0.0}/src/intent_cli_python.egg-info/top_level.txt +0 -0
@@ -0,0 +1,167 @@
1
+ Metadata-Version: 2.4
2
+ Name: intent-cli-python
3
+ Version: 1.0.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 :: 5 - Production/Stable
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
+ ### How decisions are created
44
+
45
+ Decisions require human involvement. Two paths:
46
+
47
+ - **Explicit**: include `decision-[text]` (or `决定-[text]`) in your query and the agent creates it directly. E.g. "decision-all API responses use envelope format"
48
+ - **Agent-proposed**: the agent spots a potential long-term constraint in conversation and asks you to confirm before recording it
49
+
50
+ ## Install
51
+
52
+ ```bash
53
+ # Clone the repository
54
+ git clone https://github.com/dozybot001/Intent.git
55
+
56
+ # Install the CLI (pipx recommended)
57
+ pipx install intent-cli-python
58
+
59
+ # Or using pip
60
+ pip install intent-cli-python
61
+ ```
62
+
63
+ Requires Python 3.9+ and Git.
64
+
65
+ ### Add the Claude Code skill
66
+
67
+ ```bash
68
+ npx skills add dozybot001/Intent
69
+ ```
70
+
71
+ ## Quick start
72
+
73
+ ```bash
74
+ # Initialize in any git repo
75
+ itt init
76
+
77
+ # Agent identifies a new intent from user query
78
+ itt intent create "Fix the login timeout bug" \
79
+ --query "why does login timeout after 5s?"
80
+
81
+ # Record what the agent did
82
+ itt snap create "Raise timeout to 30s" \
83
+ --intent intent-001 \
84
+ --query "login timeout still fails on slow networks" \
85
+ --summary "Updated timeout config and ran the login test"
86
+
87
+ # Capture a long-lived decision
88
+ itt decision create "Timeout must stay configurable" \
89
+ --rationale "Different deployments have different latency envelopes"
90
+
91
+ # See the full object graph
92
+ itt inspect
93
+ ```
94
+
95
+ ## Commands
96
+
97
+ ### Global
98
+
99
+ | Command | Description |
100
+ |---|---|
101
+ | `itt version` | Print version |
102
+ | `itt init` | Initialize `.intent/` in current git repo |
103
+ | `itt inspect` | Show the live object graph snapshot |
104
+
105
+ ### Intent
106
+
107
+ | Command | Description |
108
+ |---|---|
109
+ | `itt intent create TITLE --query Q` | Create a new intent |
110
+ | `itt intent list [--status S]` | List intents |
111
+ | `itt intent show ID` | Show intent details |
112
+ | `itt intent activate ID` | Resume a suspended intent |
113
+ | `itt intent suspend ID` | Suspend an active intent |
114
+ | `itt intent done ID` | Mark intent as completed |
115
+
116
+ ### Snap
117
+
118
+ | Command | Description |
119
+ |---|---|
120
+ | `itt snap create TITLE --intent ID` | Record an interaction snapshot |
121
+ | `itt snap list [--intent ID] [--status S]` | List snaps |
122
+ | `itt snap show ID` | Show snap details |
123
+ | `itt snap feedback ID TEXT` | Set or overwrite feedback |
124
+ | `itt snap revert ID` | Mark a snap as reverted |
125
+
126
+ ### Decision
127
+
128
+ | Command | Description |
129
+ |---|---|
130
+ | `itt decision create TITLE --rationale R` | Create a long-lived decision |
131
+ | `itt decision list [--status S]` | List decisions |
132
+ | `itt decision show ID` | Show decision details |
133
+ | `itt decision deprecate ID` | Deprecate a decision |
134
+ | `itt decision attach ID --intent ID` | Manually link a decision to an intent |
135
+
136
+ ## Design principles
137
+
138
+ - **Agent-first**: designed to be called by AI agents, not typed by hand
139
+ - **Append-only history**: content fields are immutable after creation; correct mistakes in new snaps, don't rewrite old ones
140
+ - **Relationships only grow**: no detach — deprecate a decision instead
141
+ - **All output is JSON**: machine-readable by default
142
+ - **Zero dependencies**: pure Python, stdlib only
143
+
144
+ ## Storage
145
+
146
+ All data lives in `.intent/` at your git repo root:
147
+
148
+ ```
149
+ .intent/
150
+ config.json
151
+ intents/
152
+ intent-001.json
153
+ snaps/
154
+ snap-001.json
155
+ decisions/
156
+ decision-001.json
157
+ ```
158
+
159
+ ## Docs
160
+
161
+ - [Vision](docs/EN/vision.md) — why semantic history matters. **If this project interests you, start here.**
162
+ - [CLI Design](docs/EN/cli.md) — object model, commands, JSON contract
163
+ - [Roadmap](docs/EN/roadmap.md) — phase plan
164
+
165
+ ## License
166
+
167
+ MIT
@@ -0,0 +1,143 @@
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
+ ### How decisions are created
20
+
21
+ Decisions require human involvement. Two paths:
22
+
23
+ - **Explicit**: include `decision-[text]` (or `决定-[text]`) in your query and the agent creates it directly. E.g. "decision-all API responses use envelope format"
24
+ - **Agent-proposed**: the agent spots a potential long-term constraint in conversation and asks you to confirm before recording it
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ # Clone the repository
30
+ git clone https://github.com/dozybot001/Intent.git
31
+
32
+ # Install the CLI (pipx recommended)
33
+ pipx install intent-cli-python
34
+
35
+ # Or using pip
36
+ pip install intent-cli-python
37
+ ```
38
+
39
+ Requires Python 3.9+ and Git.
40
+
41
+ ### Add the Claude Code skill
42
+
43
+ ```bash
44
+ npx skills add dozybot001/Intent
45
+ ```
46
+
47
+ ## Quick start
48
+
49
+ ```bash
50
+ # Initialize in any git repo
51
+ itt init
52
+
53
+ # Agent identifies a new intent from user query
54
+ itt intent create "Fix the login timeout bug" \
55
+ --query "why does login timeout after 5s?"
56
+
57
+ # Record what the agent did
58
+ itt snap create "Raise timeout to 30s" \
59
+ --intent intent-001 \
60
+ --query "login timeout still fails on slow networks" \
61
+ --summary "Updated timeout config and ran the login test"
62
+
63
+ # Capture a long-lived decision
64
+ itt decision create "Timeout must stay configurable" \
65
+ --rationale "Different deployments have different latency envelopes"
66
+
67
+ # See the full object graph
68
+ itt inspect
69
+ ```
70
+
71
+ ## Commands
72
+
73
+ ### Global
74
+
75
+ | Command | Description |
76
+ |---|---|
77
+ | `itt version` | Print version |
78
+ | `itt init` | Initialize `.intent/` in current git repo |
79
+ | `itt inspect` | Show the live object graph snapshot |
80
+
81
+ ### Intent
82
+
83
+ | Command | Description |
84
+ |---|---|
85
+ | `itt intent create TITLE --query Q` | Create a new intent |
86
+ | `itt intent list [--status S]` | List intents |
87
+ | `itt intent show ID` | Show intent details |
88
+ | `itt intent activate ID` | Resume a suspended intent |
89
+ | `itt intent suspend ID` | Suspend an active intent |
90
+ | `itt intent done ID` | Mark intent as completed |
91
+
92
+ ### Snap
93
+
94
+ | Command | Description |
95
+ |---|---|
96
+ | `itt snap create TITLE --intent ID` | Record an interaction snapshot |
97
+ | `itt snap list [--intent ID] [--status S]` | List snaps |
98
+ | `itt snap show ID` | Show snap details |
99
+ | `itt snap feedback ID TEXT` | Set or overwrite feedback |
100
+ | `itt snap revert ID` | Mark a snap as reverted |
101
+
102
+ ### Decision
103
+
104
+ | Command | Description |
105
+ |---|---|
106
+ | `itt decision create TITLE --rationale R` | Create a long-lived decision |
107
+ | `itt decision list [--status S]` | List decisions |
108
+ | `itt decision show ID` | Show decision details |
109
+ | `itt decision deprecate ID` | Deprecate a decision |
110
+ | `itt decision attach ID --intent ID` | Manually link a decision to an intent |
111
+
112
+ ## Design principles
113
+
114
+ - **Agent-first**: designed to be called by AI agents, not typed by hand
115
+ - **Append-only history**: content fields are immutable after creation; correct mistakes in new snaps, don't rewrite old ones
116
+ - **Relationships only grow**: no detach — deprecate a decision instead
117
+ - **All output is JSON**: machine-readable by default
118
+ - **Zero dependencies**: pure Python, stdlib only
119
+
120
+ ## Storage
121
+
122
+ All data lives in `.intent/` at your git repo root:
123
+
124
+ ```
125
+ .intent/
126
+ config.json
127
+ intents/
128
+ intent-001.json
129
+ snaps/
130
+ snap-001.json
131
+ decisions/
132
+ decision-001.json
133
+ ```
134
+
135
+ ## Docs
136
+
137
+ - [Vision](docs/EN/vision.md) — why semantic history matters. **If this project interests you, start here.**
138
+ - [CLI Design](docs/EN/cli.md) — object model, commands, JSON contract
139
+ - [Roadmap](docs/EN/roadmap.md) — phase plan
140
+
141
+ ## License
142
+
143
+ 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 = "1.0.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"
@@ -14,7 +14,7 @@ authors = [
14
14
  ]
15
15
  keywords = ["agent", "git", "semantic-history", "intent", "developer-tools"]
16
16
  classifiers = [
17
- "Development Status :: 4 - Beta",
17
+ "Development Status :: 5 - Production/Stable",
18
18
  "Environment :: Console",
19
19
  "Intended Audience :: Developers",
20
20
  "Programming Language :: Python :: 3",
@@ -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()