@vladimir-ks/aigile 0.2.4 → 0.2.6

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.
package/README.md CHANGED
@@ -1,28 +1,45 @@
1
1
  # AIGILE
2
2
 
3
- > JIRA-compatible Agile project management CLI for AI-assisted development
3
+ > AI-first agile system for autonomous product development and project management
4
4
 
5
- AIGILE is a command-line tool that brings agile project management directly to your repository. Designed for AI-assisted development workflows, it tracks epics, stories, tasks, and bugs with a file-first architecture.
5
+ AIGILE provides structured context management for AI agents, enabling them to execute any project task correctly. Whether you're building software, running a business, conducting research, or managing personal projects—AIGILE gives AI agents the full understanding they need through agile artifacts (initiatives, epics, stories, tasks).
6
6
 
7
- ## Relationship to CCM
7
+ ## Why AIGILE?
8
8
 
9
- AIGILE is an **optional companion** to [Claude Context Manager](https://github.com/vladimir-ks/claude-context-manager):
9
+ **The problem**: AI agents struggle without structured context. They need to understand *what* needs to be done, *why*, *how*, and the *priorities*.
10
10
 
11
- | Tool | Purpose |
12
- |------|---------|
13
- | **CCM** | Manages Claude Code artifacts (skills, commands, agents) |
14
- | **AIGILE** | Manages agile work items (epics, stories, tasks, bugs) |
11
+ **The solution**: Agile artifacts aren't just for tracking work—they provide optimal structured context for AI agents to understand projects completely. One human plus AI agents equals a full team.
12
+
13
+ ## Use Cases
15
14
 
16
- Both tools work independently or together. Use CCM for AI context engineering, use AIGILE for project management.
15
+ | Domain | Examples |
16
+ |--------|----------|
17
+ | **Software Development** | Build apps, APIs, libraries with AI agents writing code |
18
+ | **Product Management** | Define roadmaps, track features, manage releases |
19
+ | **Content & Marketing** | Plan campaigns, track content creation, manage launches |
20
+ | **Research Projects** | Structure investigations, track findings, manage deliverables |
21
+ | **Personal Projects** | Organize goals, track progress, manage any endeavor |
22
+ | **Business Operations** | SOPs, process documentation, operational tracking |
17
23
 
18
24
  ## Features
19
25
 
26
+ - **AI-First Design**: Built for AI agents, not human typing convenience
27
+ - **Session Tracking**: Verified work sessions with file coverage tracking
20
28
  - **File-First Architecture**: Documents with YAML frontmatter are the source of truth
21
29
  - **Automatic Sync**: File watcher daemon keeps database in sync with your files
22
- - **JIRA-Compatible**: Familiar concepts (Epics, Stories, Tasks, Bugs, Sprints)
23
- - **AI-Optimized**: Designed for Claude Code and other AI assistants
30
+ - **Agile Entities**: Initiatives, Epics, Stories, Tasks, Bugs, Sprints
24
31
  - **Three Init Profiles**: `full-repo`, `subrepo`, `module` for different project structures
25
- - **Frontmatter Metadata**: Status, version, modules, dependencies tracking
32
+
33
+ ## Relationship to CCM
34
+
35
+ AIGILE is an **optional companion** to [Claude Context Manager](https://github.com/vladimir-ks/claude-context-manager):
36
+
37
+ | Tool | Purpose |
38
+ |------|---------|
39
+ | **CCM** | Manages Claude Code artifacts (skills, commands, agents) |
40
+ | **AIGILE** | Manages agile work items and project context |
41
+
42
+ Both tools work independently or together.
26
43
 
27
44
  ## Installation
28
45
 
@@ -970,12 +970,32 @@ function getFilesWithQualityIssues(sessionId) {
970
970
  );
971
971
  }
972
972
  function getUntaggedFiles(projectId, sessionId, options = {}) {
973
- if (options.assignedOnly && options.chunkId) {
974
- const chunk = getChunk(options.chunkId);
975
- if (!chunk || !chunk.assigned_files) {
973
+ if (options.assignedOnly) {
974
+ let assignedFiles = [];
975
+ if (options.chunkId) {
976
+ const chunk = getChunk(options.chunkId);
977
+ if (chunk?.assigned_files) {
978
+ try {
979
+ assignedFiles = JSON.parse(chunk.assigned_files);
980
+ } catch {
981
+ }
982
+ }
983
+ } else {
984
+ const chunks = getSessionChunks(sessionId);
985
+ for (const chunk of chunks) {
986
+ if (chunk.assigned_files) {
987
+ try {
988
+ const files = JSON.parse(chunk.assigned_files);
989
+ assignedFiles.push(...files);
990
+ } catch {
991
+ }
992
+ }
993
+ }
994
+ assignedFiles = [...new Set(assignedFiles)];
995
+ }
996
+ if (assignedFiles.length === 0) {
976
997
  return [];
977
998
  }
978
- const assignedFiles = JSON.parse(chunk.assigned_files);
979
999
  return queryAll(
980
1000
  `SELECT d.path, d.id as document_id
981
1001
  FROM documents d
@@ -1166,7 +1186,7 @@ var init_connection = __esm({
1166
1186
  import { Command as Command23 } from "commander";
1167
1187
 
1168
1188
  // src/index.ts
1169
- var VERSION = true ? "0.2.4" : "0.0.0-dev";
1189
+ var VERSION = true ? "0.2.6" : "0.0.0-dev";
1170
1190
 
1171
1191
  // src/bin/aigile.ts
1172
1192
  init_connection();